1

pydub で 2 つのオーディオ wav ファイルを 1 つの wav ファイルにミックスしようとしています。これが私の現在のコードです:

from pydub import AudioSegment

sound1 = AudioSegment.from_wav("Test_1.wav")
sound2 = AudioSegment.from_wav("Test_2.wav")

# mix sound2 with sound1, starting at 5000ms into sound1)
output = sound1.overlay(sound2, position=5000)

# save the result
output.export("mixed.wav", format="wav")

正確なエラーログは次のとおりです。

Traceback (most recent call last):
  File "heterodyning.py", line 10, in <module>
    output.export("mixed.wav", format = "wav")
  File "build/bdist.linux-armv6l/egg/pydub/audio_segment.py", line 234, in export
  File "/usr/lib/python2.7/subprocess.py", line 493, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

ただし、何らかの理由で、これを実行しようとすると、raise_child 例外が発生し、エクスポートするように指示する最後の行を参照して、そのようなファイルまたはディレクトリがないことが通知されます。理由がわかりません。なぜこれが起こっているのか誰にも教えてもらえますか?

4

1 に答える 1

0

現在の作業ディレクトリはどのようになっていますか? そこに「mixed.wav」ファイルがない場合output.export("mixed.wav", format="wav")、オーバーレイされたサウンドをどこに置くべきかがわからないため、失敗します。次の方法で、Python でファイルを開くことができます。

mixed_file = open("mixed.wav", "wb")

ファイルにエクスポートする前にこれを行います。

次のような結果になるはずです。

mixed_file = open("mixed.wav", "wb")
output.export(mixed_file, format="wav")
于 2014-07-25T20:17:51.083 に答える