问题
Is there an easy way to load m4a sound file in python. I've came across audiotools lib but I'm getting an error while using 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'
回答1:
Here's how you would do it using the pydub library:
from pydub import AudioSegment
audio = AudioSegment.from_file('file.m4a')
来源:https://stackoverflow.com/questions/50535637/how-to-load-m4a-file-in-python