やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

AquesTalkPiでラズパイをしゃべらせる 1.10 2020-10-10版

 ひっそりと更新されていたのでダウンロードしてみた。

情報源

 2021-07-28時点でダウンロードできた。しかもバージョンが1.1.0(2020-10-10)になっていた。かつてRaspbianでゆっくり音声合成(AquesTalkPi)で試したときはダウンロードできなかった。

 改変履歴は以下。まさかの7年ぶり更新。

日付 概要
2020/10/10 1.10 言語解析処理の高精度化、辞書更新、-pオプション(先頭に無音付与)追加
2013/08/27 1.00 正式版リリース
2013/08/17 0.90β β版リリース

成果物

ダウンロード

  1. AquesTalkPiサイトにブラウザでアクセスする
  2. 上記サイトのDownloadにて使用許諾のスクロールを下までさげる。
  3. 同意してDownloadボタンを押す AquesTalk Pi Ver.1.10 (aquestalkpi-20201010.tgz 4,822,181 byte)

インストール

  1. aquestalkpi-20201010.tgzファイルを展開する
  2. 任意パスに配置する

/aq_dic/以下が必要

 AquesTalkPi実行ファイルは、それと同じディレクトリに/aq_dicが必要である。ヘルプにも以下のように書いてある。

  *実行時にはAquesTalkPiと同じディレクトリに付属の/aq_dic以下が必要です。

 これはつまり、実行するとき以下のいずれかの条件を満たす必要があることを意味する。

シンボリックリンクで実行するとエラー

シンボリックリンクで実行するとエラー

 別のパスにシンボリックリンクを作って実行したところ、以下のようなエラーになった。

ERR: cannot find or initialize Dictionary(200)
aplay: read_header:2834: リードエラー

 ちなみにシンボリックリンクを作って実行した手順は以下。

# シンボリックリンクをつくる
FROM=/home/pi/root/sys/env/tool/tts/aquestalkpi/AquesTalkPi
TO=/home/pi/root/sys/env/tool/AquesTalkPi
ln -s $FROM $TO

FROM=/home/pi/root/sys/env/tool/tts/aquestalkpi/aq_dic
TO=/home/pi/root/sys/env/tool/aq_dic
ln -s $FROM $TO

# パスを通す
export PATH=$PATH:/home/pi/root/sys/env/tool

# 別のディレクトリにいく
cd /tmp

# 実行する
AquesTalkPi 漢字も読めます | aplay

対策スクリプトをつくる

 対策として、環境パスを通したところに以下AquesTalkPiシェルスクリプトファイルをつくる。

AquesTalkPi

cd 環境パスを通したところ
echo '#!/bin/bash' >> AquesTalkPi
echo '/home/pi/root/sys/env/tool/tts/aquestalkpi/20201010-1.1.0/aquestalkpi/AquesTalkPi "$@"' >> AquesTalkPi
chmod +x AquesTalkPi
/home/pi/root/sys/env/tool/tts/aquestalkpi/20201010-1.1.0/aquestalkpi/AquesTalkPi "$@"

 これでAquesTalkPiは上記スクリプトを実行する。つまり絶対パスで実行してくれるため、/aq_dic/以下が含まれる。

AquesTalkPi 漢字も読めます | aplay

ヘルプ

1.10 2020-10-10

NAME
  AquesTalkPi - Raspberry Pi用テキスト音声合成コマンド Ver.1.10

SYNOPSIS
  AquesTalkPi [-h] [-s speed] [-g volume] [-b] [-v f1|f2] 
              [-k] [-t] [-p] [-o out.wav] [-f file | string] 

DESCRIPTION
  日本語のテキスト音声合成を行います。
  標準出力にWAV形式の音声データを出力します。

OPTIONS
  string
    発声する文字列を指定します(UTF-8)。漢字も読めます。
    音声記号列での指定も可能です(-k オプション)
    音声記号列の詳細は、AquesTalk音声記号列仕様を参照。
    スペース等を含む場合は ""で囲んで指定してください。
  -f file
    発声する文字列をファイルで指定するときに指定します。
    先頭行だけしか処理しません。
    stringを指定せず、且つ fileに - を指定したときは、
    標準入力からの入力になります(pipe使用可能)-o file
    WAVファイルとして出力するときにファイル名を指定します。
    指定しないときは標準出力に出力されます。
  -t
    WAV形式音声データの代わりに音声記号列を出力します。
    言語処理の結果を返します。
  -k
    発声する文字列が音声記号列の場合に指定します。
  -v f1 | f2
    声種を指定します。 f1:女声1(default) f2:女声2
  -b
    棒読み(アクセントが平板)になります。
  -p
    音声の先頭に0.5秒の無音を追加します(HDMI出力等での頭切れ対策)
  -g volume
    音量を指定します。 (0-100) default:100
  -s speed
    発話速度を指定します。 (50-300) default:100
  -h
    このメッセージを表示します。

