How can I simultaneously play and record from the same audio device?
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Dominika Behounek
el 16 de Ag. de 2017
Respondida: Sharan Paramasivam Murugesan
el 24 de Ag. de 2017
Hi guys,
I am trying to do a super simple operation of playing the signal and recording it at the same time through my RME audio interface. I have the DSP toolbox so I wanted to use the audioPlayerRecorder object to do that however my output is just a bunch of zeros with couple of non-zero values at the very end of the vector. I have been trying to figure out what would seem to be super simple operation for couple of days now and I just cannot figure it out. Please, any advice would be a lifesaver! My code so far is below
clear all
close all
%%DEFINE PARAMETERS FOR EXTERNAL SOUND CARD
internaldata.driver = 'ASIO';
internaldata.audio_device = 'ASIO Fireface USB';
internaldata.framesize = 30*2^13;
internaldata.samplerate = 48000;
internaldata.tfe_FFTLength = 512;
internaldata.spectral_averages = 1;
internaldata.input_channel_map = 5;
internaldata.output_channel_map = 5;
internaldata.deviceReader = audioDeviceReader('Driver',internaldata.driver,'SampleRate',internaldata.samplerate,...
'Device',internaldata.audio_device,'ChannelMappingSource','Property','ChannelMapping',internaldata.input_channel_map);
internaldata.deviceWriter = audioDeviceWriter('Driver',internaldata.driver,'SampleRate',internaldata.samplerate,...
'Device',internaldata.audio_device,'ChannelMappingSource','Property','ChannelMapping',internaldata.output_channel_map);
input = step(dsp.ColoredNoise('Color','pink','SamplesPerFrame',internaldata.framesize,'NumChannels',1));
aPR = audioPlayerRecorder('SampleRate',internaldata.samplerate,'PlayerChannelMapping',internaldata.output_channel_map,...
'RecorderChannelMapping',internaldata.input_channel_map);
output=aPR(input);
figure
subplot 211
plot(input)
subplot 212
plot(output)
release(internaldata.deviceWriter)
release(internaldata.deviceReader)
0 comentarios
Respuestas (1)
Sharan Paramasivam Murugesan
el 24 de Ag. de 2017
1. Is your audio device capable of simultaneous playback and recording (Full duplex sound card)?
2. Following is an example on how to perform simultaneous playback and recording: https://www.mathworks.com/help/audio/ref/audioplayerrecorder-class.html#examples
Please take a look at the above example - especially the frame based loop. If you want to specify channel mapping manually, the section on "Specify non-default channel mapping" might help.
0 comentarios
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!