qwen-voice について
DashScope を利用する Qwen スクリプトで、クラウド音声認識と音声合成を行い、任意で音声クローンも作成するスキルです。ローカル音声ツールではなく、クラウド API を使う音声処理向けです。
主な機能
- 01クラウド音声文字起こし
- 02任意のチャンク単位タイムスタンプ
- 03プリセット音声での音声合成
- 04任意の音声クローンプロファイル
- 05OGG 音声出力
活用シーン
- 01クラウド ASR による音声ファイルの文字起こし
- 02プリセット音声による音声生成
- 03音声クローンプロファイルの作成
- 04Telegram 向け OGG 音声メッセージの準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ada20204/ qwen-voice --skill qwen-voiceインストール後、Claude Code で/qwen-voiceを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.md.gitignorerequirements.txtrequirements.in.qwen-voice/.env.examplescripts/qwen_voice_clone.pyqwen_common.pyqwen_asr.pyqwen_tts.pyqwen_tts_realtime.py詳細
qwen-voice
DashScope 対応の Qwen 音声スクリプトを使って、クラウド ASR、クラウド TTS、オプションの音声クローンを利用します。
このスキルを適切なケースで使用する
- local-whisper または local-qwen-tts が適さない場合は、このスキルを優先してください。
- 音声ファイルのクラウド ASR に使用します。
- クラウド TTS の音声やクローンプロファイルに使用します。
- ネットワーク/API への依存と、費用が発生する可能性を考慮してください。
設定
次のいずれかに DASHSCOPE_API_KEY が設定されていることを確認してください。
~/.config/qwen-voice/.env<repo>/.qwen-voice/.env
設定されていない場合は、認証情報が不足していることを報告して停止し、推測で補わないでください。
スクリプト
# ASR
python3 "$SKILL_DIR/scripts/qwen_asr.py" --in /path/to/audio.ogg
python3 "$SKILL_DIR/scripts/qwen_asr.py" --in /path/to/audio.ogg --timestamps --chunk-sec 3
# preset voice TTS
python3 "$SKILL_DIR/scripts/qwen_tts.py" --text '你好,我是 Pi。' --voice Cherry --out /tmp/out.ogg
# create clone profile
python3 "$SKILL_DIR/scripts/qwen_voice_clone.py" --in ./voice_sample.ogg --name george --out "$SKILL_DIR/work/qwen-voice/george.voice.json"
# synthesize with clone profile
python3 "$SKILL_DIR/scripts/qwen_tts.py" --text '你好,我是 George。' --voice-profile "$SKILL_DIR/work/qwen-voice/george.voice.json" --out /tmp/out.ogg
運用上の注意
- 出力される
.oggは Telegram のボイスメッセージに適しています。 - タイムスタンプモードはチャンク単位であり、正確な単語アライメントではありません。
- スクリプトは作業ファイルと仮想環境を
$SKILL_DIR/work/内に作成します(プロジェクトの cwd ではありません)。 - 可能であれば、小さな API 呼び出しを何度も行うより、大きなリクエストをまとめて送信してください。
失敗時の対応
- API キーがない場合:認証情報が不足していることを報告してください。
- 音声変換に失敗した場合:まず ffmpeg と入力形式を確認してください。
- クローンの作成に失敗した場合:クローンプロファイルの失敗と、通常のプリセット音声による TTS を区別してください。
- ASR が動作してもタイムスタンプが不正確な場合:単語ごとの正確なタイミングではなく、大まかなチャンク単位のタイムスタンプであることを報告してください。
コメント
Markdown 対応