ブログ

Armadillo-IoT G4:Open-JTalkを動かしてみる

at_takuma.fukuda
2022年10月11日 7時04分

下記の記事では、Armadillo-IoT G3上でOpen-JTalkを動作させ、音声を生成してUSBオーディオから出力することを確認しました。
Armadillo-IoT G3:Open-JTalkを動かしてみる
この記事ではArmadillo-IoT G4上のDebianコンテナで同様のことが可能であるかを確認します。

USBオーディオの確認

Armadillo-IoT G4のLinuxカーネルでは、USBオーディオのドライバが最初から有効になっています。
サンワサプライ:MM-ADUSB3を接続すると、自動的に認識して以下のメッセージが表示されます。

usb 1-1: new full-speed USB device number 2 using xhci-hcd
[  582.691700] input: UC Mic USB Audio Device  as /devices/platform/soc@0/32f10100.usb/38100000.dwc3/xhci-hcd.1.auto/usb1/1-1/1-1:1.3/0003:0D8C:0013.0001/input/input1
[  582.766403] hid-generic 0003:0D8C:0013.0001: input: USB HID v1.00 Device [UC Mic USB Audio Device ] on usb-xhci-hcd.1.auto-1/input3

また、/dev/sndというデバイスファイルが作成されます。

[armadillo]$ ls /dev/snd
by-id  by-path  controlC0  pcmC0D0c  pcmC0D0p  timer

コンテナ作成

以下のコマンドでDebian Bullseyeのコンテナを作成します。

[armadillo]$ podman run -it --name=usb_audio --volume=/dev/snd:/dev/snd docker.io/debian:bullseye  /bin/sh

コンテナを作成したら、以下のコマンドでテキストエディタをインストールしてください。

[container]$ apt update && apt upgrade
[container]$ apt install -y vim

Open JTalkインストール

Open JTalkおよび関連パッケージをインストールします。
インストールするものは、以下の3つです
open-jtalk :Open JTalkのパッケージ
open-jtalk-mecab-naist-jdic:Open JTalk向けの日本語辞書
hts-voice-nitech-jp-atr503-m001 :Open JTalk向けの音声データ
そのままapt installを実行しても、hts-voice-nitech-jp-atr503-m001がインストールされないので、
以下のようにリポジトリを編集してからインストールを実行します。

[container]$ vi /etc/apt/sources.list
以下2行を末尾に追加
deb http://deb.debian.org/debian bullseye main contrib non-free
deb-src http://deb.debian.org/debian bullseye main contrib non-free
 
[container]$ apt update && apt upgrade
[container]$ apt install open-jtalk open-jtalk-mecab-naist-jdic
[container]$ apt install hts-voice-nitech-jp-atr503-m001

音声ファイル作成

以下のようにOpen JTalkに対して日本語を出力し、音声ファイルを作成します。
*この時、環境変数LANGの設定がja_JP.UTF-8になっていないと日本語入力できないのでお気を付け下さい。

[container]$ echo 'アルマジロ' | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -r 1.0 -ow test.wav

音声ファイル再生

生成した音声ファイルを再生します。
例として、カード番号"0"のUSBオーディオを使用してAlsaで音声を再生する場合のコマンドです。

Alsaをインストール
[container]$ apt install alsa-utils
音声再生
[container]$ aplay test.wav -D plughw:0