Skip to Content
ドキュメント音声Mastraにおける音声認識 (STT) | Mastra ドキュメント

音声認識(STT)

Mastraの音声認識(STT)は、複数のサービスプロバイダー間で音声入力をテキストに変換するための標準化されたインターフェースを提供します。 STTは、人間の音声に応答できる音声対応アプリケーションの作成を支援し、ハンズフリーでの操作、障害を持つユーザーのためのアクセシビリティ、そしてより自然な人間とコンピューターのインターフェースを可能にします。

設定

Mastraで音声認識(STT)を使用するには、音声プロバイダーを初期化する際にlisteningModelを提供する必要があります。これには以下のようなパラメータが含まれます:

  • name: 使用する特定の音声認識モデル。
  • apiKey: 認証用のAPIキー。
  • プロバイダー固有のオプション: 特定の音声プロバイダーで必要または対応している追加オプション。

注意: これらのパラメータはすべてオプションです。使用している特定のプロバイダーによって異なる、音声プロバイダーが提供するデフォルト設定を使用することができます。

const voice = new OpenAIVoice({ listeningModel: { name: "whisper-1", apiKey: process.env.OPENAI_API_KEY, }, }); // デフォルト設定を使用する場合、設定は以下のように簡略化できます: const voice = new OpenAIVoice();

利用可能なプロバイダー

Mastraはいくつかの音声認識(Speech-to-Text)プロバイダーをサポートしており、それぞれに独自の機能と強みがあります:

  • OpenAI - Whisperモデルによる高精度の文字起こし
  • Azure - Microsoftの企業グレードの信頼性を持つ音声認識
  • ElevenLabs - 複数言語をサポートする高度な音声認識
  • Google - 幅広い言語サポートを持つGoogleの音声認識
  • Cloudflare - 低遅延アプリケーション向けにエッジ最適化された音声認識
  • Deepgram - さまざまなアクセントに対応した高精度のAI駆動音声認識
  • Sarvam - インド系言語とアクセントに特化

各プロバイダーは、必要に応じてインストールできる別々のパッケージとして実装されています:

pnpm add @mastra/voice-openai # OpenAIの例

Listen メソッドの使用

STTの主要なメソッドは、音声をテキストに変換するlisten()メソッドです。使用方法は次のとおりです:

import { Agent } from '@mastra/core/agent'; import { openai } from '@ai-sdk/openai'; import { OpenAIVoice } from '@mastra/voice-openai'; import { getMicrophoneStream } from "@mastra/node-audio"; const voice = new OpenAIVoice(); const agent = new Agent({ name: "Voice Agent", instructions: "You are a voice assistant that provides recommendations based on user input.", model: openai("gpt-4o"), voice, }); const audioStream = getMicrophoneStream(); // Assume this function gets audio input const transcript = await agent.voice.listen(audioStream, { filetype: "m4a", // Optional: specify the audio file type }); console.log(`User said: ${transcript}`); const { text } = await agent.generate(`Based on what the user said, provide them a recommendation: ${transcript}`); console.log(`Recommendation: ${text}`);

STTをエージェントで使用する方法については、エージェントに音声を追加するのドキュメントをご覧ください。