ライブラリとフレームワーク

Pythonでの音声認識:主要ライブラリとその使用例

Pythonでの音声認識は、様々なライブラリを使って簡単に実装できます。この記事では、Pythonで最も人気のある音声認識ライブラリとそれぞれの使用例を紹介します。

スポンサーリンク

SpeechRecognitionライブラリ

SpeechRecognitionは、Pythonで最もよく使われる音声認識ライブラリの一つです。以下は、基本的な使用方法の例です。


    import speech_recognition as sr

    recognizer = sr.Recognizer()
    with sr.Microphone() as source:
        print("音声を入力してください...")
        audio = recognizer.listen(source)

    try:
        text = recognizer.recognize_google(audio, language='ja-JP')
        print("認識されたテキスト: " + text)
    except sr.UnknownValueError:
        print("音声を認識できませんでした。")
    except sr.RequestError as e:
        print("エラーが発生しました; {0}".format(e))
    

このコードは、マイクからの音声入力をテキストに変換します。

pyttsx3ライブラリ

pyttsx3は、テキストを音声に変換するためのライブラリです。以下は簡単な使用例です。


    import pyttsx3

    engine = pyttsx3.init()
    engine.say("こんにちは、Python!")
    engine.runAndWait()
    

このコードは、指定されたテキストを音声で読み上げます。

PyAudioライブラリ

PyAudioは、Pythonでオーディオ入出力を扱うためのライブラリです。音声認識においては、マイクからの音声データを処理するためによく使用されます。


    import pyaudio
    import wave

    CHUNK = 1024
    FORMAT = pyaudio.paInt16
    CHANNELS = 2
    RATE = 44100
    RECORD_SECONDS = 5
    WAVE_OUTPUT_FILENAME = "output.wav"

    p = pyaudio.PyAudio()

    stream = p.open(format=FORMAT,
                    channels=CHANNELS,
                    rate=RATE,
                    input=True,
                    frames_per_buffer=CHUNK)

    print("録音開始")

    frames = []

    for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
        data = stream.read(CHUNK)
        frames.append(data)

    print("録音終了")

    stream.stop_stream()
    stream.close()
    p.terminate()

    wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
    wf.setnchannels(CHANNELS)
    wf.setsampwidth(p.get_sample_size(FORMAT))
    wf.setframerate(RATE)
    wf.writeframes(b''.join(frames))
    wf.close()
    

このコードは、指定された秒数だけオーディオを録音し、WAVファイルとして保存します。

まとめ

Pythonでの音声認識は、これらのライブラリを使って多様な方法で実装できます。それぞれのライブラリが提供する機能を理解し、プロジェクトのニーズに合わせて適切なものを選択しましょう。

タイトルとURLをコピーしました