Amazon Pollyを用いた音声認識アプリ開発



Amazon Pollyは、音声合成AIサービスの1つです。人間らしいテキストからの読み上げ機能を提供しており、既存のアプリケーションやサービスに簡単かつリアルな読み上げを追加することが可能です。Amazon Pollyでは、テキストからスピーチへの変換に十分なレベルの質を提供しているため、非常に良い音声認識アプリ開発への追加にも、最適な選択肢として利用可能です。

以下に、Amazon Pollyを用いた音声認識アプリ開発に必要な手順を記載します。

①Amazon Pollyの準備



Amazon Pollyの設定を行います。AWS管理コンソールへログインし、[サービス] メニューから[Amazon Polly]を選択します。次に、必要な情報を指定して、Amazon Pollyの導入処理を実行します。

②テキストを音声ファイルに変換する



次に、テキストをAmazon Pollyを使用して音声ファイルへ変換する処理を開発します。以下のサンプルコードを使用して、テキストからの音声変換を実行します。

# Amazon Pollyを用いたテキストからの音声変換
import boto3

polly = boto3.client('polly')

text = "これはテスト用のテキストです。"

response = polly.synthesize_speech(
Text=text,
OutputFormat='mp3',
VoiceId='Mizuki')

with open('test.mp3', 'wb') as f:
f.write(response['AudioStream'].read())
f.close()


③音声ファイルを前処理する



音声を認識させる前に、メディアファイルを処理して信号処理を行います。サンプルとして以下のコードを使用して、音声を16bitに変換します。

# 音声ファイルを前処理する
import librosa

y, sr = librosa.load('test.mp3', mono=True, sr=16000)
y = librosa.util.fix_length(y, 16000 * 5)

librosa.output.write_wav('cleaned_test.wav', y, sr)


④音声認識処理を行う



最後に、前処理した音声から作成した音声ファイルを元に、音声認識処理を行います。サンプルとして以下のコードを使用して、入力テキストからの再生情報を参照します。

# 音声認識処理を行う
from deepspeech.model import Model

ds = Model(model_file_path='models/output_graph.pb', alphabet_file_path='models/alphabet.txt', lm_file_path=None, scorer_file_path='models/lm.scorer', n_features=26, n_context=9, beam_width=500)

speech_to_text = ds.stt('cleaned_test.wav')
print(speech_to_text)


以上で、Amazon Pollyを使った音声認識アプリケーションを開発するための全手順が紹介されました。Amazon Pollyの機能を活用することで、音声認識アプリケーションの作成が容易になるため、非常に良い選択肢として考慮すべきなのではないでしょうか。

投稿者: systemreach_engineer