gui怎么添加背景音乐matlab

gui怎么添加背景音乐matlab,第1张

二、录入音频

obj = audiorecorder( 44100, 16, 1);

%创建一个保存音频信息的对象,它包含采样率、时间、录制的音频信息等

%44100是采样率,单位Hz

%16为用16bits存储

%1是单声道,2是两通道立体声

record(obj)%开始录音

pause(5)%录音5秒

stop(obj);%结束录音

myvioce = getaudiodata(obj)

%得到以n*2数字矩阵存储的刚录制的音频信号

axes(handle s.axes1)%在axes1中绘制

plot(myvioce)%绘制声音波形

audio write('myvioce.wav', myvioce, 44100)%将音频写入文件

利用matlab的音频信号处理工具箱,可以实现声音的录制和播放。

录音函数wavrecord语法为:

y=wavrecord(n,fs,channel,dataType)

其中

n为采样点数,fs为采样频率,channel(通常取1或者2)为录音通道数,dataType(例如double,single,int16,uint8)是采样点的数据类型。

例子:

fs=16000 %取样频率

duration=2%录音时间

fprintf('Press any key to start %g seconds of recording...\n',duration)

pause

fprintf('Recording...\n')

y=wavrecord(duration*fs,fs)%duration*fs 是总的采样点数

fprintf('Finished recording.\n')

fprintf('Press any key to play the recording...\n')

pause

wavplay(y,fs)

将上述代码保存为record01.m文件,在matlab命令行下输入刚才保存的文件名即可。

运行结果如下图:

就是在gui对应的M文件里使用wav文件读取语句:

wavread('*.wav') *代表不同的文件名,同时读入的文件必须在当前的路径里。

如果需要得要各个参数,可是设置输出量:

[y,freq,bit]=wavread('*.wav')

至于FFT的分析,将wav文件读入后,用FFT函数进行分析。下面的代码是一个实例,希望对你有所帮助。

用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱

fs=8000 %语音信号采样频率为8000

x1=wavread('pb8k.wav')

t=(0:length(x1)-1)/8000

y1=fft(x1,2048) %对信号做2048点FFT变换

f=fs*(0:1023)/2048

figure(1)

plot(t,x1) %做原始语音信号的时域图形

grid onaxis tight

title('原始语音信号')

xlabel('time(s)')

ylabel('幅度')

figure(2)

plot(f,abs(y1(1:1024))) %做原始语音信号的FFT频谱图

grid onaxis tight

title('原始语音信号FFT频谱')

xlabel('Hz')

ylabel('幅度')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11934812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存