de en sk
Home > Hobby Projects and Research > Virtual Music Studio

Virtual Music Studio

© Ing. Radovan Konečný - radkon, 2009-2013

Virtual studio Virtual keyboard for NetSound MID-file player via NetSound MID-editor Interactive music system NetSound Sampler Virtual analog synthesizer Struck instrument simulator Hammond organ simulator
(you can click on some of the components in the picture)

A virtual music studio consists of parts that may not be visible - e.g. computer programs that can handle the resources of creating sound and music. There may also be a connection with the real world - e.g. real MIDI keyboard or audio output (e.g. sound card). Unlike Steinberg's Virtual Studio Technology (VST), parts of my virtual studio are independent applications that do not have to be run on a single computer and can even run under different operating systems.

I designed the concept of a virtual music studio to be similar to the real world. Such a virtual studio consists of musical instruments (or sound modifiers) and so-called users of musical instruments (players on such instrument and devices that receive and process audio data). The musical instrument receives MIDI commands and generates audio data that can be either played through the sound card of the computer, or be sent back to the user of the instrument that can further process or save the audio data. The user-instrument connection is realized using the NetSound system I designed and made for this purpose. It is actually a client-server network connection (the user is a client type, the musical instrument is a server type). Connecting via NetSound also allows to connect the user to the instrument on different computers. Any virtual musical instrument that is compatible with NetSound can be used in this virtual music studio. Likewise, any user of a musical instrument that is compatible with NetSound can be used. No other elements (programs) are required to connect the user to the instrument - see picture:


This picture shows an example of networking two specific applications. On the left is a MID-file player that transmits MIDI commands (loaded from a MID-file) via NetSound, receives audio data and then processes and stores them in a WAV-file. On the right is a musical instrument - the Sampler, which receives MIDI commands, creates audio data and sends them back to the MID-file player. Such rendering of audio data runs in "non-real time", i.e. as fast as possible.

The special user of the musical instrument is the real world - i.e. MIDI input and audio output - in this case, it is not necessary to run any other application in addition to the application of the musical instrument - see picture:


All of my virtual musical instruments support receiving of MIDI commands from the real world and sending the audio data to the real world. Some also let you play from a MID-file or store audio data in a WAV-file (this does not need NetSound). Some (e.g. Sampler) also allow you to store received MIDI commands in a MID-file.

Another example of using a virtual studio is in the following figure:


This is a connection between virtual keyboard and virtual musical instrument. The Virtual keyboard is an application that transmits MIDI commands in real-time via NetSound - by pressing the virtual keys by a mouse. The musical instrument receivess these MIDI commands, creates audio data and plays them (also in real-time) through the sound card.

In my virtual music studio, you can also make sure that one musical instrument can be used by only one user at a time, and for others, the instrument must be unavailable for this time. This is done by reserving the musical instrument and the NetSound system directly supports it. Multiple users can be connected to a musical instrument, even more can play at one time, but if one user wants the instrument for themselves, the instrument will be reserved for this user, and the instrument will ignore the other users. This is especially advantageous where individual users of a musical instrument do not know about themselves - e.g. a virtual musical instrument running on a powerful server, and users (clients) who can render audio data.

MIDI commands can be stored in the form of a MID-file (note: the MID-file does not contain audio data). Audio data can be saved as a WAV-file and can be played back or processed by other programs (e.g. RadkonWave audio editor).

Musical instruments supporting NetSound:

Utilities supporting NetSound:

Other parts of the recording studio:

Copyright © 2009-2024 Ing. Radovan Konečný - radkon. All rights reserved.