如何在python中加载m4a文件

Posted

技术标签:

【中文标题】如何在python中加载m4a文件【英文标题】:how to load m4a file in python 【发布时间】:2018-11-05 05:35:57 【问题描述】:

有没有一种简单的方法可以在 python 中加载 m4a 声音文件。我遇到了 audiotools lib,但在使用 to_pcm fn 时出现错误

audiotools.open('file.m4a').to_pcm()

---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-76-e12405d92ce3> in <module>()
----> 1 audiotools.open(p).to_pcm()

/path/to/m4a.py in to_pcm(self)
    456             stdout=subprocess.PIPE,
    457             stderr=subprocess.DEVNULL if hasattr(subprocess, "DEVNULL") else
--> 458             open(os.devnull, "wb"))
    459         return PCMFileReader(sub.stdout,
    460                              sample_rate=self.sample_rate(),

/path/to/subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo,    creationflags, restore_signals, start_new_session, pass_fds, encoding, errors)
    705                                 c2pread, c2pwrite,
    706                                 errread, errwrite,
--> 707                                 restore_signals, start_new_session)
    708         except:
    709             # Cleanup if the child failed starting.

/path/to/subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite,    c2pread, c2pwrite, errread, errwrite, restore_signals, start_new_session)
   1331                             else:
   1332                                 err_msg += ': ' + repr(orig_executable)
-> 1333                     raise child_exception_type(errno_num, err_msg)
   1334                 raise child_exception_type(err_msg)
   1335 

FileNotFoundError: [Errno 2] No such file or directory: 'faad'

【问题讨论】:

您得到的错误指向无效的文件路径。能复查吗?最好用绝对路径验证。 我检查了,仍然得到同样的错误。这个文件我认为它来自audiotools lib本身,它需要作为依赖项或类似的东西,没有任何具有该名称的文件! 另外,如果除了 audiotools 之外还有其他东西可以加载 m4a 音频文件,那就太好了。 【参考方案1】:

以下是使用 pydub 库的方法:

from pydub import Audiosegment
audio = AudioSegment.from_file('file.m4a')

【讨论】:

以上是关于如何在python中加载m4a文件的主要内容,如果未能解决你的问题,请参考以下文章

如何减少在 python 中加载泡菜文件或将泡菜文件映射到磁盘的时间

使用python在spark中加载pcap文件

如何在脚本中加载 tflite 模型?

当有同名的包时,如何在 Python 3 中加载模块?

如何在cppyy中加载库?

如何在 python 中加载带有参数的 python 模块?