Воспроизведение аудио в Python на заданной отметке времени - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь найти способ в Python воспроизвести часть аудиофайла с указанием времени начала и окончания.

Например, скажем, у меня есть аудиофайл продолжительностью 1 минута.Я хочу воспроизвести раздел с 0:30 до 0:45 секунд.

Я не хочу обрабатывать или склеивать файл, только воспроизведение данного раздела.

Буду признателен за любые предложения!

Обновление:

Возможно, есть лучший способ, но я нашел решение, используя pydub:

from pydub import AudioSegment
from pydub.playback import play

audiofile = #path to audiofile
start_ms = #start of clip in milliseconds
end_ms = #end of clip in milliseconds

sound = AudioSegment.from_file(audiofile, format="wav")
splice = sound[start_ms:end_ms]
play(splice)

Ответы [ 2 ]

0 голосов
/ 10 февраля 2019

Используйте PyMedia и Player .Посмотрите на функции SeekTo () и SeekEndTime ().Я думаю, что вы сможете найти правильное решение после игры с этими функциями.

0 голосов
/ 10 февраля 2019

первый шаг - заставить ваш питон воспроизводить весь аудиофайл ... для этого доступно несколько библиотек ... посмотрите, есть ли в библиотеке вызов API для конкретного времени ... вы всегда можете закатать рукава и реализовать этосамостоятельно после того, как вы прочитаете аудиофайл в буфер или, возможно, передадите его в потоковом режиме и прекратите потоковую передачу в конце выбранного временного отрезка

Другой альтернативой является использование инструментов командной строки, таких как ffmpeg, который является швейцарским армейским ножом обработки звука... ffmpeg имеет входные параметры командной строки для запуска и остановки в определенное время ... также посмотрите на своего родного брата ffplay

Подобный ffplay / ffmpeg - другой аудио инструмент командной строки, называемый sox

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...