pyopenjtalk のインストールと動作確認(日本語の音声合成)(Open JTalk,htvoice,Python を使用)(Windows 上)

pyopenjtalk は,OpenJTalk のラッパー.

目次

  1. 前準備
  2. pyopenjtalk のインストール(Python,pip を使用)(Windows 上)
  3. 日本語の音声合成(Windows 上)
  4. 日本語の音声合成と再生(Windows 上)

関連する外部ページ

pyopenjtalk の GitHub のページ: https://github.com/r9y9/pyopenjtalk

前準備

Python のインストール(Windows上)

注:既にPython(バージョン3.12を推奨)がインストール済みの場合は,この手順は不要である.

winget(Windowsパッケージマネージャー)を使用してインストールを行う

  1. Windowsで,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
  2. winget(Windowsパッケージマネージャー)が利用可能か確認する:
    winget --version
    
  3. Pythonのインストール(下のコマンドにより Python 3.12 がインストールされる).
    winget install --scope machine Python.Launcher
    winget install --scope machine Python.Python.3.12
    
  4. 【関連する外部ページ】

    【サイト内の関連ページ】

    pyopenjtalk のインストール(Python,pip を使用)(Windows 上)

    1. Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
    2. インストール
      python -m pip install -U pyopenjtalk
      

    日本語の音声合成(Windows 上)

    pyopenjtalk の GitHub のページ: https://github.com/r9y9/pyopenjtalk に記載のプログラムを実行してみる.

    1. 次の Python プログラムを実行する

      Python プログラムの実行: 別ページ »で説明

      Python のまとめ: 別ページ »にまとめ

      test.wav というファイル名のファイルが生成される.

      import numpy as np
      import pyopenjtalk
      from scipy.io import wavfile
      x, sr = pyopenjtalk.tts("おめでとうございます")
      wavfile.write("test.wav", sr, x.astype(np.int16))
      exit()
      
    2. test.wav というファイルができているので確認.

    日本語の音声合成と再生(Windows 上)

    pyopenjtalk の GitHub のページ: https://github.com/r9y9/pyopenjtalk に記載のプログラムを実行してみる.

    pygame のインストール(Python,pip を使用)(Windows 上)

    pygame は,音声ファイの処理のために使用する.

    1. Windows で,コマンドプロンプト管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
    2. インストール
      python -m pip install -U pygame
      

    日本語の音声合成と再生

    1. 次の Python プログラムを実行する

      Python プログラムの実行: 別ページ »で説明

      Python のまとめ: 別ページ »にまとめ

      test.wav というファイル名のファイルが生成される.

      import numpy as np
      import pyopenjtalk
      from scipy.io import wavfile
      
      fname = "test.wav"
      x, sr = pyopenjtalk.tts("おめでとうございます")
      wavfile.write(fname, sr, x.astype(np.int16))
      
      import pygame
      pygame.mixer.init(frequency=44100)
      pygame.mixer.music.load(fname)
      pygame.mixer.music.play()