我有一个名为'video.mp4'
的视频文件。我正在尝试从视频中分离出一部分音频,并将其另存为可用于其他Python模块的wav文件。我想用MoviePy做到这一点。
我将参数发送到write_audiofile
函数,并指定文件名,fps,nbyte和编解码器。
在MoviePy AudioClip docs之后,我将32位wav文件的编解码器指定为‘pcm_s32le’
。
from moviepy.editor import * sound = AudioFileClip("video.mp4") newsound = sound.subclip("00:00:13","00:00:15") #audio from 13 to 15 seconds newsound.write_audiofile("sound.wav", 44100, 2, 2000,"pcm_s32le")
此代码生成一个名为
.wav
的'sound.wav'
文件。
生成的文件sound.wav
可以在Audacity中打开,但是当我尝试将其与其他Python模块一起用作wav文件时遇到问题。
import pygame
pygame.mixer.init()
sound=pygame.mixer.Sound("sound.wav")
第三行给出以下错误:
pygame.error: Unable to open file 'sound.wav'
import sndhdr
sndhdr.what("sound.wav")
sndhdr方法返回了none
。根据docs,当发生这种情况时,该方法无法确定文件中存储的声音数据的类型。
import speech_recognition as sr
r = sr.Recognizer()
audio = "sound.wav"
with sr.AudioFile(audio) as source:
audio = r.record(source)
text= r.recognize_google(audio)
print(text)
此代码停止在倒数第二行执行:
ValueError: Audio file could not be read as PCM WAV, AIFF/AIFF-C, or Native FLAC; check if file is corrupted or in another format
如果
sndhdr.what()
无法将其识别为音频文件类型,为什么音频文件以Audacity打开?如何正确将MoviePy AudioClip导出为wav
文件?
我有一个名为“ video.mp4”的视频文件。我正在尝试从视频中分离出一部分音频,并将其另存为可用于其他Python模块的wav文件。我想用MoviePy做到这一点。 ...
我有同样的问题。我试图从URL获取mp4文件,然后将其转换为wav文件,然后通过它调用Google语音识别。相反,我使用pydub来处理转换,并且有效!这是代码示例: