MATLAB Answers

How can i play audio from a bluetooth speaker and record the audio using my laptops microphone ?

18 views (last 30 days)
Victor Dunira
Victor Dunira on 9 Aug 2020
Answered: Urmila Rajpurohith on 22 Oct 2020
I’ve used the MATLAB code from the webpage “Play and record simultaneously”, i’m having issues with the channel for recording from my laptop, the audio plays fine from my loudspeaker using ASIO Driver.
Victor Dunira
Victor Dunira on 10 Aug 2020
clear all
close all
% Create a signal to play and record
fs =44100; % sampling frequency
fs2 =44100; % sampling frequency
time = 10; % signal duration
N = time * fs; % number of samples
x = randn(1,N); % Gaussian white noise
filename = 'Whitenoise.wav';
audiowrite(filename,x,fs2); %%writes audio and saves as wav file
% [x,fs] = audioread('Whitenoise.wav');
% sound(x,fs);
fileReader = dsp.AudioFileReader('Whitenoise.wav', ...
'SamplesPerFrame',2048); %%Reads the audio samples
fileWriter = dsp.AudioFileWriter('WhitenoisePlaybackRecorded.wav', ...
'SampleRate',fs2); %%Writes audio samples to audio file
aPR = audioPlayerRecorder('SampleRate',fs2);
while ~isDone(fileReader) %% while reads the audio samples
audioToPlay = fileReader();
[audioRecorded,nUnderruns,nOverruns] = aPR(audioToPlay);
if nUnderruns > 0
fprintf('Audio player queue was underrun by %d samples.\n',nUnderruns);
if nOverruns > 0
fprintf('Audio recorder queue was overrun by %d samples.\n',nOverruns);
[D2,fs2] = audioread('WhitenoisePlaybackRecorded.wav');
h = ifft(fft(D2)./fft(x'));
Code was taken from MATLAB :
I downloaded ASIO driver from online in order for this code to work, as the code only works for a Full-Duplex device. The audio is being played and recorded through my laptop.

Sign in to comment.



Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!