Skip to content

Latest commit

 

History

History
142 lines (100 loc) · 6.26 KB

README.ja.md

File metadata and controls

142 lines (100 loc) · 6.26 KB

SONATA 🎵🔊

License: GPL v3 PyPI version Python 3.8+ GitHub stars

SOund and Narrative Advanced Transcription Assistant

SONATAは、感情表現や非言語的キューを含む人間の表現をキャプチャする先進的なASR(Automatic Speech Recognition)システムです。

✨ Features

  • 🎙️ WhisperXを使用した高精度 speech-to-text 変換
  • 😀 523種類以上の emotive sound と non-verbal cue の認識
  • 🌍 10言語対応
  • 👥 複数話者の書き起こしのための speaker diarization(オンラインとオフラインモード)
  • ⏱️ 単語レベルの正確な timestamp 情報
  • 🔄 オーディオ preprocessing 機能

📚 詳細な機能ドキュメントを見る

🚀 Installation

PyPIからパッケージをインストール:

pip install sonata-asr

またはソースからインストール:

git clone https://github.com/hwk06023/SONATA.git
cd SONATA
pip install -e .

📖 Quick Start

基本的な書き起こし

from sonata.core.transcriber import IntegratedTranscriber

# トランスクライバーを初期化
transcriber = IntegratedTranscriber(asr_model="large-v3", device="cpu")

# 音声ファイルを書き起こし
result = transcriber.process_audio("path/to/audio.wav", language="ja")
print(result["integrated_transcript"]["plain_text"])

CLIの使用方法

# 基本的な使用法
sonata-asr path/to/audio.wav

# 話者分離機能を使用
sonata-asr path/to/audio.wav --diarize --hf-token YOUR_HUGGINGFACE_TOKEN

# オフライン話者分離を使用(設定後はトークン不要)
sonata-asr path/to/audio.wav --diarize --offline-diarize --offline-config ~/.sonata/models/offline_config.yaml

注意: オンライン話者分離を使用する場合、pyannote/speaker-diarization-3.1pyannote/segmentation-3.0 の両方のモデルのアクセス権限が必要です。両方のモデルページを訪問し、それぞれの利用規約に同意してアクセス権を取得してください。

主なCLIオプション:

一般:
  -o, --output FILE           指定したJSONファイルに書き起こし結果を保存
  -l, --language LANG         言語コード (en, ko, zh, ja, fr, de, es, it, pt, ru)
  -m, --model NAME            WhisperXモデルサイズ (tiny, small, medium, large-v3 など)
  -d, --device DEVICE         モデル実行デバイス (cpu, cuda)
  --text-output FILE          整形された書き起こしをテキストファイルに保存
  --format TYPE               出力形式: concise, default, extended
  --preprocess                オーディオの前処理(形式変換と無音トリミング)

話者分離:
  --diarize                   話者分離を有効化
  --hf-token TOKEN            HuggingFaceトークン(オンライン話者分離用)
  --min-speakers NUM          最小話者数を設定
  --max-speakers NUM          最大話者数を設定
  --offline-diarize           オフライン話者分離を使用(設定後はトークン不要)
  --offline-config PATH       オフライン話者分離設定ファイルのパス
  --setup-offline             オフライン話者分離モデルのダウンロードとセットアップ

音声イベント:
  --threshold VALUE           音声イベント検出の閾値 (0.0-1.0)
  --custom-thresholds FILE    カスタム音声イベント閾値を含むJSONファイルのパス

📚 完全な使用方法ドキュメントを見る
⌨️ 完全なCLIドキュメントを見る
🎤 オフライン diarization ガイドを見る

🗣️ Supported Languages

SONATAは英語、韓国語、中国語、日本語、フランス語、ドイツ語、スペイン語、イタリア語、ポルトガル語、ロシア語など10の言語をサポートしています。

🌐 言語ドキュメントを見る

🔊 Audio Event Detection

SONATAは笑い声、拍手から環境音、音楽まで500以上の異なるオーディオイベントを検出できます。カスタマイズ可能なイベント検出閾値機能により、ポッドキャスト分析、会議録音、自然音分析など様々な用途に合わせて特定のオーディオイベントの感度を微調整することができます。

🎵 オーディオイベントドキュメントを見る

🚀 Next Steps

  • 🧠 高度なASRモデルの多様化
  • 😢 感情検出の改善
  • 🔊 より優れた speaker diarization
  • ⚡ パフォーマンスの最適化

🤝 Contributing

Contributing 大歓迎です!気軽にプルリクエストを送信してください。

📝 貢献ガイドラインを見る

📄 License

このプロジェクトはGNU一般公衆ライセンスv3.0の下でライセンスされています。

🙏 Acknowledgements