12
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NRI OpenStandiaAdvent Calendar 2024

Day 11

AWS環境にVOICEPEAKをデプロイする

Last updated at Posted at 2024-12-10

はじめに

AWS上でVOICEPEAKを利用したシステムを構築するに当たり、EC2へデプロイする方法が見当たらなかったため記す。
またVOICEPEAKの最新版ではCLIが利用可能であるが、体験版ではCLIが利用可能なバージョンではなく商用版で無いと確認出来ない。
本記事ではCLIが利用可能であることも確認した。

VOICEPEAKとは

『VOICEPEAK』は、最新のAI音声合成技術を搭載し手軽に読み上げさせることが可能な入力文字読み上げソフト
引用元:公式サイト

引用したようにText to Speech (TTS)ソフトの1つである。
ずんだもんで一躍有名となったVOICEVOXはOSSであるが、VOICEPEAKは有償ソフトウェアである。
他社製品ではA.I.VOICEが有償ソフトウェアである。

VOICEPEAKの動作環境

2024年12月7日現在、AHS社の公式ドキュメントでは以下の記載がある。

■OS
Windows 11/10 またはそれ以降 (64bit)
macOS 10.13 またはそれ以降
Ubuntu 20.04 またはそれ以降 (64bit)

A.I.VOICEの動作環境

2024年12月7日現在、エーアイ社の公式ドキュメントでは以下の記載がある。

OS
Windows 11
Windows 10 (64bit、バージョン 1607 以上)
Windows 8.1 (64bit)
※仮想環境は除きます。

そのため現時点では琴葉姉妹紡乃世詞音をLinux環境で動かすことが出来ない。
とても悲しい。

EC2インスタンス作成

名前とタグ

任意の名前を指定する。

image.png

アプリケーションおよび OS イメージ (Amazon マシンイメージ)

Ubuntu 20.04以降のAMIを選択する。
ここではUbuntu Server 24.04 LTS (HVM), SSD Volume Typeを選択した。

image.png

インスタンスタイプ

ある程度良いスペックのものを選択する。
音声への変換処理時間にはマシンスペックに大きく依存するため、リアルタイム性を求める場合には良いインスタンスタイプを選択すべきである。
具体的にはAlexaではタイムアウトが8秒に設定されているため、VOICEPEAKを利用して対話システムを構築するには発話させる文章量と処理にかかる時間を勘案してインスタンスタイプを選択することが望まれる。

image.png

キーペア (ログイン)

SSHする必要があるため指定しておく。

image.png

ネットワーク設定

VPC, サブネット

お好きなVPC、サブネットを選択。

パブリックIPの自動割り当て

有効化を選択。

ファイアウォール (セキュリティグループ)

SSHとRDPを許可する。ソースタイプはある程度絞ると安心。

image.png

ストレージを設定

公式ドキュメントによるとUbuntu Desktop Editionでは25GBのハードドライブ容量を推奨している。
そのため今回は25GiBを指定する。多いに越したことは無い。

image.png

EC2インスタンス接続

KeyPairの権限を変更した後にSSHする。
米印になっている箇所にはEC2のPublic IPを入れる。

$ chmod 400 "Voicepeak Server KeyPair.pem"
$ ll
total 12
drwxr-xr-x  2 * * 4096 Dec  7 15:30  ./
drwxr-xr-x 23 * * 4096 Dec  7 15:30  ../
-r--------  1 * * 1674 Dec  7 15:20 'Voicepeak Server KeyPair.pem'
$ ssh -i "Voicepeak Server KeyPair.pem" ubuntu@ec2-*-*-*-*.ap-northeast-1.compute.amazonaws.com

最新のパッケージに更新

ubuntu@ip-192-168-1-207:~$ sudo apt update
ubuntu@ip-192-168-1-207:~$ sudo apt upgrade -y

ユーザ追加

