How to use recordblocking for an infinite interval?

4 views (last 30 days)
I need to record an audio until I stop the recording (using a button or something), do you know how to do it?

Answers (1)

Geoff Hayes
Geoff Hayes on 28 Oct 2021
@Marie Kate Palau I don't think you want to use recordblocking since that would prevent you from stopping the recording after an unknown period of time. Try using record instead. I'm assuming that you have a GUI to start and stop the recording?
  4 Comments
Marie Kate Palau
Marie Kate Palau on 28 Oct 2021
I'm not sure if I'm using it the way it should be, but it doesn't work as I expected, don't know if can you please check it just to notice what I'm doing wrong
clearvars;
myRecorder = audiorecorder(1000,16,1); % Crea el elemento de MATLAB para grabar audio
disp ("Hable ahora");
record(myRecorder);
% Graba durante 2 segundos
disp("Deje de hablar");
stop(myRecorder);
play(myRecorder);
audioArray=getaudiodata(myRecorder);
% Pone los datos de la grabación en un vector de MATLAB
plot(audioArray)
title('Visualizacion del Sonido','FontSize',16,'Interpreter','latex')
xlabel('Tiempo ($mseg$)','FontSize',14,'Interpreter','latex')
ylabel('Amplitud','FontSize',14,'Interpreter','latex')
set(gcf,'color','w')
set(gca,'FontSize',12,'TickLabelInterpreter','latex')
grid on
Walter Roberson
Walter Roberson on 28 Oct 2021
Your code is stopping recording immediately after sending out the message 'Deje de hablar' .
Consider something like
record(myRecorder);
% Graba durante 2 segundos
menu("Deje de hablar", "para de grabar");
stop(myRecorder);

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!