de en sk

NetSound

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


This software is one of the components of a virtual music studio. It is a join between audio programs.

Musical instruments supporting NetSound:

Utilities supporting NetSound:


About the project

NetSound is a unified way of communicating between computer audio modules (e.g. a virtual musical instrument, a virtual keyboard, a MID-editor, a MID-player etc.). Communication is done over a network or within a single computer. Audio modules can send MIDI data, sound data, various commands, settings and any other data to each other. Connection consists of at least one NetSound sender and one NetSound receiver. For example, the sender can be a virtual keyboard that sends MIDI commands. For example, the receiver can be a virtual musical instrument that receives MIDI commands and creates real-time audio and plays it through the sound card.
Another example may be a MID-player that sends MIDI commands, the receiver receives these commands, renders audio data and sends audio data back to the MID-player. Finally, MID-player can save these audio data in a WAV-file. Several senders can be connected to a receiver. In this case, it is possible (and directly supported) for the given sender to reserve the virtual instrument, use it, and then release it for the other senders (or even for the standard MIDI input).

A data packet that is sent between the sender and the receiver (in both directions), can contain MIDI data, audio data, any other data, and a list of requests to be returned.
MIDI data - in one packet are MIDI commands with the specified time when they are to be played. It is possible to send the whole song in a single packet.
Audio data are standard PCM audio data, at any sample rate, number of bits per sample and number of channels (mono/stereo/...). Audio data can also be in the form of floating-point samples. Directly supported is the number of bits 8, 16, 24, 32 and floating-point.
Any other data is a list of blocks of data in byte form. A special case is the list of properties (various commands, settings or parameters).
List of requests Is a list of what is to be returned from the receiver back to the sender. For example, a sender may request a certain amount of audio data.

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