MATLAB中音频信号的应用

R=audiorecorder(44100,16,1); 

        创建一个保存音频信息的对象,包含采样率,时间和录制的音频信息。44100表示采样为

44100Hz(可改为8000,11025,22050等,采样频率越高,录入的声音质量越好,相应需要的存

储空间越大),16为用16bits存储,1为单声道,也可以改为2表示两通道)。

record(R);        % 开始录制,在指令窗输入此指令后,对着麦克风说话,即可进行录制

pause(R);         % 暂停录制

play(R);            播放录制的声音

resume(R);       % 需要的话可以继续录制

stop(R);            % 停止录制,录制结束


getaudiodata(obj) 将录制的音频数据作为双精度数组 返回

% 画出语音的时域波形
myspeech=getaudiodata(R);    % 得到刚录制的音频信号矢量
plot(myspeech);    % 画出语音波形
xlabel('时域样值'),ylabel('幅度'),title('语音波形');

audiowrite(Y,Fs,NBITS,WAVEFILE) 将数据 Y写入由 文件名 WAVEFILE 指定的windows wave文件。 windows wave文件具有采样率 FS Hz 和 NBITS 位数。 NBITS 必须 为 8、16、24 或 32。
Y=audioread(FILE) 读取由字符串 FILE 指定的 WAVE 文 件,以 Y 格式返回采样数据。
% 写入和读取声音文件
audiowrite('myspeech.wav',myspeech,44100);    % 语音存储
[x,Fs]=audioread('myspeech.wav');

wavwrite(myspeech,44100,'myspeech.wav')  % 适用于旧版Matlab

[x,Fs]=wavread('myspeech.wav')  % 适用于旧版Matlab

猜你喜欢

转载自blog.csdn.net/weixin_58351753/article/details/128331587