ご無沙汰しております。
前々回、サンプルとして Zoom Video SDK の録画機能を紹介いたしました。今回は、同様の手口で文字起こし、翻訳を試してみたいと思います。
文字起こし・翻訳機能(Live transcription and translation)のご利用には、Zoom Video SDK Live transcription and translation のアドオンのご購入、または Zoom SDK Universal Credit のご購入が必要です。Zoom SDK Universal Credit の場合、Video SDK Universal Credit Plan で紹介されている各種機能
- Video SDK Sessionの従量課金時間
- オーディオカンファレンスの利用時間
- 翻訳・文字起こしの利用時間
- Cloud Room Connectorの利用時間
- Cloud Recordingの利用時間・ストレージ利用量
のどれに使うこともできる、共通のプリペイドクレジットとして利用することができます。詳細はお問い合わせください。
Live transcription and translation とは
Zoom Video SDK Live transcription and translation では、音声データをJSONオブジェクトとしてリアルタイムで受信することができます。
この機能では、ある言語の音声を別の言語のテキストにリアルタイムで翻訳することもできるため、自動クローズドキャプション、感情分析、eラーニングの言語翻訳などさまざまなユースケースが可能になります。
たとえば、あるユーザーが英語で「Hello world」と言うと、他のユーザーはこの音声を、イタリア語の「Ciao mondo」、スペイン語の「Hola Mundo」、フランス語の「Bonjour le monde」など、各自が選択した言語でテキストとして受け取ることができます。
Video SDK for Web からの呼び出し
最初にliveTranscriptionClient
を初期化し、startLiveTranscription
を呼ぶことで処理が開始されます。
この際、setSpeakingLanguage()
で発話言語の指定を、またsetTranslationLanguage()
で翻訳先の言語を指定できます。もちろん、単なる文字起こしの場合にはsetTranslationLanguage()
の指定は不要です。
//initialize
let liveTranscriptionTranslation = client.getLiveTranscriptionClient();
//start transcription and translation
function startTranscript() {
let liveTranscriptionTranslation = client.getLiveTranscriptionClient();
liveTranscriptionTranslation.startLiveTranscription().then(() => {
liveTranscriptionTranslation.setTranslationLanguage('en')//to lang
liveTranscriptionTranslation.setSpeakingLanguage('en')//from lang
});
}
// stop live transcription and translation
function stopTranscript() {
let liveTranscriptionTranslation = client.getLiveTranscriptionClient();
liveTranscriptionTranslation.disableCaptions();
}
テキストの取得
その後 caption-message
のコールバックを受けて、textを処理します。
client.on('caption-message', (payload) => {
console.log("caption-message: " + JSON.stringify(payload));
}
実装例
こちらも、録画の記事とそう変わりませんが、githubにてご確認いただけます。
入室後、Start Transcript
ボタンをクリックすると、発話した内容がログに残っていきます。
以上、お試しください。