ubuntu@ip-192-168-1-207:~$ sudo adduser voicepeak
info: Adding user `voicepeak' ...
info: Selecting UID/GID from range 1000 to 59999 ...
info: Adding new group `voicepeak' (1001) ...
info: Adding new user `voicepeak' (1001) with group `voicepeak (1001)' ...
info: Creating home directory `/home/voicepeak' ...
info: Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for voicepeak
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n]
info: Adding new user `voicepeak' to supplemental / extra groups `users' ...
info: Adding user `voicepeak' to group `users' ...

グループ追加

sudoが使えるようにsudoグループに追加。

ubuntu@ip-192-168-1-207:~$ sudo usermod -aG sudo voicepeak
ubuntu@ip-192-168-1-207:~$ groups voicepeak
voicepeak : voicepeak sudo users

xrdpインストール

RDPをするためにxrdpをインストールする。

ubuntu@ip-192-168-1-207:~$ sudo apt install xrdp

lightdmインストール

Display Managerをインストールする。

ubuntu@ip-192-168-1-207:~$ sudo apt install lightdm

GUIインストール

GUIをインストールする。

ubuntu@ip-192-168-1-207:~$ sudo apt install ubuntu-desktop

gdm3を利用するか、lightdmを利用するか選択肢が出るためlightdmを選択する。

image.png

Installing the firefox snapで止まる

firefoxのインストールで止まってしまうことがある。
筆者の環境ではインスタンスタイプをt2.microからt3.largeに変更したところ進んだ。

(Reading database ... 130655 files and directories currently installed.)
Removing pulseaudio (1:16.1+dfsg1-2ubuntu10) ...
Selecting previously unselected package firefox.
(Reading database ... 130473 files and directories currently installed.)
Preparing to unpack .../000-firefox_1%3a1snap1-0ubuntu5_amd64.deb ...
=> Installing the firefox snap
==> Checking connectivity with the snap store
==> Installing the firefox snap

Progress: [  0%] [.......................................................................] 

RDPする

インスタンスのPublic IPを指定する。

image.png

作成したユーザとパスワードを入力する。

image.png

インストーラーを入手して実行する

Linux用(最新)を選択してインストーラーを入手する。

image.png

実行権限を付与する。

voicepeak@ip-192-168-1-207:~$ cd Downloads/
voicepeak@ip-192-168-1-207:~/Downloads$ ll
total 16272
drwxr-xr-x  2 voicepeak voicepeak     4096 Dec  7 08:18 ./
drwxr-x--- 16 voicepeak voicepeak     4096 Dec  7 08:16 ../
-rw-rw-r--  1 voicepeak voicepeak 16650424 Dec  7 08:18 voicepeak-downloader-linux64
voicepeak@ip-192-168-1-207:~/Downloads$ chmod +x voicepeak-downloader-linux64
voicepeak@ip-192-168-1-207:~/Downloads$ ./voicepeak-downloader-linux64

インストーラーに従って進める。

image.png

image.png

インストール完了。

image.png

CLIを使う

VOICEPEAKではCLIが利用可能であり、EC2にデプロイした場合でも問題なく利用可能。

voicepeak@ip-192-168-1-207:~/Voicepeak/Voicepeak-linux64/Voicepeak$ ./voicepeak -h
Voicepeak
Usage:
  ./voicepeak [OPTION...]

  -s, --say Text               Text to say
  -t, --text File              Text file to say
  -o, --out File               Path of output file
  -n, --narrator Name          Name of voice, check --list-narrator
  -e, --emotion Expr           Emotion expression, for example:
                               happy=50,sad=50. Also check --list-emotion
      --list-narrator          Print voice list
      --list-emotion Narrator  Print emotion list for given voice
  -h, --help                   Print help
      --speed Value            Speed (50 - 200)
      --pitch Value            Pitch (-300 - 300)

ただし変換可能な文字数に上限がある点には注意が必要。

しかし、残念なことに140文字しか読み上げできないため長文には向かないようです。142文字以上になるとファイルを出力しなくなります。
引用元:https://polygonote.com/2024_0126_23520/

ちなみに体験版では以下のようにSegmentation faultが発生する。

$ ./voicepeak -h
iconv_open is not supported
Segmentation fault
12
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?