Skip to Content
リファレンス音声リファレンス: Google Voice | 音声プロバイダー | Mastra ドキュメント

Google

Mastra における Google Voice の実装は、Google Cloud サービスを利用してテキスト読み上げ(TTS)と音声認識(STT)の両方の機能を提供します。複数の音声、言語、そして高度なオーディオ設定オプションに対応しています。

使用例

import { GoogleVoice } from "@mastra/voice-google"; // Initialize with default configuration (uses GOOGLE_API_KEY environment variable) const voice = new GoogleVoice(); // Initialize with custom configuration const voice = new GoogleVoice({ speechModel: { apiKey: "your-speech-api-key", }, listeningModel: { apiKey: "your-listening-api-key", }, speaker: "en-US-Casual-K", }); // Text-to-Speech const audioStream = await voice.speak("Hello, world!", { languageCode: "en-US", audioConfig: { audioEncoding: "LINEAR16", }, }); // Speech-to-Text const transcript = await voice.listen(audioStream, { config: { encoding: "LINEAR16", languageCode: "en-US", }, }); // Get available voices for a specific language const voices = await voice.getSpeakers({ languageCode: "en-US" });

コンストラクタのパラメータ

speechModel?:

GoogleModelConfig
= { apiKey: process.env.GOOGLE_API_KEY }
テキスト読み上げ機能のための設定

listeningModel?:

GoogleModelConfig
= { apiKey: process.env.GOOGLE_API_KEY }
音声認識機能のための設定

speaker?:

string
= 'en-US-Casual-K'
テキスト読み上げで使用するデフォルトの音声ID

GoogleModelConfig

apiKey?:

string
Google Cloud APIキー。設定されていない場合はGOOGLE_API_KEY環境変数が使用されます

メソッド

speak()

Google Cloud Text-to-Speech サービスを使用してテキストを音声に変換します。

input:

string | NodeJS.ReadableStream
音声に変換するテキスト。ストリームが指定された場合は、最初にテキストに変換されます。

options?:

object
音声合成のオプション

options.speaker?:

string
このリクエストで使用するボイスID

options.languageCode?:

string
ボイスの言語コード(例: 'en-US')。デフォルトはスピーカーIDから取得した言語コード、または 'en-US' です。

options.audioConfig?:

ISynthesizeSpeechRequest['audioConfig']
= { audioEncoding: 'LINEAR16' }
Google Cloud Text-to-Speech API の音声設定オプション

戻り値: Promise<NodeJS.ReadableStream>

listen()

Google Cloud Speech-to-Text サービスを使用して音声をテキストに変換します。

audioStream:

NodeJS.ReadableStream
文字起こしする音声ストリーム

options?:

object
認識オプション

options.stream?:

boolean
ストリーミング認識を使用するかどうか

options.config?:

IRecognitionConfig
= { encoding: 'LINEAR16', languageCode: 'en-US' }
Google Cloud Speech-to-Text API の認識設定

戻り値: Promise<string>

getSpeakers()

利用可能なボイスオプションの配列を返します。各ノードには以下が含まれます:

voiceId:

string
ボイスの一意な識別子

languageCodes:

string[]
このボイスが対応している言語コードのリスト

重要な注意事項

  1. Google Cloud APIキーが必要です。GOOGLE_API_KEY 環境変数で設定するか、コンストラクタで渡してください。
  2. デフォルトの音声は ‘en-US-Casual-K’ に設定されています。
  3. テキスト読み上げと音声認識サービスの両方で、デフォルトのオーディオエンコーディングは LINEAR16 です。
  4. speak() メソッドは、Google Cloud Text-to-Speech API を通じて高度なオーディオ設定をサポートします。
  5. listen() メソッドは、Google Cloud Speech-to-Text API を通じて様々な認識設定をサポートします。
  6. 利用可能な音声は、getSpeakers() メソッドを使って言語コードでフィルタリングできます。