下記の記事では、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