RaspberryPiの音声合成にリアルタイム性を求めるには?VOICEVOX Engineの活用

以前はVOICEVOX CORE(コアライブラリ)をRaspberryPiへインストールして音声合成を試してみたのですが、合成されるまでにかなりに時間がかかってしまうため、リアルタイムのコミュニケーションに使用するには実用性が低いという結果でした。

uepon.hatenadiary.com

そこで今回はRaspberryPiからLAN内にインストールをしたVOICEVOX Engine(EngineはWebサーバーとしてREST APIを提供)にアクセスして音声合成の結果のみをもらうという形で使用してみたいと思います。一見あまり意味がなさそうに思いますが、同様にしてRaspberryPi Zero WなどからAPIアクセスすれば、かなり非力なデバイスでも音声合成を使用することができるかなと思います。

VOICEVOX Engineのインストール

VOICEVOX EngineGitHubリポジトリは以下となります。

github.com

プラットフォーム用のバイナリ(自分の場合にはWindows版)をダウンロードする方法とDockerコンテナを使用する方法があります。

Windows版は環境毎にダウンロードを行って展開すればインストールは完了します。含まれているrun.exeを起動することでAPIへのアクセスができるようになります。GPUがある場合には積極的にそちらを使用しましょう。

github.com

続きを読む

UbuntuやRaspberry Piでも利用可能な音声合成エンジンEdge-TTSの導入方法

先日来使用しているVOICEVOXですが、PCであればかなり高速に処理をすることができるとはいえ、リアルタイム性?というところではやはり処理時間がかかるため会話というところには使用が難しいと思いました。そこで、他にもなにかないかなと思い探してみることにしました。結果的にOpenJTalk一択かもしれないのですが、それ意外の可能性も捨てたくないですよね。

今回はEdge-TTSを使用してみることにします。EdgeというとWindowsの標準ブラウザというイメージがあるので、Windows意外では使用できないのでは?と思われる方もいるかと思いますが、今回使用するEdge-TTSはWindowsでの使用はもちろん、EdgeブラウザのインストールされていないLinux環境RaspberryPiでも使用できる点は非常に便利かなと思います。あとは、電子工作なでと状況に合わせた使用できるかという観点についても調べてみたいと思います。

【参考】

github.com

pypi.org

今回試してみた環境

今回試してみたのはUbuntu Desktop 22.04 LTSRaspberryPi OS最新版となります。

【RaspberryPi OSの実行環境】

Edge-TTSの導入方法

edge-ttsのインストールはPythonの開発環境があれば非常に簡単です。

Pythonのライブラリを含めて使用する場合にはpipコマンドから以下のようにすればOKです。

$ pip install edge-tts

また、プログラミングを行わないで単にコマンド実行で行うこともできるので、この利用法であれば、以下のコマンドでインストールができます。

$ pipx install edge-tts
続きを読む

【便利】コマンドラインツールで超解像処理!静止画も動画も高画質に

以前、Upscaylというアプリを使用して低解像度の画像を超解像化を試してみました。結果がわかりやすくすごい技術だったのですが、それだけで終わったらちょっともったいないなあと思い、今回はプログラミング的な感覚(比較的自動化しやすい)ものについて調べてみました。基本的な超解像化ロジックに関してはUpscaylにも使用されていますが、今回はコマンドラインツールとして使用できる点が違いになります。

【参考】

note.com

www.upscayl.org

超解像の恩恵を処理化したい

超解像は解像度の低い画像を画質をあげて拡大するといったものです。前述したUpscaylはほぼ完成したアプリとして成立しているのですが、その他の処理と組み合わせて使用してみたいと思うとアプリでは連携がしにくい場面もあります。

そこで今回はReal-ESRGANを使用して、コマンドラインでも同様な処理を行えるようにしてみたいと思います。

github.com

Real-ESRGANにはコマンドラインで実行できるプログラムで、超解像化するアルゴリズムも複数含まれています。

続きを読む

Kintoneアプリへのデータ格納をNode-REDで簡単に操作する

以前、参加したイベントでNode-REDからKintoneアプリのデータを操作するというノードを見つけたので、その使い方のメモをしておきます。

拡張ノードnode-red-contrib-kintone

今回、Node-REDからKintoneアプリを操作する拡張ノードはnode-red-contrib-kintoneとなります。このノードの使用方法に関しては作者の方の情報が参考になります。

blog.chick-p.work

続きを読む

初心者向けにわかりやすく解説するNode-REDの【環境変数】使用法

前回のエントリーで環境変数の学び直しをしたので、今回はNode-REDでの環境変数の使い方の復習をします。復習と言ってもほぼ使ったことがなかったので初めて使うに近いです。今回の内容は以下の内容を踏襲しています。サブフローなどに関してはまだ手に負えないので、記載はしていません。

nodered.jp

公開されているこちらの情報ですが、非常にいい情報が掲載されているのですが、初心者には結構わかりにくいような😢その部分も含めてまとめて行きます。

今回、RaspberryPi OS環境に、以下のように起動したNode-REDをインストールして使っています。 環境変数の内容については前回のエントリのLinux系の環境変数の部分を参考にお願いします。

参考

uepon.hatenadiary.com

また、今回参照する環境変数変数名:ENV_VARIABLE値:value123とします。

CLIによる設定と表示

# 設定(~/.bashrcなどの編集)
$ export ENV_VARIABLE=value123
# 表示(grep使用)
$ printenv | grep ENV_VARIABLE
ENV_VARIABLE=value123
続きを読む
/* -----codeの行番号----- */