樹皮Web UI
このアプリケーションは、Suno AIの樹皮を使用してテキストからスピーチの生成を促進するように設計されたPython FlaskベースのWeb UIです。音声ピッチ、速度、その他のパラメーターを変更する機能など、さまざまなカスタマイズオプションを提供します。
スクリーンショット
インストール
- Barkリポジトリからの指示に従ってBarkをインストールします。 1a。モデルをダウンロードする必要がある前に樹皮を実行していない場合、テストを実行すると、必要なモデルがダウンロードされ、キャッシュされます(メモモデルは5GBを超えるサイズを含むサイズが異なります)。
python -m bark --text "Let's get this party started!" --output_filename "party.wav"
- BarkがCloneを実行したら、このリポジトリは
bark設置場所内でwebuiというディレクトリになります。
cd bark
git clone https://github.com/bradsec/barkwebui webui
- 要件に記載されている追加のPythonパッケージをインストールして、
app.pyおよびbark_connector.pyで必要なインポートを満たしています。樹皮セットアッププロセスによってすでにインストールされている共有インポートがあります。インストールする前に該当する場合は、樹皮に使用しているPython VenvまたはConda/Miniconda環境をアクティブにします。 -
webuiフォルダー内からpython barkwebui_server.pyを実行してFlask Webサーバーアプリケーションを開始し、同様の出力を表示する必要があります。
* 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
- ターミナルウィンドウに示すように、ブラウザアドレスを介してWebアプリケーションにアクセスします。
構造
barkwebui_server.py 、Flask Web Server機能を提供し、Webインターフェイスから情報を受信して返し、 barkwebui_connector.pyに渡されます。また、JSON Datesetからのエントリの書き込みと削除を処理します。
barkwebui_connector.py 、barkアプリケーションにテキストを渡す前にテキスト入力を分割します。また、選択された場合、選択された場合、選択された変更のように選択されたオーディオ効果を適用し、選択した場合は沈黙を削除します。その後、 static/outputディレクトリに一意のファイル名で.wav書き込みます。
templates/index.htmlアプリに使用される唯一のHTMLファイル。 static DirectoryからCSSやJavaScriptなどの他のファイルを参照します。
static/js -このディレクトリには、index.htmlテンプレートページ用の2つのJavaScriptが含まれています。
-
barkwebui.js 、ほとんどのページ機能とsocket.ioを使用してapp.py間のリンクを提供します populate.js 、index.htmlの選択したドロップダウンオプションに入力します。- ダークおよびライトテーマの切り替えのための
theme.js 。
static/output完成したWAVオーディオファイルが含まれています。
static/jsonには、生成されたオーディオファイルに関する情報が含まれるbarkwebui.jsonが含まれています。
テキスト温度
このパラメーターは、モデルがテキストからスピーチを生成する方法に影響します。テキストの温度値が高いほど、モデルの出力がよりランダムになりますが、テキストの温度値が低いとモデルの出力がより決定的になります。言い換えれば、テキストの温度が高いため、モデルは特定のテキストプロンプトから異常なまたは予期しないスピーチを生成する可能性が高くなります。一方、テキスト温度が低いと、モデルは最も可能性の高い出力に密接に固執する可能性が高くなります。波形温度
このパラメーターは、モデルが最終的なオーディオ波形を生成する方法に影響します。波形の温度値が高いと、オーディオ出力によりランダム性が向上し、より珍しい音や音声変調が生じる可能性があります。一方、波形温度が低いと、オーディオ出力がより予測可能で一貫性があります。ノイズ /ノイズリダクション(NR)を減らす
バックグラウンドノイズを減らします(AI強化クリーナーほど良くなく、同じ設定で生成された各樹皮のランダム性を考慮して、音声に影響を与えるのが難しく、エコーやAIの幻覚を削除することもできません)。 code ref(bark_connector.py):「resid_noise」の値がtrueの場合、Noisereduceライブラリを使用して生成されたオーディオのノイズリダクションをトリガーします。 Recose_noiseは、オーディオデータとサンプルレートをパラメーターとして取得し、ノイズを減らしてオーディオを返します。 resid_noiseがfalseの場合、ノイズリダクションは適用されず、元のオーディオが使用されます。沈黙を削除する(Rs)
延長された一時停止または沈黙を取り除きます(多くのことをしないかもしれませんが、生成された音声が不明な理由で長い一時停止を含む場合、状況に含まれていました)。 code ref(bark_connector.py):「remove_silence」の値が真である場合、VAD(音声アクティビティ検出)をレベル3に設定することにより、積極的な沈黙除去を可能にします。WebrtCVADライブラリは音声アクティビティの検出に使用されます。 remove_silenceがfalseの場合、VADレベルは0に設定されているため、沈黙の除去は適用されません。また、サンプルレートを24000から16000に減らす必要がありました。オーディオ速度とピッチの調整
スピードとピッチの変更により、出力オーディオにかなりの量のエコーとリバーブが発生する場合があります。サードパーティのAIオーディオツールを介してオーディオを実行すると、エコーまたはリバーブを削除することができます。 Librosaと呼ばれるライブラリは、オーディオ速度とピッチを操作するために使用されます。オーディオの速度は、 `librosa.effects.time_stretch`関数を使用して調整されます。 `generate_voice`関数に渡された速度パラメーターが1.0ではない場合(つまり、オーディオの速度を変更する必要があります)、オーディオは指定されたレートによって時間伸びされます。たとえば、速度が2の場合、オーディオの期間は半分になり、2倍の速さで再生されます。オーディオのピッチは、 `librosa.effects.pitch_shift`関数を使用して調整されます。この関数は、オーディオのピッチを特定の数のハーフステップでシフトします。 `generate_voice`関数に渡されたピッチパラメーターが0ではない場合(つまり、オーディオのピッチを変更する必要があります)、オーディオのピッチは、与えられたハーフステップの数によってシフトされます。たとえば、ピッチが2の場合、オーディオのピッチは2つのハーフステップで増加します。より明確な音声と音声の結果
NRやRSがチェックされずに生成され、Adobe Podcast Enhanceやその他の同様のツールなどのAI強化ツールを実行することなく、よりクリーンなスピーチとより良い結果が得られます。