Я работаю с двумя типами аудиоданных, оба в байтовой форме. Один тип отлично работает с библиотеками обработки звука, такими как pydub и AudioSegment, что позволяет мне объединять и экспортировать аудио в файл WAV. Однако второй тип аудиоданных, которые я получаю от внешнего интерфейса, не может быть обработан этими библиотеками.
Я могу объединить байтовые данные для транскрипции, используя b''.join(list ), но когда я пытаюсь сохранить или воспроизвести объединенный звук, воспроизводится только первый сегмент. После его остановки мне нужно вручную нажать кнопку воспроизведения, чтобы прослушать следующий сегмент.
Вот метод, который работает для первого типа звука, но не работает для второго:
Код: Выделить всё
from pydub import AudioSegment
import io
import numpy as np
def audio_saver_AI(path, audio, dtype=np.int16):
combined_audio = AudioSegment.empty()
if isinstance(audio, list):
for audio_file in audio:
temp_audio = io.BytesIO(audio_file)
audio_segment = AudioSegment.from_wav(temp_audio) # Works with one type of audio
combined_audio += audio_segment
combined_audio.export(path, format='wav')
- Этот код отлично работает для первого типа аудио, с которым я имею дело, но для аудиоданных исходящий из внешнего интерфейса, не включает заголовок RIFF, необходимый для его обработки как файла .wav, он не может быть обработан AudioSegment или другими подобными библиотеками.
- Для транскрипции b''.join(list) отлично работает для обоих типов аудио, но я не могу объединить их и воспроизвести как один непрерывный аудиофайл.
- Мне нужно решение, позволяющее правильно объединить аудиоданные, полученные из внешнего интерфейса, и экспортировать их в виде воспроизводимого файла.
- Использование AudioSegment и других библиотек для объединения аудиоданных, но они не могут обработать тип аудио внешнего интерфейса.
- Объединение байтов для транскрипции с помощью b''.join(list), которое работает, но недостаточно для создания воспроизводимого аудиофайла.
Как объединить список байтовых аудиоданных (включая тип, полученный от внешнего интерфейса) в один аудиофайл, который можно сохранить и воспроизвести постоянно?
Подробнее здесь: https://stackoverflow.com/questions/789 ... ngle-wav-f