如何在 MATLAB 中读取 2 通道音频文件

Posted

技术标签:

【中文标题】如何在 MATLAB 中读取 2 通道音频文件【英文标题】:How to read a 2-channel audio file in MATLAB 【发布时间】:2015-04-22 17:19:25 【问题描述】:

当我使用[y, Fs] = wavread(filename) 读取音频文件时,它会返回一个 Nx2 矩阵。这些“渠道”的含义是什么?他们是左是右?如果是这样,我应该如何组合它们?我会平均它们,但外部代码使用x(:,1),我不明白为什么。

那么我怎样才能正确读取这个信号呢?

感谢您的帮助!

【问题讨论】:

是的,它是左右的。 x(:,1) 只是一个频道(我认为是左) 【参考方案1】:

路易斯·门多是对的。我无法在doc wavread 中找到此信息,但如果您查看doc sound,它会证明x(:,1) 是左声道,x(:,2) 是右声道。

如果您使用的是最新版本的 matlab,请更简洁地切换到 audioread

在许多情况下使用左声道是因为您在混合立体声声道时可能会遇到奇怪的效果。每个频率的相移不同,平均时可能会丢失一些频率。尤其是在分析声音属性时,只使用一个通道。

【讨论】:

以上是关于如何在 MATLAB 中读取 2 通道音频文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 libsndfile 为 MATLAB 编写多声道音频

如何从 MATLAB 的 audioread 等 libsndfile 库中读取数组格式的音频文件

如何在MATLAB中读入多个音频文件啊?

如何利用matlab获取音频文件的时长

matlab如何批量读取带有编号的文件

matlab用fread读音频文件