如何使用文件路径作为函数参数

2024-09-27 07:25:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个函数,将删除一个文件夹中的多个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\normalized\201901150009_Proxy.wav')

它返回错误:


索引器回溯(最后一次调用) 在里面 ---->;1语音记忆(r'C:\Users\Jane\OneDrive-Jeli Media Ltd\clearcast\normalized\201901150009)_代理.wav')

在vocalremover(advertaudio)中

--->;9 sound\u monoR=声音_立体声。分频到单声道()[1]

索引器错误:列表索引超出范围


Tags: 文件tofromimport错误splitwavmono
1条回答
网友
1楼 · 发布于 2024-09-27 07:25:48
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")

这样做是可行的,但文件似乎没有播放任何东西,尝试自己和报告回来

相关问题 更多 >

    热门问题