How to save wave file with arbitrary name right after recording is finished.

5 次查看(过去 30 天)
Someone please help me? I really had a lot of trouble.
I want as soon as the recording is finished the son01.wav file will not automatically save, but rather it will be asked to save by a different name option with each recording for different people. And I want this to be repeated for all of those after that.
Fs=44100;
N=16;
channel=2;
duration=3;
recObj = audiorecorder(Fs, N, channel);
disp('Start speaking.')
% Record in 3 seconds
recordblocking(recObj, duration);
disp('End of Recording.');
% Listen again
play(recObj);
% save sound to array
y = getaudiodata(recObj);
% Ve dang am theo thoi gian
% plot(y);
%save wave file with a new name
[newfile,newpath] = uiputfile('my_new_name.wav','save file name');
% save file wave
audiowrite('son01.wav',y,Fs)
I added this code "[newfile, newpath] = uiputfile ('my_new_name.wav', 'save file name');" and it works separately, son.01wav is automatically saved by "audiowrite ('son01.wav', y, Fs)" command.
I don't want this to happen. Someone please help me. thank you.
  4 个评论

请先登录,再进行评论。

采纳的回答

Geoff Hayes
Geoff Hayes 2020-11-13
Dao - perhaps you want to try something like
[newfile,newpath] = uiputfile('my_new_name.wav','save file name');
if isstring(newfile)
audiowrite(fullfile(newpath,newfile), y, Fs);
else
fprintf('Invalid file name.\n');
end
where we use the output from the uiputfile to write the audio data to that file.
  3 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dialog Boxes 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by