Who?

iStudio project was started by Legoless (Dal Rupnik) as a part of subject Computer processing of signals and images on Faculty of Electrical Engineering and Computer Science located in Maribor, Slovenia. Theoretical background and expertise in signal processing is provided by Aleš Holobar PhD. and Damjan Zazula PhD. The project was first published in May 2012 and is now developed and maintained as a Codeplex repository. Other contributors to the project are listed on Home tab and are regularly updated.

Why?

The digital signal processing applications are mainly very expensive and need much experience to work with. There are many open source projects and libraries that are very powerful, but are not used and known enough. Other open source projects lack many important features and their user interface is usually old and outdated. The iStudio project aims to fill this gap. It’s main purpose is to use many different open source libraries and projects and connect them together into an useful application. This requires stable and extensible architecture and powerful API.

The project will remain free and open source. But we aim to make the project available to proprietary companies. Released under LGPL makes it possible for proprietary companies to develop their own modules under any license.

What?

iStudio project provides a stable, customizable platform to experiment, use and work on digital signals. Many users use proprietary tools like MATLAB to test their algorithms and techniques. It is a very powerful tool, but it is expensive and uses custom syntax, which requires additional hours spent studying the documentation. The interpreter is sometimes to slow to work with real time signal processing.

iStudio requires basic programming knowledge of C# or VB.NET, a widely known programming language implemented by Microsoft with .NET and Mono, that has compilers available on many platforms. Your algorithm can be quickly embedded in iStudio application, without needing to program custom user interface. The algorithm can be redistributed over iStudio Codeplex fork pages and tested by other users and developers of iStudio.

Assembly structure

Core Application

Core application represents the main iStudio application, user interface and API’s. It is divided into several assemblies and it does not run work with any of them not present. The files with de

  • iStudio.exe (user interface)
  • iStudio.Engine.dll (default audio engine implementation)
  • iStudio.Exception.dll (error handling)
  • iStudio.Format.dll (format extension)
  • iStudio.Library.dll (reusable functions)
  • iStudio.Loader.dll (application loader)
  • iStudio.Manager.dll (module and setting manager)
  • iStudio.Structure.dll (application programming interface)

In addition to this, there are three third party assemblies required for the application to run:

  • AvalonDock.dll (version 1.3 for docking windows)
  • AvalonDock.Themes.dll (themes for AvalonDock)
  • NAudio.dll (default audio engine uses this library)

Automatic installation provides an user friendly wizard to install those assemblies into user chosen folder and create shortcuts and prepare uninstall routines. It also allows user to select which modules to install, when they choose custom installation step. Application can be run by double clicking the desktop or start menu shortcut.

Manual installation requires unzipping the archive into a directory. It does not matter where the directory resides, but it must contain all required core application assemblies. Application is run by double clicking the main executable file (iStudio.exe).

Modules

Modules represent extensible parts of iStudio platform. They are installed and removed by copying the DLL files into core application root directory. Module assemblies must be in same directory as core application. Each module has their own assembly. There are 3 types of modules:

  • Format modules (starting with iStudio.Format.<Module Name>.dll)
    Contain routines for importing and exporting to different audio formats.
    • iStudio.Format.NAudioFormat.dll (formats supported by NAudio library)
  • Editor modules (starting with iStudio.Editor.<Module Name>.dll)
    Contain tools for track editing and rendering.
    • iStudio.Editor.SelectTool.dll (selecting tracks and regions in track editor)
    • iStudio.Editor.EditTool.dll (cut, copy, paste tracks, delete in track editor)
    • iStudio.Editor.BasicRenderer.dll (main rendering of the tracks)
  • General modules (starting with iStudio.Module.<Module Name>.dll)
    Contain application extensions, algorithms, effects and more.
    • iStudio.Module.Basic.dll (track amplification, normalization, resample)
    • iStudio.Module.Effect.dll (chorus, flanger, fade effect)
    • iStudio.Module.Equalizer.dll (frequency equalizer)
    • iStudio.Module.PhaseVocoder.dll (speed and pitch changing)

Additional third party modules can be found on Home tab or by application module manager, which also allows downloading, automatic updating and removing of modules.

Updates

iStudio includes an automatic updating system, which automatically displays a dialog box when new update is available. In settings you may choose whether to update to unstable releases. Application checks for updates on each application run.

Last edited Jun 27, 2012 at 12:29 PM by Legoless, version 3

Comments

No comments yet.