How to save wave file with arbitrary name right after recording is finished.
2 views (last 30 days)
Show older comments
DAO HONG SON
on 12 Nov 2020
Commented: DAO HONG SON
on 13 Nov 2020
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/412048/image.png)
I don't want this to happen. Someone please help me. thank you.
4 Comments
Accepted Answer
Geoff Hayes
on 13 Nov 2020
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 Comments
More Answers (0)
See Also
Categories
Find more on Dialog Boxes in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!