Bark Web UI
Это приложение представляет собой веб-интерфейс на основе Python Flask, предназначенный для облегчения генерации текста в речь с использованием коры Suno AI. Он предлагает множество вариантов настройки, включая возможность изменения голосового шага, скорости и других параметров.
Скриншот
Установка
- Установите кору, следуя инструкциям из репозитория коры. 1A. Если вы не запустили кору, прежде чем вам понадобится загрузка моделей, запуск теста загрузит и кэшируйте необходимые модели (модели примечаний варьируются по размеру, включая один размер более 5 ГБ).
python -m bark --text "Let's get this party started!" --output_filename "party.wav"
- Как только Bark запускает клон в этом репо в каталоге под названием
webui в месте установки bark .
cd bark
git clone https://github.com/bradsec/barkwebui webui
- Установите любые дополнительные пакеты Python, упомянутые в файле TEDS.TXT, чтобы соответствовать необходимому импорту в
app.py и bark_connector.py . Там будет общий импорт, уже установленный в процессе настройки коры. Если применимо перед установкой импорт, активируйте среду Python Venv или Conda/Miniconda, которую вы используете для коры. - Запустите
python barkwebui_server.py из папки webui , чтобы запустить приложение веб -сервера Flask, и должен отображаться аналогичный вывод:
* Serving Flask app 'barkwebui_server'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
- Доступ к веб -приложению через адрес браузера, как показано в окне терминала.
Структура
barkwebui_server.py предоставляет функциональность веб -сервера Flask получает и возвращает информацию из веб -интерфейса и переходит в barkwebui_connector.py . Также обрабатывает написание и удаление из записей из датчика JSON.
barkwebui_connector.py разбивает ввод текста перед передачей текста в приложение Bark. Также применяется любой аудиоэффект, выбранные как изменения в скорости, шага, шумоподавление и удаление молчания, если выбрано. Затем он напишет .wav с уникальным именем файла в static/output каталог.
templates/index.html единственный html -файл, используемый для приложения. Он будет ссылаться на другие файлы, такие как CSS и JavaScript из static каталога.
static/js - этот каталог содержит два JavaScript для страницы шаблона index.html.
-
barkwebui.js предоставляет большую часть функциональности страницы и связь между app.py с помощью socket.io -
populate.js заполняет параметры выбора раскрытия в index.html. -
theme.js для темного и легкого переключения темы.
static/output содержит заполненные аудиофайлы WAV.
static/json содержит barkwebui.json , который содержит информацию о любых сгенерированных аудиофайлах.
Текстовая температура
Этот параметр влияет на то, как модель генерирует речь из текста. Более высокое значение температуры текста делает выход модели более случайным, в то время как более низкое значение температуры текста делает выход модели более детерминированным. Другими словами, с высокой температурой текста модель с большей вероятностью генерирует необычную или неожиданную речь из данной текстовой подсказки. С другой стороны, с низкой температурой текста, модель с большей вероятностью придерживается наиболее вероятного выхода. Температура формы волны
Этот параметр влияет на то, как модель генерирует окончательную аудио -форму. Более высокое значение температуры формы волны вносит большую случайность в аудиовыход, что может привести к более необычным звукам или голосовым модуляциям. С другой стороны, температура более низкой формы волны делает аудио выходной сигнал более предсказуемой и последовательной. Уменьшить снижение шума / шума (NR)
Уменьшите фоновый шум (не так хорош, как усовершенствованный ИИ чище, и часто трудно сказать, что влияние на аудио, учитывая случайность каждой речи, созданной корой даже при одних и тех настройках, он также не может удалить эхо или галлюцинацию ИИ). Code Ref (bark_connector.py): если значение 'REATE_NOISE' верно, он запускает снижение шума на сгенерированном аудио с использованием библиотеки Noisereduce. Уменьшение_NOISE принимает аудиоданные и скорость дискретизации в качестве параметров и возвращает аудио с уменьшенным шумом. Если уменьшить_noise является ложным, снижение шума не применяется, и исходное звук используется. Удалить тишину (рупий)
Удалите любые расширенные паузы или молчание (может быть, не было много, было включено для ситуаций, когда генерируемый голос содержит длинные паузы по неизвестным причинам). Кодовая ссылка (bark_connector.py): если значение 'remove_silence' верно, это позволяет агрессивно удалять молчание, устанавливая VAD (обнаружение голосовой активности) на уровень 3. Библиотека Webrtcvad используется для обнаружения голосовой активности. Если remove_silence является ложным, уровень VAD устанавливается на 0, что означает, что удаление молчания не применяется. Скорость дискретизации также должна была быть снижена до 16000 с 24000, чтобы заставить его работать с библиотекой Webrtcvad. Регулировка аудио скорости и высоты
Изменения в скорости и высоте могут вызвать достаточное количество Echo и реверберации в выходном аудио. Запуск аудио через сторонний аудио-инструмент AI может помочь удалить Echo или реверберацию. Библиотека под названием Librosa используется для манипулирования аудио скоростью и высотой. Скорость звука регулируется с использованием функции `librosa.effects.time_strech`, которая растягивает или сжимает звук определенным фактором. Если параметр Speed, проходящий в функцию `GENERATE_VOICE`, не составляет 1,0 (то есть скорость аудио необходимо изменить), аудио натягивается заданной скоростью. Например, если скорость составляет 2, продолжительность звука будет вдвое, что заставит его играть в два раза быстрее. Шаг звука регулируется с использованием функции `librosa.effects.pitch_shift`. Эта функция смещает высоту звука на определенное количество полушаговых. Если параметр тона, передающийся в функцию `GENERATE_VOICE`, не составляет 0 (то есть, то шаг аудио необходимо изменить), тона звука сдвинуто на заданное количество полушаговых. Например, если шаг составляет 2, тона звука будет увеличена на 2 полушаговых шага. Более четкие результаты речи и аудио
Вы получите более чистую речь и лучшие результаты, которые просто генерируются без проверки NR или RS, и работая через A-усиленный A-усиленный инструмент, такой как Adobe Podcast, или другие подобные инструменты.