在 Matlab 中以矩阵形式访问音频文件
Accessing an audio file as a matrix in Matlab
我是 MATLAB 新手。
我在里面写了下面的代码。
load handel.mat ;
filename = 'handel.wav';
audiowrite(filename,y,Fs);
disp('playing for a second') ;
samples = [20*Fs,21*Fs];
[y,Fs] = audioread('handle.mp3',samples);
sound(y,Fs);
disp('saving this output sound') ;
filename = 'handel.wav';
audiowrite(filename,y,Fs);
info = audioinfo('handel.wav')
disp('ploting the graph') ;
[f,Fs] = audioread('handel.wav') ;
N = length(f);
slength = N/Fs;
t = linspace(0, N/Fs, N)
plot(t, f)
clear y Fs
此代码读取 mp3 音频文件,将其保存为 .wav 文件并将其绘制为图表。当我 运行 它时,它还会在命令 window 中显示一些列值。
我想要做的是将音频文件作为矩阵进行操作。但我不知道如何以矩阵的形式获取音频。请帮我解决这个问题。
当你做 audioread() 它 returns
- y:作为矩阵的音频数据
- Fs:采样频率
那么,你开始吧!
我是 MATLAB 新手。 我在里面写了下面的代码。
load handel.mat ;
filename = 'handel.wav';
audiowrite(filename,y,Fs);
disp('playing for a second') ;
samples = [20*Fs,21*Fs];
[y,Fs] = audioread('handle.mp3',samples);
sound(y,Fs);
disp('saving this output sound') ;
filename = 'handel.wav';
audiowrite(filename,y,Fs);
info = audioinfo('handel.wav')
disp('ploting the graph') ;
[f,Fs] = audioread('handel.wav') ;
N = length(f);
slength = N/Fs;
t = linspace(0, N/Fs, N)
plot(t, f)
clear y Fs
此代码读取 mp3 音频文件,将其保存为 .wav 文件并将其绘制为图表。当我 运行 它时,它还会在命令 window 中显示一些列值。 我想要做的是将音频文件作为矩阵进行操作。但我不知道如何以矩阵的形式获取音频。请帮我解决这个问题。
当你做 audioread() 它 returns
- y:作为矩阵的音频数据
- Fs:采样频率
那么,你开始吧!