matlab wavplay和sound放不出声音

作者&投稿:崇贡 (若有异议请与网页底部的电邮联系)
电脑放不出声音~

俺试了一下,可能是时间的问题,你的M文件执行的太快,声音还没来得及播放完就已经执行完了,也就是说声音没有足够的时间执行,你试一下在最后加上pause(3),也就是让程序暂停3秒,应该可以,或者你单步调试的时候声音也可以发出来。
俺测试环境是7.0
代码如下:
function playSound()
load chirp
p=audioplayer(y,44100)
play(p)
pause(3)

sound函数可以将数值矩阵转换为音频格式,是不能直接播放声音文件的,必须先读入这个文件,详见Matlab帮助文档sound的使用方法:

 

你可以这样做:

[y, fs]=wavread('你的歌曲.wav'); %保证wav文件在当前工作目录,或者在函数中指定你的文件位置

sound(y, fs);                               % 这里也可以是函数wavplay(y, fs);

 

调用函数前请用其他播放器播放该wav文件,确保文件可以播放;另外说一句,以后遇见这样的问题最好看一下matlab的帮助文档。



试一下播放系统自带的音频文件,例如:
[y, Fs] = wavread('C:\WINDOWS\Media\notify.wav');
wavplay(y,Fs)
如果可以放,那就是你自己的wav文件有问题;放不了,那就是系统的音频设置有问题。


冀州市15886696776: MATLAB中,wavplay与sound两个命令有什么区别呢? -
村岩博清: 区别 wavplay():播放wav声音文件.当然,也可以把处理后的wav文件保存后再用其它工具播放.sound函数的输入参量是音频数据向量、采样频率和转换位数.2.处理流程 分析和处理音频信号 首先要对声音信号进行采集 MATLAB 的数据采...

冀州市15886696776: matlab 怎么读取WAV文件 -
村岩博清: wavplay(wavread('xxx.wav')) %xxx.wav是你的wav文件,放在当前目录就行

冀州市15886696776: 在matlab中怎样实现对声音的导入,分析与处理??? -
村岩博清: 1)用mp3录音,生成文件cricket.wav,把该文件放到matlab文件夹里面(就是你打开matlab后中间顶部的地址). 2)使用如下程序,做波形显示以及fft变换. [y,Fs,bits]=wavread('cricket.wav');%读出信号,采样率和采样位数. y=y(:,1);%我...

冀州市15886696776: 请问我用matlab播放wav文件为什么节奏变慢并且音调降低? -
村岩博清: 估计可能是由于WAV文件的采样率与你使用WAVPLAY命令时设置的采样率不同,而导致节奏变慢和音调变高,情况就好像你以前用复读机播放音乐时,按“慢进”时,播放速度变慢,同时音调变低,当“快进”时,播放速度变快,同时音调变高;使用wavplay命令可以设置采样率的Fs,默认时Fs是11025 Hz,更多的资料可以在MATLAB里输入help wavplay 后看到.例如:已知WAV文件的采样率为11025Hz,当Fs设置为11025Hz,WAV文件就会按正常速度播放.当Fs=11025*0.5Hz,WAV文件就会按慢一倍速度播放,音调变低;当Fs=11025*2Hz,WAV文件就会按快一倍速度播放,音调变高;

冀州市15886696776: matlab gui界面不用button怎么播放音乐 -
村岩博清: %回调函数下播放即可 function pushbutton1_Callback(hObject, eventdata, handles) sound=wavread('G:\sound.wav'); wavplay(sound,22000);

冀州市15886696776: 在Matlab的GUI里写回调函数,如何让wavplay播放的声音暂停和停止? -
村岩博清: 从代码看,wavplay与sound两个命令都调用playsnd函数实现播放,只是对输入的支持不同.二者最大的区别是,wavplay支持同步播放(也就是同时播放多个声音,此时调用的是playsndb——这是一个mex函数).对wavplay和sound函数的代码...

冀州市15886696776: 如何用matlab讲多声道的wav文件分成几个单声道的? -
村岩博清: %把你的wave文件放到matlab文件夹里面,假设你的文件是mywave.wav[y,Fs,bits] = wavread('mywav');%读入文件y_left=y(:,1);%读左声道 y_right=y(:,2);%读右声道wavplay(y_left,Fs);%播放左声道 wavplay(y_right,Fs);%播放右声道wavwrite(y_left,'LeftChannel');%把左声道写成文件 wavwrite(y_right,'RightChannel');%把右声道写成文件

冀州市15886696776: 怎么用matlab获取wav文件的频率 -
村岩博清: [Y,FS,NBITS]=wavread(FILE) returns the sample rate (FS) in Hertz and the number of bits per sample (NBITS) used to encode the data in the file.其中FS就是你要的频率

冀州市15886696776: matlab wavplay和sound放不出声音
村岩博清: <p>sound函数可以将数值矩阵转换为音频格式,是不能直接播放声音文件的,必须先读入这个文件,详见Matlab帮助文档sound的使用方法:</p> <p></p> <p> </p> <p>你可以这样做:</p> <p>[y, fs]=wavread('你的歌曲.wav'); %保证wav文件在当前工作目录,或者在函数中指定你的文件位置</p> <p>sound(y, fs); % 这里也可以是函数wavplay(y, fs);</p> <p> </p> <p>调用函数前请用其他播放器播放该wav文件,确保文件可以播放;另外说一句,以后遇见这样的问题最好看一下matlab的帮助文档.</p>

冀州市15886696776: matlab wav文件
村岩博清: 写wav文件用wavwrite(f,'name.wav') 前面参数表示采样频率,要跟你的程序里面的采样一致,比如说一首歌的时长为ts,有n个采样点,f=n/t 波动方程自己拟合嘛,例如要产生一个C大调的la/6, f=440; t=0:1/44.1e3:3; y=exp(t).*sin(2.*pi.*f.*t);%exp为指数衰减 不同频率代表不同音符,在时间轴上有序排列就产生一段美妙的音乐

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网