MATLAB R2021b(03)

audioread,sound函数 以及 如何终止程序运行

audioread 与 sound 函数

[y,Fs] = audioread(filename)
[y,Fs] = audioread(filename,samples)
filename → 把文件拖到同一文件夹or输入地址
Fs:采样频率,1秒内对连续的音频信号取的点的个数
一般为48000

附:

  1. 采样是将模拟信号(即时间或空间上的连续函数)转换成数字信号(即时间或空间上的离散函数)的过程。简单来说,采样率就是指计算机每秒钟采集声音样本的数量,其与声音文件的音质息息相关。
  2. 采样频率的倒数是采样周期,是相邻采样之间的时间间隔。采样频率越高,采样周期就越短,单位时间内计算机采集到的样本数据就越多,于是其对信号波形的表示也就越精确。

y:输出的音频数字信号,默认是n行2列,其中2的意思是,这个音频信号是两个声道的,n的值等于该音频信号的时长乘采样频率Fs。
samples :音频读取区域,samples其实是一个数组,意思就是一段音频我只需要读取一部分,比如0-20s,20s-40s,40s-最后

Fs = 48000;         		%%定义采样频率(系统默认的)
[y1,Fs]=audioread("周深 - 江湖觅知音.mp3",[1,20*Fs]);
[y2,Fs]=audioread("周深 - 江湖觅知音.mp3",[20*Fs,40*Fs]);
[y3,Fs]=audioread("周深 - 江湖觅知音.mp3",[40*Fs,inf]);
sound(y2,Fs)

其中sound(y,Fs)是播放函数
终止音频则在命令行敲入clear sound 回车
其他终止matlab运行的方式:
https://blog.csdn.net/Gou_Hailong/article/details/113242160
另外,改变sound中的Fs例如:

%语速调制
sound(y,2*Fs) %快 尖锐
sound(y,0.2*Fs) %慢 钝感
%

问:改变y的结果是导致其失真吗

生成音频文件

%%自动保存到默认路径
Fs = 48000;
[y,Fs]=audioread('周深.wav',[12*Fs,26*Fs]);
audiowrite('cut.wav',x,Fs);

官网给的代码:

load handel.mat

audiowrite('handel.wav',y,Fs);
clear y Fs
[y,Fs] = audioread('handel.wav');
sound(y,Fs);

原文链接:https://blog.csdn.net/qq_46212154/article/details/111702523

你可能感兴趣的:(matlab)