我在导出使用matlab录制的音频文件时出现问题,当我录制我的声音并播放它听起来很好,但是当我保存它时 - 导出音频 - 作为wav文件并通过播放导出它使用matlab文件或再次阅读,听起来不同,长度更短,语音更快,更有趣,我该如何解决这个问题?
voice = audiorecorder;
disp('Start speaking.')
recordblocking(voice, 5);
disp('End of Recording.');
play(voice);
y = getaudiodata(voice);
filename = 'myvoicerecord.wav';
audiowrite(filename,y,Fs);
答案 0 :(得分:2)
变量Fs导致此问题。我的意思是当你录制你的声音时,采样频率与值Fs不同。
使用以下代码:
Fs = e4 % // Sampling frequency: 10000 Hz
bits = 16; % // Bits Per Sample: 16
channel = 1; % // Number of Channels: Mono
rec_time = 5; % // Block of Sample Time: 5 sec
voice = audiorecorder(Fs, bits, channel); % // Recorder object
record(voice); % // Start Recording
pause(rec_time); % // Recording
stop(voice); % // Stop Recording
play(voice);
y = getaudiodata(voice);
filename = 'myvoicerecord.wav';
wavwrite(y, Fs, bits, filename);
答案 1 :(得分:1)
听起来像是一个与采样频率有关的问题。这里有什么'Fs'?我不熟悉'getaudiodata'例行程序,但我敢打赌它告诉你或让你指定采样频率。