【问题标题】:audioread in Matlab 2015b on Ubuntu server 14.04Ubuntu 服务器 14.04 上 Matlab 2015b 中的 audioread
【发布时间】:2016-05-25 08:26:15
【问题描述】:

我正在尝试将音频文件读入 Matlab 2015b 并且当我运行命令时

[data, p.fs] = audioread(filename);

我收到以下错误:

使用 audioread 时出错(第 88 行) 没有可用于音频文件 I/O 的插件。确保正确安装了 LIBSNDFILE 和特定于平台的库。

如何解决?

谢谢

【问题讨论】:

  • 你的音频文件是什么格式的?
  • 对不起,我忘记了。格式为wav,文件名为“test.wav”
  • 嗯。这不应该发生,你能给出你运行的确切线路吗?即 [data, fs] = audioread("test.wav")
  • 行如下:function intensity = inten_extract(filename)[data, p.fs] = audioread(filename);data = mean(data, 2);我写了一个函数来提取音频特征。它在 Windows 10 上运行没有任何问题。但它不能在 Ubuntu 服务器 14.04 上运行。 audioread 是否依赖某些库?
  • 它需要 Matlab 中声音文件的库 - LIBSNDFILE - 你是如何在 ubuntu 上安装你的 matlab 的?你有 ubuntu 版本的 matlab 吗?

标签: linux matlab ubuntu


【解决方案1】:

我通过检查加载的 ldd 目录解决了这个错误(在 Ubuntu 16.04 上)

cd /etc/ld.so.conf.d/

检查文件中是否存在以下路径:

MCR_ROOT/v91/runtime/glnxa64
MCR_ROOT/v91/bin/glnxa64
MCR_ROOT/v91/sys/os/glnxa64
MCR_ROOT/v91/sys/opengl/lib/glnxa64

如果您更改任何内容,请不要忘记重新加载配置

sudo ldconfig

【讨论】:

  • 我已经调整了您答案中的格式和英文。您可能希望通过准确指定您希望在哪些文件中找到这些路径来改进这一点。此外,如果 MCR_ROOT 实际上是某种变量,您可能应该解释它应该取什么值。我不记得 ldconfig 文件能够以任何方式使用环境变量。
  • 很高兴您解决了您的问题。但请注意,我对 Matlab 运行时产生了副作用:重新加载 de ldd 配置或重新启动机器后 ssh 服务已关闭。另一种方法是编写一个配置文件,在其中直接指定 LD_LIBRARY_PATH。所以这些库不适用于整个系统。
【解决方案2】:

我遇到了同样的问题。碰巧我的 Debian 环境没有安装 GStreameraudioread 提到的文档。请查看链接https://www.mathworks.com/help/matlab/ref/audioread.html

GStreamer 安装后audioread 功能按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-12
    • 2016-07-16
    • 2015-01-04
    • 2015-07-23
    • 1970-01-01
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多