Bark web ui
Cette application est une interface utilisateur Web basée sur Python Flask conçue pour faciliter la génération de texte vocale à l'aide de l'écorce de Suno AI. Il offre une variété d'options de personnalisation, y compris la possibilité de modifier la hauteur vocale, la vitesse et d'autres paramètres.
Capture d'écran
Installation
- Installez l'écorce en suivant les instructions du référentiel d'écorce. 1A. Si vous n'avez pas exécuté l'écorce avant, vous devrez télécharger les modèles, l'exécution d'un test téléchargera et mettra en cache les modèles requis (les modèles de notes varient en taille, dont un de plus de 5 Go).
python -m bark --text "Let's get this party started!" --output_filename "party.wav"
- Une fois que Bark exécute clone ce repo dans un répertoire appelé
webui dans l'emplacement d'installation bark .
cd bark
git clone https://github.com/bradsec/barkwebui webui
- Installez tous les packages Python supplémentaires mentionnés dans le fichier exigences.txt pour répondre aux importations requises dans
app.py et bark_connector.py . Il y aura des importations partagées déjà installées par le processus de configuration de l'écorce. Le cas échéant, avant d'installer les importations, activez l'environnement Python Venv ou Conda / Miniconda que vous utilisez pour l'écorce. - Exécutez le
python barkwebui_server.py à partir du dossier webui pour démarrer l'application Flask Web Server et une sortie similaire doit être affichée:
* 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
- Accédez à l'application Web via l'adresse du navigateur comme indiqué dans la fenêtre du terminal.
Structure
barkwebui_server.py fournit la fonctionnalité du serveur Web Flask reçoit et renvoie des informations de l'interface Web et passe dans barkwebui_connector.py . Gère également l'écriture et la suppression des entrées de l'ensemble de dates JSON.
barkwebui_connector.py rompt la entrée de texte avant de passer du texte à l'application Bark. Applique également tout effet audio sélectionné comme les modifications de la vitesse, la hauteur, les réductions de bruit et la suppression du silence si elles sont sélectionnées. Il écrira ensuite le .wav avec un nom de fichier unique dans le répertoire static/output .
templates/index.html Le seul fichier HTML utilisé pour l'application. Il fera référence à d'autres fichiers comme CSS et JavaScript du répertoire static .
static/js - Ce répertoire contient deux JavaScript pour index.html la page de modèle.
-
barkwebui.js fournit la plupart des fonctionnalités de la page et le lien entre app.py à l'aide de socket.io -
populate.js remplit les options de liste déroulante Select dans index.html. -
theme.js pour la commutation de thème sombre et légère.
static/output contient les fichiers audio WAV terminés.
static/json contient le barkwebui.json qui contient des informations sur tous les fichiers audio générés.
Température du texte
Ce paramètre affecte la façon dont le modèle génère la parole à partir du texte. Une valeur de température de texte plus élevée rend la sortie du modèle plus aléatoire, tandis qu'une valeur de température de texte plus faible rend la sortie du modèle plus déterministe. En d'autres termes, avec une température de texte élevée, le modèle est plus susceptible de générer une parole inhabituelle ou inattendue à partir d'une invite de texte donnée. D'un autre côté, avec une faible température de texte, le modèle est plus susceptible de rester étroitement à la sortie la plus probable. Température de forme d'onde
Ce paramètre affecte la façon dont le modèle génère la forme d'onde audio finale. Une valeur de température de forme d'onde plus élevée introduit plus d'aléatoire dans la sortie audio, ce qui pourrait entraîner des sons ou des modulations vocales plus inhabituels. Une température de forme d'onde plus faible, en revanche, rend la sortie audio plus prévisible et cohérente. Réduire la réduction du bruit / bruit (NR)
Réduisez le bruit de fond (pas aussi bon qu'un nettoyant amélioré en IA et souvent difficile à dire sur l'impact sur l'audio étant donné le hasard de chaque discours généré par l'écorce même avec les mêmes paramètres, il ne peut pas non plus supprimer l'écho ou l'hallucination IA). Code Ref (bark_connector.py): Si la valeur de 'Reduce_Noise' est vraie, elle déclenche la réduction du bruit sur l'audio généré à l'aide de la bibliothèque NoiseReduce. Reduce_noise prend les données audio et la fréquence d'échantillonnage sous forme de paramètres et renvoie l'audio avec un bruit réduit. Si la réduction_noise est fausse, aucune réduction de bruit n'est appliquée et l'audio d'origine est utilisé. Retirer le silence (RS)
Retirer toutes les pauses ou le silence étendus (peut ne pas faire grand-chose, a été inclus pour les situations lorsque la voix générée contient de longues pauses pour des raisons inconnues). Code ref (bark_connector.py): Si la valeur de «Remove_Silence» est vraie, elle permet la suppression de silence agressive en définissant le VAD (détection d'activité vocale) au niveau 3. La bibliothèque WebBrtcvad est utilisée pour la détection d'activité vocale. Si la suppression de la situation est fausse, le niveau de VAD est réglé sur 0, ce qui signifie qu'aucune suppression de silence n'est appliquée. Le taux d'échantillonnage a également dû être réduit à 16000, contre 24000 pour le faire fonctionner avec la bibliothèque Webbrtcvad. Réglage de la vitesse audio et de la hauteur
Les modifications de la vitesse et de la hauteur peuvent provoquer une bonne quantité d'écho et de réverbération dans l'audio de sortie. L'exécution de l'audio via un outil audio AI tiers peut aider à supprimer l'écho ou la réverbération. Une bibliothèque appelée Librosa est utilisée pour manipuler la vitesse audio et la hauteur. La vitesse de l'audio est ajustée à l'aide de la fonction `librosa.effects.time_strech`, qui étire ou compresse l'audio par un certain facteur. Si le paramètre de vitesse transmis dans la fonction `generate_voice` n'est pas 1.0 (c'est-à-dire que la vitesse de l'audio doit être modifiée), l'audio est étendu par le taux donné. Par exemple, si la vitesse est de 2, la durée de l'audio sera divisée par deux, ce qui la rend deux fois plus vite. La hauteur de l'audio est ajustée à l'aide de la fonction `librosa.effects.pitch_shift`. Cette fonction déplace la hauteur de l'audio par un certain nombre de demi-étapes. Si le paramètre Pitch transmis dans la fonction `Generate_Voice` n'est pas 0 (c'est-à-dire, la hauteur de l'audio doit être modifiée), la hauteur de l'audio est décalée par le nombre donné de demi-étapes. Par exemple, si la hauteur est de 2, la hauteur de l'audio sera augmentée de 2 demi-étapes. Résultats de la parole et audio plus clairs
Vous obtiendrez une parole plus propre et de meilleurs résultats en générant sans NR ou RS vérifiés et en cours d'exécution dans un outil amélioré AI-AIME comme Adobe Podcast Enhance ou d'autres outils similaires.