The current Matlab-code can be used for real-time audio and image processing. Fixed-length segments of audio data are recorded from soundcard's input and an image is also captured in each block. In particular, the provided code does the following:
- Repetively records audio segments of fixed length.
- Plots the (applitude) values of the current audio segment.
- Plots the spectogram of the current audio segment.
- Calculates the mean and std values of the Zero Crossing Rate for each segment, and plots those statistics for the last five segments.
- Calculates and plots the average spectral distance between the current and the previous audio segment. This is actually a simple measure of change detection in the audio information.
- Captures and plots an image for each block (frame).
- Plots an estimation of the motion between the current and the previous frames.
- Plots the average absolute difference between two successive frames.
- Calculates and displays the ratio of the processing time (for the feature calculation and the plotting processes) by the real signal data.
- realTimeMic.m This is the main m-file. It reads blocks (of fixed length) of audio information and it captures one image (from an attached camera) per block.
- zcr.m This function computes the Zero Crossing Rate of an audio signal in a short-term basis (i.e. one value of the ZCR function is calculated per frame).
In order to execute the demo, simply call the realTimeMic function with the following arguments:
- duration: (in seconds) the duration of each audio segment (and the time interval between two succcesive images taken from cam).
- nBlocks: number of blocks to be recorded
useVideo: 1 for recording video and 0 otherwise
For example write:
in the Matlab workspace. This will run the demo for 100 segments of 1.0 second each, and it will use the camera (it has to be attached) for capturing images.
* * * * * * * * * * * * * * * * * * * *
More advanced audio analysis methods can be found in the MATLAB AUDIO ANALYSIS LIBRARY (http://www.mathworks.com/matlabcentral/fileexchange/45831-matlab-audio-analysis-library) which is part of the book INTRODUCTION TO AUDIO ANALYSIS: A MATLAB APPROACH (http://www.amazon.com/Introduction-Audio-Analysis-MATLAB%C2%AE-Approach/dp/0080993885)
* * * * * * * * * * * * * * * * * * * *
Theodoros Giannakopoulos (2021). Real Time Microphone and Camera data acquisition and audio-video processing (https://www.mathworks.com/matlabcentral/fileexchange/18596-real-time-microphone-and-camera-data-acquisition-and-audio-video-processing), MATLAB Central File Exchange. Retrieved .
Error using realTimeMic (line 34)
Function 'analoginput' unsupported. Use the session-based
Hi dear I am trying to process real time/run time signal using sound card. Have any one any material please share...thanks
??? Error using ==> analoginput.getdata
Timeout in GETDATA.
Error in ==> realTimeMic at 171
x = getdata(ai, duration * Fs);
Sorry, 64-bits OS does not support 'analoginput'. Here can be found how to fix this, for the ones who are interested:
??? Undefined function or method 'analoginput' for input arguments of type 'char'.
Error in ==> realTimeMic at 34
ai = analoginput('winsound');
Hi i am not good with matlab. What if i just want to record video from a CCD camera. How do i disable the, sound recording?
are you rating your owm files?
Thank you for your interest. I am not sure I understand what you ask. The audio input is ploted in line 111, and the soundcard is initialized in line 34. The current audio block is read in line 171, using command getdata().
with refrence to --->Real Time Microphone and Camera data acquisition and audio-video processing.
i am intrested in the real time audio plote formed in 1,1 subplot of your example can you help me out in giving the code?
You probably don't have a web-camera connected to your computer. If this is the case, please run the realTimeMic() function, with the 3rd argument equal to zero (no camera data is used).
??? Error using ==> videoinput.videoinput at 233
There are no devices installed for the specified ADAPTORNAME. See IMAQHWINFO.
Error in ==> realTimeMic at 45
vid = videoinput('winvideo', 1);
Inspired: Realtime audio input
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!