首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Matlab中录制语音时的wav回放

在Matlab中录制语音时的wav回放
EN

Stack Overflow用户
提问于 2014-04-05 17:58:01
回答 1查看 456关注 0票数 0

我在录制演讲5秒时遇到了问题。我成功地使用play()函数进行了回放,但是一旦我播放了我在桌面上保存的wav文件,它就是沉默。这是密码

代码语言:javascript
复制
clc,clear;
% Record your voice for 5 seconds.
%recObj = audiorecorder;
recObj = audiorecorder(96000, 16, 1);
disp('Start speaking.')
recordblocking(recObj,5);

disp('End of Recording.');`enter code here`
% Play back the recording.
play(recObj);
myspeech = getaudiodata(recObj,'double');
wavwrite(double(myspeech),'C://Users//naveen//Desktop//unprocessed')

% Store data in double-precision array.
myRecording = getaudiodata(recObj);

% Plot the samples.
figure,plot(myRecording),title('Original Sound');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-05 18:59:08

使用指定的采样率调用wavwrite,默认为8000 is。

但是,在调用audiorecorder时,录音设置为96000 is。

代码语言:javascript
复制
audiorecorder(96000, 16, 1);

将这两项更改为匹配应该解决问题,因此请更改对以下任一项的调用

代码语言:javascript
复制
recObj = audiorecorder(8000, 16, 1)
wavwrite(double(myspeech),96000,'C:/...snip... 

另外,我认为myspeech已经是双倍的(如getaudiodata中所指定的),所以wavwrite(myspeech,96000,'C:/...snip...也应该工作得很好!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22884592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档