Whisper_Cloudflareは、開発者thun888によって作成され、GitHubでホストされているオープンソースプロジェクトです。 ウィスパー モデルをCloudflare Workersのサーバーレスアーキテクチャと組み合わせることで、効率的なSpeech-to-Text機能を提供します。ユーザーは、単一の worker.js
このプロジェクトは複数の言語と音声形式をサポートし、開発者が音声処理アプリケーションを素早く構築できるように使いやすくなっています。このプロジェクトは複数の言語と音声フォーマットをサポートしており、開発者が音声処理アプリケーションを素早く構築できるように使いやすくなっている。このプロジェクトは完全に無料で、コードは公開されており、デプロイのためのサーバーを管理する必要がないため、個人やチームが音声トランスクリプションや字幕生成のニーズに対応するのに適しています。
機能一覧
- 音声からテキストへ:音声ファイルをテキストに変換し、多言語認識をサポートします。
- 字幕生成:SRT形式のタイムスタンプ付き字幕ファイルを生成します。
- 複数のオーディオフォーマットをサポート:MP3、WAVおよび他の一般的なオーディオフォーマットと互換性があります。
- サーバーレス・デプロイメント: Cloudflare Workersによる迅速なデプロイメント。
worker.js
ドキュメンテーション - APIインターフェース:提供
/raw
(生の転写データ)と/srt
(字幕ファイル)2つのインターフェイス。 - 音声アクティビティ検出(VAD):サポート
vad_filter
パラメータで非スピーチ部分をフィルタリングする。 - コンテキストの最適化
initial_prompt
歌で応えるprefix
転写の精度を高めるパラメータ。 - 翻訳機能:オーディオコンテンツを指定した言語(英語、中国語など)に翻訳するサポート。
ヘルプの使用
配備プロセス
Whisper_Cloudflare プロジェクトをデプロイするには、提供された worker.js
GitHub リポジトリ全体をクローンすることなく、Cloudflare Workers プラットフォームにコードがコピーされます。以下はその詳細な手順です:
- Cloudflareアカウントにサインアップする
Cloudflareのウェブサイトにアクセスし、アカウントを登録またはサインインします。Workers機能が有効になっていることを確認します(無料プランで問題ありません)。Cloudflareのダッシュボードで「Workers」ページに行き、「Create Worker」をクリックします。 - ワーカーを作成し、コードを貼り付ける
- Workers エディタで、新しいワーカーを作成します。
worker
(またはカスタム名)。 - 着信
worker.js
コードはコピーされ、エディターにペーストされ、デフォルトのコードを上書きする。 - コードを保存する。
- Workers エディタで、新しいワーカーを作成します。
- Wranglerのインストール(オプション、コマンドラインデプロイ用)
コマンドラインからワーカーを管理したい場合は、Wrangler(Cloudflare Workers用のコマンドラインツール)をインストールする必要があります。Node.jsがインストールされていることを確認し(推奨バージョン16.17.0以上)、実行してください:npm install -g wrangler
- WranglerとAIバインディングの設定
- 以下のコマンドを実行してCloudflareにログインする:
wrangler login
- 作成または編集
wrangler.toml
ファイルに以下のコンフィギュレーションを追加する:name = "whisper-cloudflare" compatibility_flags = ["nodejs_compat"] [ai] binding = "AI"
- Wranglerを使用していない場合は、CloudflareダッシュボードのWorker設定でAIモデルを手動でバインドすることができます。
@cf/openai/whisper-large-v3-turbo
).
- 以下のコマンドを実行してCloudflareにログインする:
- 労働者の派遣
- Workersエディタで "Deploy "ボタンをクリックし、コードを直接公開する。
- またはWranglerを通す:
wrangler deploy
- デプロイに成功すると、CloudflareはWorker URL(例:https://whispercloudflare.tchepai.com/)を提供します。
- オーディオファイルの準備
オーディオはMP3またはWAVフォーマットで、ファイルサイズが25MBを超えないようにしてください(Cloudflare Workersの制限に従います)。音声ファイルはバイナリ形式でアップロードされるか、公開URL(クラウドストレージにアップロードされるなど)を介してアクセスされる必要があります。
主な機能
音声テキスト
Whisper_CloudflareはWhisperモデルを使って音声をテキストに変換する。手順は以下の通り:
- オーディオのアップロードにPOSTリクエストで音声バイナリデータを送信する。
/raw
インターフェイス。例curl -X POST "https://whisper.ohen5pbf93.workers.dev/raw" \ -H "Content-Type: application/octet-stream" \ --data-binary "@audio.mp3"
- 結果を出すテキストとタイムスタンプを含む JSON フォーマットで転写結果を返します:
{ "response": { "text": "这是一个测试音频。", "segments": [ {"text": "这是一个", "start": 0.0, "end": 1.2}, {"text": "测试音频", "start": 1.3, "end": 2.5} ] } }
- 大容量ファイルの取り扱いオーディオが25MBを超える場合は、手動で小さなチャンクに分割し(1チャンクあたり1MBを推奨)、チャンクを1つずつアップロードして結果をマージする必要があります。
サブタイトル・ジェネレーション
動画やポッドキャスト用のSRT形式の字幕ファイルを生成します。手順
- 字幕をリクエストするオーディオの送信先
/srt
インターフェースcurl -X POST "https://whispercloudflare.tchepai.com/srt" \ -H "Content-Type: application/octet-stream" \ --data-binary "@audio.mp3"
- 結果を出す例えばSRT形式のファイルを返す:
1 00:00:00,000 --> 00:00:01,200 这是一个 2 00:00:01,300 --> 00:00:02,500 测试音频
ウェブ・インターフェースの使用
worker.js
組み込みのHTMLインターフェイスを提供(ルートパスからワーカーのURLへ) /
ブラウザーから操作できる):
- アクセスインターフェイスワーカーのURL(例えば、https://whispercloudflare.tchepai.com/)を開きます。
- オーディオのアップロードMP3またはWAVファイルを選択し、タスクの種類(テープ起こしまたは翻訳)、言語、VADフィルタリングなどのパラメータを設定します。
- 結果を出す提出後、インターフェイスはSRT字幕を表示し、SRT字幕のダウンロードをサポートします。
.srt
ドキュメンテーション - 銘記するインターフェイスはプログレスバーをサポートし、41分のオーディオを処理するのに約1.9分かかる。
APIの使用
このプロジェクトは2つのAPIインタフェースを提供している:
/raw
JSON形式で生データを返します。/srt
ビデオ編集で直接使用できるSRT形式の字幕ファイルを返します。
JavaScriptの呼び出し例:
const response = await fetch('https://whispercloudflare.tchepai.com/srt', {
method: 'POST',
headers: { 'Content-Type': 'application/octet-stream' },
body: audioFile // 音频二进制数据
});
const srt = await response.text();
console.log(srt); // 输出 SRT 字幕
コンテキストの最適化
利用する initial_prompt
もしかしたら prefix
パラメータは、転写精度を高めるためのコンテキストを提供します。例
curl -X POST "https://whispercloudflare.tchepai.com/raw?initial_prompt=技术会议" \
-H "Content-Type: application/octet-stream" \
--data-binary "@audio.mp3"
音声アクティビティ検出(VAD)
VADフィルタリングを有効にするvad_filter=true
)は非スピーチ部分を削除することができる:
curl -X POST "https://whispercloudflare.tchepai.com/raw?vad_filter=true" \
-H "Content-Type: application/octet-stream" \
--data-binary "@audio.mp3"
翻訳機能
セットアップ task=translate
歌で応える language
パラメータを使用して、音声を指定した言語に翻訳します。例
curl -X POST "https://whispercloudflare.tchepai.com/raw?task=translate&language=en" \
-H "Content-Type: application/octet-stream" \
--data-binary "@audio.mp3"
性能と限界
- テンポテストによると、41分39秒のオーディオを処理するのに1.9分しかかからない。
- 制約条件Cloudflare Workersのリソース制限により失敗することがありますので、再試行をお勧めします。
- ファイルサイズ1回のリクエストで25MBを超えるオーディオのリクエストはできません。
ほら
- APIセキュリティCloudflareのダッシュボードでAIバインディングを設定し、APIトークンを渡さない。
- エラー処理リクエストに失敗した場合は、数秒待ってから再試行してください。
- ブラウザの互換性ウェブインターフェイスは、モダンブラウザ(ChromeやFirefoxなど)でも問題なく動作します。
アプリケーションシナリオ
- 会議記録の書き起こし
会議の音声をアップロードし、多言語会議のためにテキストまたはSRT字幕を生成します。 - ポッドキャスト字幕生成
ポッドキャスト制作者は、コンテンツのアクセシビリティと検索最適化を向上させるためにSRT字幕を生成します。 - 教材の書き起こし
先生や生徒が授業の録音をアップロードすると、ノートや字幕が作成され、簡単に復習できます。 - 音声アプリケーション開発
開発者はAPIを統合して、軽量プロジェクト用のリアルタイム・キャプションや音声アシスタントを構築する。
品質保証
- どのようなオーディオ・フォーマットに対応していますか?
MP3、WAV、その他のフォーマットに対応しており、高音質を推奨します。 - 大容量ファイルの扱いは?
手動で1MBのチャンクに分割し、アップロードしてチャンクごとに結果をマージする。 - 配備に費用はかかりますか?
Cloudflare Workersの無料プランは、AIモデル用に1日あたり10,000ニューロンの無料デプロイメントをサポートし、それ以上は1,000ニューロンあたり$0.011で課金される。 - テープ起こしを最適化するには?
利用するinitial_prompt
そしてprefix
もしかしたらvad_filter
パラメーターは精度を高める。 - 対応言語は?
英語、中国語、日本語、その他の言語に対応しています。具体的なコードについてはWhisperのドキュメントを参照してください。