Difference between revisions of "uos"
Line 58: | Line 58: | ||
− | (For uoslib : uos_LoadLibs(uoslibFilename,PortAudioFileName, SndFileFileName, Mpg123FileName, SoundTouchFileName);) | + | (For uoslib : uos_LoadLibs(uoslibFilename, PortAudioFileName, SndFileFileName, Mpg123FileName, SoundTouchFileName);) |
-Let's play a sound file... | -Let's play a sound file... |
Revision as of 14:01, 26 February 2014
uos (United OpenLib of Sound).
uos unifies the best open-source audio libraries.
With uos you can:
. Listen to mp3, ogg, wav, flac,... audio files.
. With 16, 32 or float 32 bit resolution.
. Record all types of input into file.
. Add DSP effects and filters, however many you want and record it.
. Listen to multiple inputs and outputs.
uos uses the SoundTouch, PortAudio, SndFile and Mpg123 audio libraries.
Included in the package: Examples and binary libraries for Linux 32/64, Windows 32/64, Mac OSX 32.
uoslib is the Universal Library version of uos unit. That library is accessible for Pascal and all other languages (C, Java, ...)
Included in the package: Examples and binary libraries for Linux 32/64, Windows 32/64, Mac OSX 32.
http://fredvs.github.io/uoslib/
http://github.com/fredvs/uoslib/
Here some examples how to use uos :
First : add uos in your uses section. (for uoslib add uoslib_h)
Then load libraries with:
uos_LoadLib(PortAudioFileName, SndFileFileName, Mpg123FileName, SoundTouchFileName);
(For uoslib : uos_LoadLibs(uoslibFilename, PortAudioFileName, SndFileFileName, Mpg123FileName, SoundTouchFileName);)
-Let's play a sound file...
Create the player :
uos_CreatePlayer(0); /// you may create how many players you want, from 0 to to what you computer can do... uos_AddIntoDevOut(0); //// Add Output with default parameters uos_AddFromFile(0,'MySong.mp3'); //// Input from audio file
And lets play it...
uos_Play(0); //// Play the song...
-Let's play a sound file with some dsp effect (only for uos, in future for uoslib too):
First create the player :
uos_CreatePlayer(0); /// you may create how many players you want, from 0 to to what you computer can do... uos_AddIntoDevOut(0); //// Add Output with default parameters uos_AddFromFile(0,'MySong.mp3'); //// Input from audio file uos_AddDSPIn(0,1); //// Add how many dsp you want uos_AddDSPIn(0,2);
And lets play it...
uos_Play(0); //// Play the song with DSP effect...
-Listen to your mic into your loudspeakers (for uoslib too) :
Create the player:
uos_CreatePlayer(0); /// you may create how many players you want, from 0 to what you computer can do... uos_AddIntoDevOut(0) ; //// Add Output with default parameters uos_AddFromDevIn(0) ; //// Input from IN Device
And lets play it...
uos_Play(0); //// Listen to your mic in your loudspeakers...
-Now, ear your mic, listen to a mp3, apply some effects and record the mic into wav file at same time:
Create the player :
uos_CreatePlayer(0); /// you may create how many players you want, from 0 to ... uos_AddIntoDevOut(0) ; //// Output into OUT Device uos_AddIntoFile(0,'Myrecord.wav') ; //// Output into OUT Device uos_AddFromDevIn(0) ; ; //// Input from IN Device uos_AddDSPIn(0,1); //// Add how many dsp you want uos_AddDSPIn(0,2) uos_CreatePlayer(1); uos_AddFromFile(1,'MySong.mp3') //// the background audio file uos_AddIntoDevOut(1) ; //// Output into OUT Device;
And lets play it...
uos_Play(0); //// Listen your mic with DSP effects and record it ... uos_Play(1); //// Listen to mp3 together with recording
Here are the basic uos procedures :
Each procedure has his equivalent with arguments for custom parameters...
Quote
Init Procedures : uos_LoadLib; (uos_LoadLibs for uoslib) //// Load dynamic libraries uos_UnLoadLib;
Output Procedures: uos_AddIntoDevOut(); //// Output into OUT Device uos_AddIntoFile(); //// Output into Wav File
Input Procedures: uos_AddFromDevIn(); //// Input from IN device uos_AddFromFile(); //// Input from Audio File uos_InputLength(); //// Lenght of Input in samples uos_InputPosition(); //// Get position uos_Seek(); //// Change position
Player Procedures: uos_Play; //// Start playing uos_RePlay; //// Resume playing after pause uos_Stop; //// Stop playing and free thread uos_Pause; //// Pause playing DSP Procedures : uos_AddDSPIn() //// DSP procedure for input uos_AddDSPOut() //// DSP procedure for output uos_SetDSPin() //// Set DSP In uos_SetDSPout() //// Set DSP out uos_SetDSPVolumeIn //// Set Volume uos_AddFilterIn //// Add filer uos_AddPlugin //// Add pluggin
And much more other procedures/functions (see in uos.pas...)