Воспроизведение звука без первоначального щелчка в Python - PullRequest
0 голосов
/ 05 октября 2019

Я новичок в python и пытаюсь создать простое приложение для будильника (пока командная строка). Это использует Python 3.6, и я разрабатываю на Ubuntu 18.04. Когда я играю звук, используя pydub, playsound или simpleaudio, этому звуку предшествует раздражающий щелчок, который, как я полагаю, предназначен для имитации нажатия кнопки на машине. Возможно, я пропустил это в документах, но ничего не вижу.

Для ясности, этот щелчок не существует в звуковом файле. Я поместил команду воспроизведения в цикл, чтобы проверить и услышать ее только при начальной игре. Например:

# run pydub
sound = AudioSegment.from_file(f, format="wav")
# play(sound)
for _ in range(2):
    play(sound)

Это происходит независимо от воспроизведения wav, mp3 или flac.

FWIW - у меня не получилось использовать python-vlc и pygame. Я боюсь тратить много времени только на то, чтобы продолжать слышать «щелчок».

Итак, вопрос в том, как мне предотвратить щелчок или какую библиотеку / модуль следует использовать для достижения воспроизведения фрагмента в таком виде. простое приложение?

1 Ответ

0 голосов
/ 25 октября 2019

Вероятно, самый простой способ устранить щелчок в существующих аудиоданных - это поместить в начало очень короткое усиление, чтобы гарантировать, что воспроизведение начинается с «пересечения нуля»

sound = AudioSegment.from_file(f, format="wav")

# 10 ms fade in
sound = sound.fade_in(duration=10)

for _ in range(2):
    play(sound)
...