如何在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文件的主要内容,如果未能解决你的问题,请参考以下文章