如何使用文件路径作为函数参数
How to use file path as function parameters
我正在尝试创建一个函数,该函数将从文件夹中的多个 wav 文件中删除人声,但将 运行 保留在索引错误中。我是 python 的新手,所以不确定问题出在哪里,但我认为这可能源于我在函数调用中引用文件路径的方式,尽管我实际上无法确定。有什么建议吗?
from pydub import AudioSegment
from pydub.playback import play
def vocalremover(advertaudio):
sound_stereo = AudioSegment.from_wav(advertaudio)
sound_monoR = sound_stereo.split_to_mono()[1]
sound_monoL = sound_stereo.split_to_mono()[0]
sound_monoR_inv = sound_monoR.invert_phase()
sound_CentersOut = sound_monoL.overlay(sound_monoR_inv)
sound_CentersOut.export(str(advertaudio), format="wav")
vocalremover(r'C:\Users\Jan\OneDrive - Media
Ltd\normalized1901150009_Proxy.wav')
它returns错误:
IndexError Traceback(最后一次调用)
在
----> 1 vocalremover(r'C:\Users\Jane\OneDrive - Jeli Media Ltd\clearcast\normalized1901150009_Proxy.wav')
在 vocalremover(advertaudio)
----> 9 sound_monoR = sound_stereo.split_to_mono()[1]
IndexError: 列表索引超出范围
def vocalremover(advertaudio):
sound_stereo = AudioSegment.from_wav(advertaudio)
sound_monoR = sound_stereo.split_to_mono()[0][1]
sound_monoL = sound_stereo.split_to_mono()[0][0]
sound_monoR_inv = sound_monoR.invert_phase()
sound_CentersOut = sound_monoL.overlay(sound_monoR_inv)
sound_CentersOut.export(str(advertaudio), format="wav")
这样做有效,但文件似乎没有播放任何内容,请自己尝试并报告
我正在尝试创建一个函数,该函数将从文件夹中的多个 wav 文件中删除人声,但将 运行 保留在索引错误中。我是 python 的新手,所以不确定问题出在哪里,但我认为这可能源于我在函数调用中引用文件路径的方式,尽管我实际上无法确定。有什么建议吗?
from pydub import AudioSegment
from pydub.playback import play
def vocalremover(advertaudio):
sound_stereo = AudioSegment.from_wav(advertaudio)
sound_monoR = sound_stereo.split_to_mono()[1]
sound_monoL = sound_stereo.split_to_mono()[0]
sound_monoR_inv = sound_monoR.invert_phase()
sound_CentersOut = sound_monoL.overlay(sound_monoR_inv)
sound_CentersOut.export(str(advertaudio), format="wav")
vocalremover(r'C:\Users\Jan\OneDrive - Media
Ltd\normalized1901150009_Proxy.wav')
它returns错误:
IndexError Traceback(最后一次调用) 在 ----> 1 vocalremover(r'C:\Users\Jane\OneDrive - Jeli Media Ltd\clearcast\normalized1901150009_Proxy.wav')
在 vocalremover(advertaudio)
----> 9 sound_monoR = sound_stereo.split_to_mono()[1]
IndexError: 列表索引超出范围
def vocalremover(advertaudio):
sound_stereo = AudioSegment.from_wav(advertaudio)
sound_monoR = sound_stereo.split_to_mono()[0][1]
sound_monoL = sound_stereo.split_to_mono()[0][0]
sound_monoR_inv = sound_monoR.invert_phase()
sound_CentersOut = sound_monoL.overlay(sound_monoR_inv)
sound_CentersOut.export(str(advertaudio), format="wav")
这样做有效,但文件似乎没有播放任何内容,请自己尝试并报告