Rinde Web UI
Diese Anwendung ist eine auf Python-Flask-basierte Web-Benutzeroberfläche, mit der die Erzeugung von Text-to-Speech mithilfe der Rinde von Suno AI ermittelt werden soll. Es bietet eine Vielzahl von Anpassungsoptionen, einschließlich der Möglichkeit, die Sprachabteilung, Geschwindigkeit und andere Parameter zu ändern.
Screenshot
Installation
- Installieren Sie Rinde, indem Sie die Anweisungen aus dem Bark -Repository befolgen. 1a. Wenn Sie Barks nicht ausgeführt haben, bevor Sie die Modelle herunterladen müssen, wird die erforderlichen Modelle heruntergeladen und zwischengespeichert (Hinweismodelle variieren in der Größe, einschließlich einer über 5 GB Größe).
python -m bark --text "Let's get this party started!" --output_filename "party.wav"
- Sobald Rinde klon dieses Repo in ein Verzeichnis namens
webui innerhalb des Bindeninstallationsortes bark .
cd bark
git clone https://github.com/bradsec/barkwebui webui
- Installieren Sie zusätzliche Python -Pakete, die in der Datei "Anforderungen.txt" genannt werden, um die erforderlichen Importe in
app.py und bark_connector.py zu erfüllen. Es werden bereits vom Bark -Setup -Vorgang gemeinsam genutzte Importe installiert. Falls zutreffend vor der Installation der Importe die Python -Venv- oder Conda/Miniconda -Umgebung aktivieren, die Sie für Rinde verwenden. - Führen Sie den
python barkwebui_server.py aus dem webui -Ordner aus, um die Flask -Webserveranwendung zu starten, und eine ähnliche Ausgabe sollte angezeigt werden:
* 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
- Greifen Sie über die Browseradresse auf Webanwendung zu, wie im Terminalfenster gezeigt.
Struktur
barkwebui_server.py bietet die Funktionalität des Flask -Webservers an und gibt Informationen von der Weboberfläche zurück und übergibt an barkwebui_connector.py . Behandelt auch das Schreiben und Löschen von Einträgen aus dem JSON -Datumsset.
barkwebui_connector.py bricht die Texteingabe ein, bevor Text an die Bark -Anwendung weitergegeben wird. Wendet auch einen Audio -Effekt an, der wie Änderungen zu Geschwindigkeit, Tonhöhe, Rauschreduzierungen und Entfernen der Stille ausgewählt wird, wenn sie ausgewählt sind. Anschließend schreibt das .wav mit einem einzigartigen Dateinamen in das static/output -Verzeichnis.
templates/index.html Die einzige für die App verwendete HTML -Datei. Es verweist auf andere Dateien wie CSS und JavaScript aus dem static Verzeichnis.
static/js - Dieses Verzeichnis enthält zwei JavaScript für Index.html -Vorlagenseite.
-
barkwebui.js bietet den größten Teil der Seitenfunktionalität und den Link zwischen app.py mit Socket.io -
populate.js populiert die Dropdown -Optionen in index.html aus. -
theme.js für dunkle und helles Thema wechseln.
static/output enthält die ausgefüllten WAV -Audio -Dateien.
static/json enthält den barkwebui.json , der Informationen zu generierten Audiodateien enthält.
Texttemperatur
Dieser Parameter wirkt sich aus, wie das Modell Sprache aus dem Text erzeugt. Ein höherer Texttemperaturwert macht den Ausgang des Modells zufällig, während ein niedrigerer Texttemperaturwert die Ausgabe des Modells deterministischer macht. Mit anderen Worten, mit einer hohen Texttemperatur erzeugt das Modell eher eine ungewöhnliche oder unerwartete Sprache von einer bestimmten Textaufforderung. Andererseits haftet das Modell bei einer niedrigen Texttemperatur eher eng an der wahrscheinlichsten Ausgabe. Wellenformtemperatur
Dieser Parameter wirkt sich aus, wie das Modell die endgültige Audiowellenform erzeugt. Ein höherer Temperaturwert mit höherer Wellenform führt zu mehr Zufälligkeit in den Audioausgang, was zu ungewöhnlicheren Geräuschen oder Sprachmodulationen führen kann. Eine niedrigere Wellenformtemperatur hingegen macht den Audioausgang vorhersehbarer und konsistenter. Reduzieren Sie die Rausch- / Rauschreduzierung (NR)
Reduzieren Sie das Hintergrundgeräusch (nicht so gut wie ein KI -verstärkter Reiniger und oft schwer zu erkennen, dass der Audio angesichts der Zufälligkeit jeder mit Rinde erzeugten Sprache auch bei den gleichen Einstellungen auch nicht das Echo oder die KI -Halluzination entfernen kann). CODE REF (bark_connector.py): Wenn der Wert von 'recly_noise' wahr ist, löst er die Rauschreduktion des generierten Audios mithilfe der Noisereduce -Bibliothek aus. record_noise nimmt die Audiodaten und die Stichprobenrate als Parameter ein und gibt das Audio mit reduziertem Rauschen zurück. Wenn record_noise falsch ist, wird keine Geräuschreduzierung angewendet und das ursprüngliche Audio wird verwendet. Stille entfernen (Rs)
Entfernen Sie erweiterte Pausen oder Stille (möglicherweise nicht viel zu tun, wurde in Situationen einbezogen, wenn die generierte Stimme aus unbekannten Gründen lange Pausen enthält). Code Ref (bark_connector.py): Wenn der Wert von 'remove_Silence' wahr ist, ermöglicht er eine aggressive Stille -Entfernung, indem die VAD (Sprachaktivitätserkennung) auf Stufe 3 festgelegt wird. Wenn REMED_SILENce falsch ist, wird die VAD -Ebene auf 0 gesetzt, was bedeutet, dass keine Stille entfernt wird. Die Stichprobenrate musste außerdem von 24000 auf 16000 reduziert werden, damit sie mit der WebRTCVAD -Bibliothek funktioniert. Audiogeschwindigkeit und Tonhöhe einstellen
Änderungen an Geschwindigkeit und Tonhöhe können im Ausgabe -Audio eine angemessene Menge Echo und Hall verursachen. Das Ausführen des Audios über ein AI-Audio-Tool von Drittanbietern kann dazu beitragen, Echo oder Hall zu entfernen. Eine Bibliothek namens Librosa wird zur Manipulation der Audiogeschwindigkeit und der Tonhöhe verwendet. Die Geschwindigkeit des Audio wird unter Verwendung der Funktion `librosa.effects.time_tretch` angepasst, die das Audio um einen bestimmten Faktor erstreckt oder komprimiert. Wenn der in die Funktion `generate_voice` übergabe Geschwindigkeitsparameter nicht 1.0 beträgt (dh die Geschwindigkeit des Audios muss geändert werden), ist der Audio durch die angegebene Rate zeitlich gestreckt. Wenn die Geschwindigkeit beispielsweise 2 beträgt, wird die Dauer des Audios halbiert, sodass sie doppelt so schnell spielt. Die Tonhöhe des Audio wird mit der Funktion `librosa.effects.pitch_shift` angepasst. Diese Funktion verschiebt die Tonhöhe des Audios um eine bestimmte Anzahl von Halbschritten. Wenn der in die Funktion "generate_voice" übergabe Pitch-Parameter nicht 0 beträgt (dh die Tonhöhe des Audios muss geändert werden), wird die Tonhöhe des Audios durch die angegebene Anzahl der halben Schritte verschoben. Wenn die Tonhöhe beispielsweise 2 ist, wird die Tonhöhe des Audios um 2 halbe Schritte erhöht. Klarere Sprach- und Audioergebnisse
Sie erhalten eine sauberere Sprache und bessere Ergebnisse, die nur ohne NR oder RS überprüft werden und durch ein AI-verbessertes Tool wie Adobe Podcast Enhance oder ähnliche Tools laufen.