Ui web de ladrido
Esta aplicación es una interfaz de usuario web basada en el frasco de Python diseñada para facilitar la generación de texto a voz utilizando la corteza de Suno AI. Ofrece una variedad de opciones de personalización, incluida la capacidad de modificar el tono de voz, la velocidad y otros parámetros.
Captura de pantalla
Instalación
- Instale la corteza siguiendo las instrucciones desde el repositorio de corteza. 1a. Si no ha ejecutado Bark antes de que necesite descargar los modelos, ejecutar una prueba descargará y almacenará en caché los modelos requeridos (los modelos de nota varían en tamaño, incluidos uno de más de 5 GB).
python -m bark --text "Let's get this party started!" --output_filename "party.wav"
- Una vez que Bark está ejecutando clon este repositorio en un directorio llamado
webui dentro de la ubicación de instalación bark .
cd bark
git clone https://github.com/bradsec/barkwebui webui
- Instale cualquier paquete de Python adicional mencionado en el archivo requisitos.txt para cumplir con las importaciones requeridas en
app.py y bark_connector.py . El proceso de configuración de corteza ya instalará las importaciones compartidas. Si corresponde, antes de instalar las importaciones, active el entorno Python Venv o Conda/Miniconda que está utilizando para la corteza. - Ejecute el
python barkwebui_server.py desde la carpeta webui para iniciar la aplicación del servidor web Flask y se debe mostrar una salida similar:
* 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
- Acceda a la aplicación web a través de la dirección del navegador como se muestra en la ventana Terminal.
Estructura
barkwebui_server.py proporciona la funcionalidad del servidor web de Flask recibe y devuelve información de la interfaz web y pasa a barkwebui_connector.py . También maneja la escritura y la eliminación de las entradas de la fechas JSON.
barkwebui_connector.py rompe la entrada de texto antes de pasar el texto a la aplicación Bark. También aplica cualquier efecto de audio seleccionado como cambios a velocidad, tono, reducciones de ruido y eliminación de silencio si se selecciona. Luego escribirá el .wav con nombre de archivo único al directorio static/output .
templates/index.html El único archivo HTML utilizado para la aplicación. Hará referencia a otros archivos como CSS y JavaScript desde el directorio static .
static/js : este directorio contiene dos JavaScript para la página de plantilla index.html.
-
barkwebui.js proporciona la mayor parte de la funcionalidad de la página y el enlace entre app.py usando Socket.io -
populate.js poca las opciones de desplegable Seleccionar en index.html. -
theme.js para conmutación de temas oscuro y ligero.
static/output contiene los archivos de audio WAV completados.
static/json contiene el barkwebui.json que contiene información sobre cualquier archivo de audio generado.
Temperatura del texto
Este parámetro afecta cómo el modelo genera el habla a partir del texto. Un valor de temperatura de texto más alto hace que la salida del modelo sea más aleatoria, mientras que un valor de temperatura de texto más bajo hace que la salida del modelo sea más determinista. En otras palabras, con una temperatura de texto alta, es más probable que el modelo genere un discurso inusual o inesperado a partir de un mensaje de texto dado. Por otro lado, con una temperatura de texto baja, es más probable que el modelo se mantenga estrechamente con la salida más probable. Temperatura de la forma de onda
Este parámetro afecta cómo el modelo genera la forma de onda de audio final. Un valor de temperatura de forma de onda más alto introduce más aleatoriedad en la salida de audio, lo que podría dar lugar a sonidos o modulaciones de voz más inusuales. Una temperatura de forma de onda más baja, por otro lado, hace que la salida de audio sea más predecible y consistente. Reducción de ruido / ruido (NR)
Reduzca el ruido de fondo (no tan bueno como un limpiador mejorado de IA y, a menudo, es difícil decir el impacto al audio dada la aleatoriedad de cada habla generada por el habla incluso con la misma configuración, tampoco puede eliminar el eco o la alucinación de IA). Código Ref (Bark_Connector.py): si el valor de 'Reduce_noise' es verdadero, desencadena la reducción de ruido en el audio generado utilizando la biblioteca NoIsereduce. Reduce_noise toma los datos de audio y la frecuencia de muestreo como parámetros y devuelve el audio con ruido reducido. Si Reduce_noise es falso, no se aplica una reducción de ruido y se usa el audio original. Eliminar el silencio (RS)
Eliminar cualquier pausa o silencio extendido (puede no hacer mucho, se incluyó para situaciones cuando la voz generada contiene pausas largas por razones desconocidas). Código Ref (Bark_Connector.py): si el valor de 'Remove_Silence' es verdadero, permite la eliminación de silencio agresivo al establecer el VAD (detección de actividad de voz) en el nivel 3. La biblioteca Webrtcvad se usa para la detección de actividad de voz. Si eliminar_silence es falso, el nivel VAD se establece en 0, lo que significa que no se aplica la eliminación de silencio. La frecuencia de muestreo también tuvo que reducirse a 16000 de 24000 para que funcione con la Biblioteca Webrtcvad. Ajustar la velocidad de audio y el tono
Los cambios en la velocidad y el tono pueden causar una buena cantidad de eco y reverb en el audio de salida. Ejecutar el audio a través de una herramienta de audio AI de terceros puede ayudar a eliminar Echo o Reverb. Se utiliza una biblioteca llamada Biblioteca para manipular la velocidad y el tono de audio. La velocidad del audio se ajusta utilizando la función `Librosa.Effects.Time_Stretch`, que estira o comprime el audio por cierto factor. Si el parámetro de velocidad que pasa a la función `Generate_Voice` no es 1.0 (es decir, la velocidad del audio debe cambiarse), el audio se ajusta en el tiempo por la tasa dada. Por ejemplo, si la velocidad es 2, la duración del audio se reducirá a la mitad, lo que lo hace jugar el doble de rápido. El tono del audio se ajusta utilizando la función 'Librosa.Effects.pitch_Shift`. Esta función cambia el tono del audio por un cierto número de medios pasos. Si el parámetro de lanzamiento que pasa a la función `Generate_Voice` no es 0 (es decir, el tono del audio debe cambiarse), el tono del audio se desplaza por el número dado de medios pasos. Por ejemplo, si el tono es 2, el tono del audio se incrementará en 2 medios pasos. Resultados más claros del habla y el audio
Obtendrá un discurso más limpio y mejores resultados simplemente generando sin NR o RS verificados y ejecutados a través de una herramienta mejorada con AI como Adobe Podcast MECHANCE u otras herramientas similares.