Difference between revisions of "uos"

From Free Pascal wiki
Jump to navigationJump to search
Line 48: Line 48:
 
----
 
----
  
 +
The best way to show how uos works is to look at the examples in uos package.
 +
All is included, you only have to compile the demos and run it...
  
 
Here some examples how to use uos :
 
Here some examples how to use uos :

Revision as of 20:17, 26 February 2014

uos (United OpenLib of Sound).


uoslogo.png

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.

http://fredvs.github.io/uos/

http://github.com/fredvs/uos/



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/



The best way to show how uos works is to look at the examples in uos package. All is included, you only have to compile the demos and run it...

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...)