Monotone Audio Converter (Python) - PullRequest
1 голос
/ 06 июля 2019

Проект, над которым я работаю, требует, чтобы звук был стандартизирован до определенной высоты.Есть ли способ (с помощью Python) генерировать "роботизированный" звук?

Пример.Ввод: аудио говорящего, выход: полностью монотонный саундтрек говорящего

. До сих пор я экспериментировал с извлечением высоты тона и клипов со смещением высоты (которые не были успешными).

Ответы [ 2 ]

1 голос
/ 06 июля 2019

То, что вы ищете, называется кольцевая модуляция .Кольцевая модуляция - это метод обработки сигналов, который обычно используется для превращения звука нормального, вызывающего голоса в монотонный.Это было классно использовано, чтобы заставить актера озвучивать роль доктора Далека в фильме Dr.Кто звучит как робот.

Это очень сложная техника, требующая изрядной математики и не может быть легко объяснена на простом форуме.Я бы порекомендовал адаптировать github / nrlakin / robot_voice к вашим конкретным потребностям.Этот конкретный репозиторий содержит несколько программ на Python, которые могут принимать WAV-файл в качестве входных данных, применять кольцевую модуляцию и выводить WAV-файл монотонного голоса.

1 голос
/ 06 июля 2019

Я не совсем уверен, как решить эту проблему с помощью библиотек Python, но с помощью модуля subprocess вы можете вызывать внешние программы командной строки, такие как ffmpeg, и это фильтр loudnorm .

Это будет выглядеть примерно так:

import subprocess as sp
fname = example.mp3
ffmpeg_path = ./ffmpeg

pipe = sp.Popen([ FFMPEG_BIN, '-i', 'fname-af' 'loudnorm=I=-16:TP=-1.5:LRA=11'], stdout=sp.PIPE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...