GPU最適化されたインストールには追加の手順が必要です。これらの手順は、より良いパフォーマンスを必要とし、互換性のあるNvidia GPUを持っている人に推奨されます。
注: NVIDIA GPUがCUDAをサポートしているかどうかを確認するには、公式のCUDA GPUSリストにアクセスしてください。
CUDA経由のGPUサポートでRealTimesttを使用するには、次の手順に従ってください。
nvidia cudaツールキット11.8をインストール:
cuda 11.xにnvidia cudnn 8.7.0をインストールしてください:
ffmpegをインストール:
FFMPEG WebサイトからOSのインストーラーをダウンロードできます。
または、パッケージマネージャーを使用します。
ubuntuまたはdebian :
sudo apt update && sudo apt install ffmpegArch Linuxで:
sudo pacman -S ffmpegHomebrew(https://brew.sh/)を使用しているmacosについて:
brew install ffmpegChocolateyを使用してWindows (https://chocolatey.org/):
choco install ffmpegScoop(https://scoop.sh/)を使用してWindowsで:
scoop install ffmpegCUDAサポート付きのPytorchをインストールします。
pip uninstall torch
pip install torch==2.0.1+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt
win如果装不上wbrtcvad、提示了vs c ++相关的报错、请下载https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/、安装c ++开发相关工具、然后重新安装依赖。
python RealtimeSTT_server2.py
双击index.html 、浏览器运行、填入服务器ip地址、注意、关闭服务器的防火墙、或者针对性放行9001/9002
等待后端模型加载完毕后、就可以正常对话了。
2024-07-01
2024-06-03
2024-06-02
2024-05-28
リアルタイムアプリケーション用の使いやすく低遅延の音声からテキストへのライブラリ
Realtimesttはマイクに耳を傾け、音声をテキストに転写します。
それは理想的です:
withで使用できます)ヒント:今すぐ
multiprocessingモジュールを使用しているため、if __name__ == '__main__':特にWindowsなどのプラットフォームで予期しない動作を防ぐために、コードの保護を含めてください。これが重要な理由についての詳細な説明については、multiprocessingに関する公式のPythonドキュメントをご覧ください。
ヒント:このライブラリの出力のカウンターパートであるRealtimettsを、テキストから声への機能についてチェックしてください。一緒に、彼らは大規模な言語モデルを中心に強力なリアルタイムオーディオラッパーを形成します。
このライブラリは次のとおりです。
これらのコンポーネントは、最先端のアプリケーションの「業界標準」を表し、ハイエンドソリューションを構築するための最も近代的で効果的な基盤を提供します。
pip install RealtimeSTTこれにより、PytorchのCPUサポートのみバージョンを含む、必要なすべての依存関係がインストールされます。
CPUインストールのみでRealTimesttを実行することは可能ですが(この場合、「Tiny」または「Base」などの小さなモデルを使用してください)、次のことを使用してより良い経験を得ることができます。
GPU最適化されたインストールには追加の手順が必要です。これらの手順は、より良いパフォーマンスを必要とし、互換性のあるNvidia GPUを持っている人に推奨されます。
注: NVIDIA GPUがCUDAをサポートしているかどうかを確認するには、公式のCUDA GPUSリストにアクセスしてください。
CUDA経由のGPUサポートでRealTimesttを使用するには、次の手順に従ってください。
nvidia cudaツールキット11.8をインストール:
cuda 11.xにnvidia cudnn 8.7.0をインストールしてください:
ffmpegをインストール:
FFMPEG WebサイトからOSのインストーラーをダウンロードできます。
または、パッケージマネージャーを使用します。
ubuntuまたはdebian :
sudo apt update && sudo apt install ffmpegArch Linuxで:
sudo pacman -S ffmpegHomebrew(https://brew.sh/)を使用しているmacosについて:
brew install ffmpegChocolateyを使用してWindows (https://chocolatey.org/):
choco install ffmpegScoop(https://scoop.sh/)を使用してWindowsで:
scoop install ffmpegCUDAサポート付きのPytorchをインストールします。
pip uninstall torch
pip install torch==2.0.1+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118基本的な使用法:
録音の開始と停止は手動でトリガーされます。
recorder . start ()
recorder . stop ()
print ( recorder . text ())音声アクティビティ検出に基づく記録。
with AudioToTextRecorder () as recorder :
print ( recorder . text ())Recorder.Textをループで実行するときは、コールバックを使用して、転写を非同期に実行できるようにすることをお勧めします。
def process_text ( text ):
print ( text )
while True :
recorder . text ( process_text )音声を検出する前のキーワードのアクティブ化。目的のアクティベーションキーワードのコンマ分離リストをWake_Wordsパラメーターに記述します。これらのリストから目覚ましの言葉を選択できます:Alexa、Americano、Blueberry、Bumblebee、Computer、Grapefruits、Grasshopper、Hey Google、Hey Siri、Jarvis、OK Google、Picovoice、Porcupine、ターミネーター。
recorder = AudioToTextRecorder ( wake_words = "jarvis" )
print ( 'Say "Jarvis" then speak.' )
print ( recorder . text ())さまざまなイベントで実行されるコールバック関数を設定できます(構成を参照):
def my_start_callback ():
print ( "Recording started!" )
def my_stop_callback ():
print ( "Recording stopped!" )
recorder = AudioToTextRecorder ( on_recording_start = my_start_callback ,
on_recording_stop = my_stop_callback )ローカルマイクセットUSE_MICROPHONEパラメーターをfalseに使用し、16ビットモノ(サンプル16000)で生のPCMオーディオチョンクを提供したくない場合:この方法:
recorder . feed_audio ( audio_chunk )コンテキストマネージャープロトコルを使用して、レコーダーを安全にシャットダウンできます。
with AudioToTextRecorder () as recorder :
[...]または、シャットダウンメソッドを手動で呼び出すことができます(「with」を使用することは実行不可能な場合):
recorder . shutdown ()テストサブディレクトリには、Realtimettsライブラリの機能を評価および理解するのに役立つ一連のスクリプトが含まれています。
Realtimettsライブラリに応じてスクリプトをテストすると、スクリプト内にAzureサービス領域を入力する必要があります。 Openai-、Azure-またはElevenLabs関連のデモスクリプトを使用する場合、APIキーは環境変数で提供される必要がありますopenai_api_key、azure_speech_key、およびelevenlabs_api_key(realtimettsを参照)
simple_test.py
realtimestt_test.py
wakeword_test.py
Transrator.py
pip install openai realtimetts 。openai_voice_interface.py
pip install openai realtimetts 。Advanced_talk.py
pip install openai keyboard realtimetts 。minimalistic_talkbot.py
pip install openai realtimetts 。Example_App Subdirectoryには、PYQT5に基づくOpenAI APIの洗練されたユーザーインターフェイスアプリケーションが含まれています。
AudioToTextRecorderの初期化パラメーターAudioToTextRecorderクラスを初期化すると、動作をカスタマイズするさまざまなオプションがあります。
モデル(str、default = "tiny"):転写のモデルサイズまたはパス。
言語(str、default = ""):転写の言語コード。空のままになった場合、モデルは言語を自動検出しようとします。サポートされている言語コードは、Whisper Tokenizerライブラリにリストされています。
compute_type (str、default = "default"):転写に使用する計算のタイプを指定します。ささやきの量子化を参照してください
input_device_index (int、default = 0):使用するオーディオ入力デバイスインデックス。
gpu_device_index (int、default = 0):使用するGPUデバイスインデックス。モデルは、IDのリストを渡すことにより、複数のGPUにロードすることもできます([0、1、2、3])。
on_recording_start :録画が開始されるとトリガーされる呼び出し可能な関数。
on_recording_stop :記録が終了するとトリガーされる呼び出し可能な関数。
on_transcription_start :転写が開始されたときにトリガーされる呼び出し可能な関数。
surse_sentence_starting_uppercase (bool、default = true):アルゴリズムによって検出されたすべての文が大文字で始まることを保証します。
surse_sentence_ends_with_period (bool、default = true): "?"? "、"! "などの句読点で終わらないすべての文が保証されます。期間で終わります
use_microphone (bool、default = true):転写のためのローカルマイクの使用。 feed_audioメソッドでチャンクを提供する場合は、falseに設定します。
Spinner (bool、default = true):現在のレコーダー状態に関する情報を含むスピナーアニメーションテキストを提供します。
レベル(int、default = logging.warning):ロギングレベル。
注:リアルタイムの説明を有効にする場合、GPUのインストールを強くお勧めします。リアルタイム転写を使用すると、高いGPU負荷が発生する場合があります。
enable_realtime_transcription (bool、default = false):オーディオのリアルタイム転写を有効または無効にします。 Trueに設定すると、オーディオは記録されているときに継続的に転写されます。
realtime_model_type (str、default = "tiny"):リアルタイム転写に使用する機械学習モデルのサイズまたはパスを指定します。
realime_processing_pause (float、default = 0.2):オーディオのチャンクが転写されてから数秒で時間間隔を指定します。値が低いと、より「リアルタイム」(頻繁に)転写の更新が発生しますが、計算負荷が増加する可能性があります。
ON_REALTIME_TRANSCRIPTION_UPDATE :リアルタイム転写が更新されるたびにトリガーされるコールバック関数。この関数は、新しく転写されたテキストでその引数として呼び出されます。
on_realtime_transcription_stabilized :リアルタイムの転写に更新があるときにトリガーされ、より高品質で安定化されたテキストをその引数として返すコールバック関数。
Silero_Sensitivity (Float、Default = 0.6):Sileroの音声アクティビティ検出の感度は、0(最も感度が低い)から1(最も感度が高い)までの範囲です。デフォルトは0.6です。
Silero_Sensitivity (Float、Default = 0.6):Sileroの音声アクティビティ検出の感度は、0(最も感度が低い)から1(最も感度が高い)までの範囲です。デフォルトは0.6です。
SILERO_USE_ONNX (bool、default = false):Pytorch形式ではなく、onnx(Open Neural Network Exchange)形式でSileroから事前トレーニングされたモデルの使用を有効にします。デフォルトはfalseです。より速いパフォーマンスに推奨されます。
post_speech_silence_duration (float、default = 0.2):録音が完了すると見なされる前に音声に従わなければならない沈黙の数秒単位での期間。これにより、スピーチ中の短い一時停止は、録音を時期尚早に終了しないようにします。
min_gap_between_recordings (float、default = 1.0):録音セッションの終了と別の録音の始まりの間に存在する秒単位で最小時間間隔を指定して、急速な連続した録音を防ぎます。
min_length_of_recording (float、default = 1.0):意味のあるオーディオキャプチャを確保するために録音セッションが続く秒単位で最小期間を指定し、過度に短いまたは断片化された録音を防ぎます。
pre_recording_buffer_duration (float、default = 0.2):正式な録音の前にオーディオがバッファリングされる秒単位の期間。これにより、音声アクティビティの検出に固有のレイテンシを相殺するのに役立ち、初期オーディオが見逃されないようにします。
on_vad_detect_start :システムが音声アクティビティを聞き始めたときにトリガーされる呼び出し可能な関数。
ON_VAD_DETECT_STOP :システムが停止して音声アクティビティを聞くとトリガーされる呼び出し可能な関数。
wake_words (str、default = ""):録音を開始するための単語を覚ます。複数のウェイクワードは、コンマ区切りの文字列として提供できます。サポートされているウェイクの言葉は、Alexa、Americano、Blueberry、Bumblebee、Computer、Grapefruits、Grasshopper、Hey Google、Hey Siri、Jarvis、Ok Google、Picovoice、Porcupine、Terminator
wake_words_sensitivity (float、default = 0.6):ウェイクワード検出の感度レベル(最も感度が低い場合は0、最もセンシティブの場合は1)。
wake_word_activation_delay (float、default = 0):監視の開始後数秒で、システムが最初に検出されない場合は、システムがWake Wordアクティベーションに切り替える前の期間。ゼロに設定すると、システムはすぐにWake Wordのアクティブ化を使用します。
wake_word_timeout (float、default = 5):ウェイクワードが認識されてから数秒後の期間。このウィンドウ内で後続の音声アクティビティが検出されない場合、システムは非アクティブな状態に戻り、次のウェイクワードまたは音声のアクティブ化を待っています。
on_wakeword_detected :ウェイクワードが検出されたときにトリガーされる呼び出し可能な関数。
on_wakeword_timeout :ウェイクワードのアクティブ化後にスピーチが検出されなかった後、システムが非アクティブ状態に戻ったときにコール可能な関数がトリガーされました。
on_wakeword_detection_start :システムがウェイクワードを聞き始めたときにトリガーされる呼び出し可能な関数
on_wakeword_detection_end :ウェイクワードを聞くために停止するときにトリガーされる呼び出し可能な関数(例:タイムアウトやウェイクワードが検出されたため)
貢献はいつでも大歓迎です!
mit
コルジャ・ベイゲル
メール:[email protected]
github