1、sound(y):以默认采样率 8192 赫兹向扬声器发送音频信号 y。y为音频信号矩阵。
2、sound(y, Fs):以采样率 Fs 向扬声器发送音频信号 y。Fs为采样率,即单位时间的样本个数(Hz)。
3、sound(y, Fs, nBits):对音频信号 y 使用 nBits 的采样位数。nBits表示每个样本点用几个比特表示,即分辨率。
sound():将信号数据矩阵转换为声音。
扩展资料:
示例:
1、加载示例文件 gongmat,其中包含样本数据 y 和采样率 Fs,然后收听音频。
load gongmat;
sound(y);
2、以录制的采样率的两倍播放 Handel 的片段“Hallelujah Chorus”。
load handelmat;
sound(y, 2Fs);
3、以特定位深度播放样本数据。
load handelmat;
nBits = 16;
sound(y,Fs,nBits);
%你好,该程序读mywavwav文件,然后显示频谱以及波形。注意,mywavwav文件不要太长,否则运算会很慢。
[y,Fs,bits]=wavread('mywavwav');%读出信号,采样率和采样位数。
y=y(:,1);%我这里假设你的声音是双声道,我只取单声道作分析,如果你想分析另外一个声道,请改成y=y(:,2)
sigLength=length(y);
Y = fft(y,sigLength);
Pyy = Y conj(Y) / sigLength;
halflength=floor(sigLength/2);
f=Fs(0:halflength)/sigLength;
figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');
t=(0:sigLength-1)/Fs;
figure;plot(t,y);xlabel('Time(s)');
比如我的wav文件名字叫做beepwav
wavdata = wavread('beepwav');
x = 1:1:length(wavdata);
% 这一句是找到数据的长度,以便于建立一个横轴的数组
plot(x,wavdata);
[data,fs,bits] =wavread('123wav');
x = data(:,1);
t=((0:length(x1)-1)/fs);
plot(t,x);
X =abs(fft(x));
plot(X)
可以用matlab函数sound实现。该函数的输入参量是音频数据向量、采样频率和转换位数。
可以自己写些声音数据。下面的声音声调和频率有关,长度和数据长度有关:
例如:
sound(sin(2pi25(1:4000)/100));
响两声就是:
sound(sin(2pi25(1:4000)/100));
sleep(1);
sound(sin(2pi25(1:4000)/100));
MATLAB也自带了很多声音:
%鸟声
load chirp
sound(y,Fs)
%锣声
load gong
sound(y,Fs)
%哈里路亚
load handel
sound(y,Fs)
%笑声
load laughter
sound(y,Fs)
%啪哒声
load splat
sound(y,Fs)
%火车
load train
sound(y,Fs)
用int16是16 位,整型数,同数据存储的方式有关;
最后一行中读入x中的只读了长为LENGTH的数据;如果用wavread是全部读取wav的所有数据。如果要进行分帧处理,还是逐段读入会更好一点。
以上就是关于matlab中 sound函数怎么用全部的内容,包括:matlab中 sound函数怎么用、matlab 做音频文件(WAV格式)的频谱图程序 以及做时域波形图的程序、求用MATLAB分析音频文件的频谱等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)