У меня есть видео файл с именем 'video.mp4'
. Я пытаюсь отделить часть аудио от видео и сохранить его как файл WAV, который можно использовать с другими модулями Python. Я хочу сделать это с MoviePy.
Я отправляю параметры в функцию write_audiofile
, указав имя файла, fps, nbyte и кодек.
После MoviePy AudioClip docs я указал кодек как ‘pcm_s32le’
для 32-битного файла wav.
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'
.
Открытие аудиофайла в Audacity
Полученный файл, sound.wav
, можно открыть в Audacity, однако у меня возникают проблемы, когда я пытаюсь использовать его как файл wav с другими модулями Python.
Воспроизведение звукового файла в pygame
import pygame
pygame.mixer.init()
sound=pygame.mixer.Sound("sound.wav")
В третьей строке выдается следующая ошибка:
pygame.error: Unable to open file 'sound.wav'
Определение типа звукового файла с помощью sndhdr.what ()
import sndhdr
sndhdr.what("sound.wav")
Возвращен метод sndhdr none
, Согласно docs , когда это происходит, метод не смог определить тип звуковых данных, хранящихся в файле.
Чтение файла с помощью распознавания речи Google
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
Почему аудиофайл открывается в Audacity, если sndhdr.what()
не может распознать его как тип аудиофайла?
Как правильно экспортировать MoviePy AudioClip в виде файла wav
?