About Site Map Submit Contact Us Log in | Create an account
Create an account Log In
Average Rating
User Rating:
Visitors Rating:
My rating:

Write review
  • Last update: 5 years ago
  • Total downloads: 62
  • Operating system: Linux, Mac OS X, Win All, BSD, Solaris
  • Publisher: Trevor Agus
See full specifications

scripts default iconRealtime audio input (Scripts) Publisher's description

I explored different options for realtime audio input (see below for a summary) before having to settling for this option.

I explored different options for realtime audio input (see below for a summary) before having to settling for this option. Unfortunately this solution requires Windows and the Data Acquisition toolbox. I hope to be able to report at some point that this function has been superceded by something more generally useful, so please let me know if you come across something better.

Other possibilities:
PortAudio (http://www.portaudio.com/): seem to be the workhorse of audio input, but it's in C++, not Matlab code

PlayRec.m (http://www.playrec.co.uk/): An adaptation of PortAudio for Matlab. However, support seems to have ended around 2008, and I know several people who have spent many hours failing to compile it for more recent operating systems and/or Matlab versions.

PsychPortAudio (http://docs.psychtoolbox.org/PsychPortAudio): This may be the best option, although it requires PsychToolbox, which can be challenging to install itself. Can anyone confirm that PsychPortAudio works for realtime audio input?

In the meantime, the detailed function of tgrabaudio.m is described in its help section, copied below for convenience:

1/ Initialisation (mandatory)
tgrabaudio('start', [fs, [maxduration]])

fs = the sample-rate [default = 44100]
maxduration = the maximum delay (in seconds) that is considered an
acceptable build-up of audio samples. If this buffer is
exceeded during auditory capture, an error will be generated.

2/ Audio capture

N = the number of samples to be "grabbed".

wave = by default, stereo input [hard-wired: search the code for "addchannel" to adapt for mono input]

3/ Tidying up (mandatory)


This clears the persistent variables and stops the background audio
input. Careful, if this step is omitted, Matlab is likely to crash or
behave strangely the next time tgrabaudio is run. NB if a program that
uses tgrabaudio crashes before calling tgrabaudio('stop'), don't forget
to call tgrabaudio('stop') as soon as possible (either manually or using
Matlab's try...catch keywords).


The following code shows how to use tgrabaudio to input sound in
realtime. For demo purposes, the audio is gathered over a finite period,
reconstructed into a single variable, and then simply played back.
However, the same construction could be used for continuous processing of
audio input.

>> framesamples=160; fs=16000; totalframes=100;
>> wave=zeros(framesamples*totalframes,2);
>> pointer=1;
>> tgrabaudio('start',fs);
>> for ii=1:totalframes
>> framedata=tgrabaudio(framesamples);
>> %do realtime processing here
>> wave(pointer:pointer+framesamples-1,:)=framedata;
>> pointer=pointer+framesamples;
>> end;
>> sound(wave,fs)

System Requirements:

MATLAB 7.5 (R2007b)
Program Release Status: New Release
Program Install Support: Install and Uninstall

Realtime audio input (Scripts) Tags:

Click on a tag to find related softwares

Is Realtime audio input (Scripts) your software?

Manage your software

Most Popular

scripts default icon ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation 1.1
ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation contain several functions for digital modulation simulation
scripts default icon Simulink Communication Labs 1.1
Simulink Communication Labs allows you to learn communication systems in greater depth.
scripts default icon M-QAM modulation and demodulation 1.1
M-QAM modulation and demodulation is the QAM modulation and demodulation tech.
scripts default icon LZW Compression/Decompression 1.1
LZW Compression/Decompression - Updated LZW compressor and decompressor with reasonable performance
scripts default icon InSPIRE utility to plot a 2D displacement field (Scripts) 1.0
This program plots the deformation field (displace vectors) contained in vector.txt.