matlab - Matlab中如何将声音转换为矩阵?

标签 matlab audio matrix audio-processing

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

6年前关闭。




Improve this question




我正在使用 Matlab 的 audioread(filename,y,Fs) 函数,它将音频文件转换为矩阵。我想知道该矩阵的每个值是如何生成的。是否可以通过将您自己的值赋予矩阵然后使用 sound() 函数发出声音来产生类似于吉他声音的特定声音?

最佳答案

1)该矩阵的每个值是如何生成的
矩阵的列数与 channel 数一样多(1 channel = 单声道 = 1 列;2 channel = 立体声 = 2 列)。作为附加输入,您可以指定 'dataType' : 如果 'dataType''native' Matlab 将导入用于压缩的相同值,您可以使用 audioinfo()函数先验地知道这些值。如果 'dataType'未指定或 'double' (默认)这些值在 [-1;+1] 范围内标准化。

2)是否可以产生特定的声音
你当然可以。尽管您可能需要很长时间才能生成像吉他这样的复杂声音。但是可以很容易地产生一个给定频率的正弦音并播放它。当然要注意音频文件的正弦波频率和采样频率。
快速演示:

fs = 16000;            % sampling frequency in Hz
T = 5;                 % 5 seconds duration

t = 0:(1/fs):T;
f = 440;               % tone frequency (A4 note)
a = 0.5;               % amplitude (volume)
y = a*sin(2*pi*f*t);   % tone matrix
sound(y, fs);          % rock it! 

关于matlab - Matlab中如何将声音转换为矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35337189/

相关文章:

matlab - 如何在 matlab 上读取 dicom 文件?

matlab - 将符号表达式从 Matlab 导出到 Fortran 时使用自由形式而不是固定形式

audio - 如何使用 libavcodec 对 AAC-LC、AAC-HE-V1、AAC-HE-V2 中的音频进行编码?

javascript - 使用 createAudioPlayer 播放音频时出错

javascript - HTML5音频标签停止按钮,是否停止直播MP3流?

python - 如何在 numpy 中获得逐元素矩阵乘法(Hadamard 乘积)?

java - 交换二维数组的行和列

matlab - 如何将值分类(按复平面中的象限)?

r - "Large Matrix"和常规数值矩阵有什么区别?

matlab - 如何从具有特定均值和方差的正态分布中生成随机数?