DSPRelated.com
Forums

API to capture audio from computer, libspeex API, PortAudio API ...?

Started by Unknown February 5, 2015
I want to extract audio from a computer, pc or Mac to start with (maybe later on Smartphones, tablets).  I may want to have start/stop recording button as well.

There seems a lot of APIs - libspeex API, PortAudio API ... Xuggle API...?  

I am wondering what might be an optimal choice - better performance - trouble free implementation? 

Currently the preference is to extract in wav format. I am using a Ubuntu VM on a Win7 for dev.


Hi,

portaudio is nice as it's crossplatform. That's what I'd use (did so the
last time on a Raspberry Pi, even though the sound is nothing to write home
about..)	 

_____________________________		
Posted through www.DSPRelated.com
Thanks - when you say "...even though the sound is nothing to write home..." - what do you really mean?

Portaudio audio quality is as good as the underlying platform.
But the Raspberry Pi's audio output isn't exactly Hifi...

	 

_____________________________		
Posted through www.DSPRelated.com
On 06/02/2015 06:50, mnentwig wrote:
> Portaudio audio quality is as good as the underlying platform. > But the Raspberry Pi's audio output isn't exactly Hifi... >
The on-board line out is bad (iffy built-in codec), but sound over the HDMI interface is clean. It also understands USB-compliant audio devices, and then the quality is simply a matter of what device you use. Richard Dobson
I actually need to send the audio to a server.
Will PortAudio still the right choice?

I see things like:
- https://code.google.com/p/wami-recorder/
- getUserAudio() - the codes associated with getUserAudio(), where will they be physically located - see link below:
http://stackoverflow.com/questions/25523289/sending-a-mediastream-to-host-server-with-webrtc-after-it-is-captured-by-getuser

WAMI seems very relevant but their did not play back on my pc (worked just once).

Other alternatives:
http://stackoverflow.com/search?q=https%3A%2F%2Fcode.google.com%2Fp%2Fwami-recorder%2F

Given that I need the audio sent to server, which one is easy to implement? It does not need to have the full functionality - I want to get it done asap.
On Fri, 6 Feb 2015 12:42:43 -0800 (PST), speech2020@gmail.com wrote:

>I actually need to send the audio to a server. >Will PortAudio still the right choice? > >I see things like: >- https://code.google.com/p/wami-recorder/ >- getUserAudio() - the codes associated with getUserAudio(), where will they be physically located - see link below: >http://stackoverflow.com/questions/25523289/sending-a-mediastream-to-host-server-with-webrtc-after-it-is-captured-by-getuser > >WAMI seems very relevant but their did not play back on my pc (worked just once). > >Other alternatives: >http://stackoverflow.com/search?q=https%3A%2F%2Fcode.google.com%2Fp%2Fwami-recorder%2F > >Given that I need the audio sent to server, which one is easy to implement? It does not need to have the full functionality - I want to get it done asap.
I would use something like ZeroMQ to stream to a server. Mark
On Saturday, February 7, 2015 at 12:22:22 PM UTC-8, Mac Decman wrote:
> On Fri, 6 Feb 2015 12:42:43 -0800 (PST): > > >I actually need to send the audio to a server. > >Will PortAudio still the right choice? > > > >I see things like: > >- https://code.google.com/p/wami-recorder/ > >- getUserAudio() - the codes associated with getUserAudio(), where will they be physically located - see link below: > >http://stackoverflow.com/questions/25523289/sending-a-mediastream-to-host-server-with-webrtc-after-it-is-captured-by-getuser > > > >WAMI seems very relevant but their did not play back on my pc (worked just once). > > > >Other alternatives: > >http://stackoverflow.com/search?q=https%3A%2F%2Fcode.google.com%2Fp%2Fwami-recorder%2F > > > >Given that I need the audio sent to server, which one is easy to implement? It does not need to have the full functionality - I want to get it done asap. > > I would use something like ZeroMQ to stream to a server. > > Mark
Mark, how would you use it?
On Saturday, February 7, 2015 at 12:22:22 PM UTC-8, Mac Decman wrote:
> On Fri, 6 Feb 2015 12:42:43 -0800 (PST),wrote: > > >I actually need to send the audio to a server. > >Will PortAudio still the right choice? > > > >I see things like: > >- https://code.google.com/p/wami-recorder/ > >- getUserAudio() - the codes associated with getUserAudio(), where will they be physically located - see link below: > >http://stackoverflow.com/questions/25523289/sending-a-mediastream-to-host-server-with-webrtc-after-it-is-captured-by-getuser > > > >WAMI seems very relevant but their did not play back on my pc (worked just once). > > > >Other alternatives: > >http://stackoverflow.com/search?q=https%3A%2F%2Fcode.google.com%2Fp%2Fwami-recorder%2F > > > >Given that I need the audio sent to server, which one is easy to implement? It does not need to have the full functionality - I want to get it done asap. > > I would use something like ZeroMQ to stream to a server. > > Mark
Mark - My audio files are just under 1 min each - there are two such files. Is ZeroMQ still relevant - it won't be streaming is it?
On Mon, 9 Feb 2015 23:29:46 -0800 (PST), speech2020@gmail.com wrote:

>On Saturday, February 7, 2015 at 12:22:22 PM UTC-8, Mac Decman wrote: >> On Fri, 6 Feb 2015 12:42:43 -0800 (PST),wrote: >> >> >I actually need to send the audio to a server. >> >Will PortAudio still the right choice? >> > >> >I see things like: >> >- https://code.google.com/p/wami-recorder/ >> >- getUserAudio() - the codes associated with getUserAudio(), where will they be physically located - see link below: >> >http://stackoverflow.com/questions/25523289/sending-a-mediastream-to-host-server-with-webrtc-after-it-is-captured-by-getuser >> > >> >WAMI seems very relevant but their did not play back on my pc (worked just once). >> > >> >Other alternatives: >> >http://stackoverflow.com/search?q=https%3A%2F%2Fcode.google.com%2Fp%2Fwami-recorder%2F >> > >> >Given that I need the audio sent to server, which one is easy to implement? It does not need to have the full functionality - I want to get it done asap. >> >> I would use something like ZeroMQ to stream to a server. >> >> Mark > >Mark - My audio files are just under 1 min each - there are two such files. >Is ZeroMQ still relevant - it won't be streaming is it?
ZeroMQ is a cross platform low latency sockets replacement. There is a lot of information on their website to check out if you want more info. I use ZeroMQ for a very simple purpose. I have an embedded computer and DAQ device mounted at a remote location. This system is connected to the host PC via dedicated Ethernet connection. I stream measurement data from the DAQ embedded PC to the remote host for further analysis and post processing. I choose ZeroMQ because, it had good documentation, it is cross platform, and it is easy to implement. There are plenty of other options, including just using the host OS own networking stack API. Anyway, have fun Mark