音声認識APIの概要
音声認識(Speech-to-Text)APIは音声データをテキストに変換するサービスです。会議の文字起こし・音声入力インターフェース・コールセンター分析・アクセシビリティ向上など多様な用途に活用されています。主要なクラウドプロバイダーと専門ベンダーが高精度なAPIを提供しています。
主要な音声認識APIの比較
OpenAI Whisper
- 料金:$0.006/分(APIの場合)
- 特徴:99言語対応・高精度・オープンソース版あり
- 日本語精度:非常に高い(特に標準語)
- 制限:ファイルサイズ上限25MB・リアルタイムストリーミング非対応
Google Cloud Speech-to-Text
- 料金:$0.006〜$0.024/分(モデルによる)
- 特徴:リアルタイムストリーミング・125言語対応・話者分離
- 日本語精度:高い
- 無料枠:月60分まで無料
Azure Cognitive Services Speech
- 料金:$1.00/時間
- 特徴:リアルタイム認識・カスタム音声モデルのトレーニング・Microsoft 365統合
AWS Transcribe
- 料金:$0.024/分
- 特徴:話者分離・医療分野特化モデル・PII(個人情報)自動マスキング
OpenAI Whisper APIの実装例
import OpenAI from 'openai';
import fs from 'fs';
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const transcribeAudio = async (filePath) => {
const transcription = await openai.audio.transcriptions.create({
file: fs.createReadStream(filePath),
model: 'whisper-1',
language: 'ja', // 日本語指定(精度向上)
response_format: 'verbose_json', // タイムスタンプ付き
});
return transcription;
};
const result = await transcribeAudio('meeting.mp3');
console.log(result.text);
Google Cloud Speech リアルタイム認識
import speech from '@google-cloud/speech';
const client = new speech.SpeechClient();
const request = {
config: {
encoding: 'LINEAR16',
sampleRateHertz: 16000,
languageCode: 'ja-JP',
enableSpeakerDiarization: true, // 話者分離
diarizationConfig: { minSpeakerCount: 2, maxSpeakerCount: 4 }
},
interimResults: true, // 途中経過も返す
};
const recognizeStream = client
.streamingRecognize(request)
.on('data', (data) => {
const transcript = data.results[0].alternatives[0].transcript;
console.log('認識中:', transcript);
});
活用事例
- 会議の自動文字起こし:Zoom・Teams録音をWhisperで文字起こし
- コールセンター分析:通話音声を文字起こしして感情分析・品質管理
- 動画字幕生成:動画ファイルから自動字幕生成
- 音声入力インターフェース:スマートフォン・Webブラウザでの音声入力
- アクセシビリティ:聴覚障害者向けリアルタイム字幕
まとめ
音声認識APIはリアルタイム性・精度・コスト・言語対応のバランスで選択します。日本語の精度を優先するならWhisper・Google、リアルタイムストリーミングが必要ならGoogle・Azure・AWSが適しています。オープンソース版Whisperをローカルで動かすことでコストゼロの実現も可能です(GPU推奨)。