EXAMPLE
    $ ./AquesTalkPi 漢字も読めます。 | aplay
    $ echo ゆっくりしていってね? | ./AquesTalkPi -b -f -  | aplay
    $ ./AquesTalkPi -s 150 -v f2 -k -o out.wav "ファイルニ、シュツ'リョクシマ_ス。"

  *実行時にはAquesTalkPiと同じディレクトリに付属の/aq_dic以下が必要です。

LICENCE, etc.
    個人の非営利に限り無償で使用できます。
    商用利用や会社や大学等での使用は「使用ライセンス」の購入が必要です。
    再配布はできません。再配布は別途ライセンス契約(有償)が必要です。
    ライセンス、その他につきましては、下記サイトを参照ください。
    http://www.a-quest.com/products/aquestalkpi.html 

    ---- COPYRIGHT 2013 AQUEST Corp. ----

1.0 2013-08-27

NAME
  AquesTalkPi - Raspberry Pi用テキスト音声合成コマンド Ver.1.00

SYNOPSIS
  AquesTalkPi [-h] [-s speed] [-g volume] [-b] [-v f1|f2] 
              [-k] [-t] [-o out.wav] [-f file | string] 

DESCRIPTION
  日本語のテキスト音声合成を行います。
  標準出力にWAV形式の音声データを出力します。

OPTIONS
  string
    発声する文字列を指定します(UTF-8)。漢字も読めます。
    音声記号列での指定も可能です(-k オプション)
    音声記号列の詳細は、AquesTalk音声記号列仕様を参照。
    スペース等を含む場合は ""で囲んで指定してください。
  -f file
    発声する文字列をファイルで指定するときに指定します。
    先頭行だけしか処理しません。
    stringを指定せず、且つ fileに - を指定したときは、
    標準入力からの入力になります(pipe使用可能)-o file
    WAVファイルとして出力するときにファイル名を指定します。
    指定しないときは標準出力に出力されます。
  -t
    WAV形式音声データの代わりに音声記号列を出力します。
    言語処理の結果を返します。
  -k
    発声する文字列が音声記号列の場合に指定します。
  -v f1 | f2
    声種を指定します。 f1:女声1(default) f2:女声2
  -b
    棒読み(アクセントが平板)になります。
  -g volume
    音量を指定します。 (0-100) default:100
  -s speed
    発話速度を指定します。 (50-300) default:100
  -h
    このメッセージを表示します。

EXAMPLE
    $ ./AquesTalkPi 漢字も読めます。 | aplay
    $ echo ゆっくりしていってね? | ./AquesTalkPi -b -f -  | aplay
    $ ./AquesTalkPi -s 150 -v f2 -k -o out.wav "ファイルニ、シュツ'リョクシマ_ス。"

  *実行時にはAquesTalkPiと同じディレクトリに付属の/aq_dic以下が必要です。

LICENCE, etc.
    商用利用、再配布には別途ライセンス契約(有償)が必要です。
    ライセンス、その他につきましては、下記サイトを参照ください。
    http://www.a-quest.com/products/aquestalkpi.html 

    ---- COPYRIGHT 2013 AQUEST Corp. ----

所感

 ダウンロードできるようになって嬉しい。作者様に感謝。いつまたダウンロードできなくなるかもわからないので不安。

 また、ライセンスについても不安がある。個人が非営利に使う分には問題ないが、それでも会社や大学では使えないなどの成約があるようだ。ちなみに使用ライセンスは2021-07-28時点で6380円だった。これをラズパイの台数分必要らしい。ラズパイ本体が買える値段……。

 OpenJTalkのほうがその名の通りオープンなので嬉しい。音声の種類も豊富。

 でも、元祖ゆっくりボイスといったらAquesTalk。

対象環境

$ uname -a
Linux raspberrypi 5.10.17-v7l+ #1421 SMP Thu May 27 14:00:13 BST 2021 armv7l GNU/Linux