【2025年6月版】Tiny View Plus を Bodhi Linux 7.0.0 (Ubuntu 22.04) で動作させる方法

みなさん、こんにちは。

今回は、私の趣味であるTiny Whoopと呼ばれるFPVマイクロドローンに関する少しニッチな話題をお届けします。

(2025/6/20)記事を追記しました。発話機能を動かすための手順が増えています。@zubon200さんのご協力に感謝致します。

FPVドローンのレースでは、ラップ計測にTiny View Plusというアプリがよく使われています。このアプリは、最大4台のUSB受信機を接続して映像確認とラップ計測ができる優れもので、日本各地のFPVドローン施設のほとんどで利用されているほど、その筋では非常に有名なアプリです。

 


 

LinuxでTiny View Plusを動かす!

 

しかし、この素晴らしいTiny View Plus、公式にはWindowsとMacにしか対応していません。オープンソースのフレームワークであるopenFrameworksを使って実装されているため、理論的にはLinuxでも動作するはずなのですが、実際に試みると一筋縄ではいきません。過去にはArch Linuxでの成功報告もありましたが、その手順を試しても私の環境ではうまく動作しませんでした。

試行錯誤を重ねた結果、Bodhi Linux 7.0.0 (Ubuntu 22.04) でTiny View Plus v0.9.33 beta6を動作させることに成功しましたので、その方法をみなさんにご紹介したいと思います。2025年6月時点での情報ではありますが、同様の環境で困っている方の助けになれば幸いです。

 


 

Tiny View PlusをBodhi Linux 7.0.0 (Ubuntu 22.04) で動作させる方法

 

0. 必要なパッケージのインストール

以下のコマンドでTiny View PlusをBodhi Linux 7.0.0 (Ubuntu 22.04)で動作させるためのパッケージをインストールします。

sudo apt install libgtk-3-dev zenity speech-dispatcher open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001 alsa-utils speech-dispatcher mecab libmecab-dev mecab-utils

ひょっとするとGTK3+のライブラリが不足する可能性がありますので、以下の記事を参考にしてGimp3.0をaptでインストールしておく方が安全です。

 

1. openFrameworks for LINUXのダウンロード

Linuxで動作させるためには、openFrameworksの特定のバージョンをダウンロードする必要があります。

  • バージョン
    • 0.12.0が必須です。他のバージョンでは正常に動作しない可能性が高いです(実際、0.11.2はビルドできても動作せず、0.12.1はビルドできませんでした)。
    • v0.9.33 beta6のMac版が0.12.0指定のため、Linuxも0.12.0が必要と思われます。
  • アーキテクチャ
    • linux64gcc6版をダウンロードしてください。他のアーキテクチャでの動作は未確認です。

以下のURLからダウンロードできます。 https://github.com/openframeworks/openFrameworks/releases/download/0.12.0/of_v0.12.0_linux64gcc6_release.tar.gz

ダウンロードしたら、適当な場所にopenframeworksという名前で展開してください。

 

2. openFrameworksのインストール

展開したopenFrameworksのディレクトリに移動し、依存関係のインストールとコンパイルを行います。

cd openframeworks/scripts/linux/ubuntu
sudo ./install_dependencies.sh # 依存関係のインストール
sudo ./install_codecs.sh      # コーデックのインストール
cd ..
sudo ./compileOF.sh           # openFrameworksのコンパイル
sudo ./compilePG.sh           # ProjectGeneratorのコンパイル

 

3. アドオンのインストール

Tiny View Plusが依存しているアドオンをインストールします。openframeworks/addonsディレクトリに移動し、以下のコマンドでクローンします。

cd openframeworks/addons
git clone -b fix-of_v0.10 https://github.com/t-asano/ofxTrueTypeFontUC.git
git clone https://github.com/t-asano/ofxAruco.git
git clone https://github.com/kylemcdonald/ofxCv.git
git clone https://github.com/t-asano/ofxZxing.git
git clone https://github.com/t-asano/ofxJoystick.git

 

4. ofxCvのTracker.hの編集

C++17でビルドするために、ofxCv/libs/ofxCv/include/ofxCv/Tracker.hファイルを修正します。

cd ofxCv/libs/ofxCv/include/ofxCv/
vi Tracker.h

行128を修正してください。

  • 変更前: Tracker<T>()
  • 変更後: Tracker()

 

5. ProjectGeneratorを使ってプロジェクトを作成

openframeworks/projectGenerator-linux64に移動し、ProjectGeneratorを起動します。

cd openframeworks/projectGenerator-linux64
./projectGenerator

ProjectGeneratorの画面で、以下のアドオンを含む新しいプロジェクトを作成します。今回の例では、プロジェクト名をTVPとしました。

  • ofxOsc
  • ofxTrueTypeFontUC
  • ofxAruco
  • ofxCv
  • ofxOpenCv
  • ofxPoco
  • ofxZxing
  • ofxJoystick
  • ofxXmlSettings
projectgenerator
ProjectGenerator の設定画面

「Generate」ボタンをクリックすると、openframeworks/apps/myApps/にプロジェクトが作成されます。

 

6. tinyviewplusのプロジェクトをクローンし、TVPに上書きコピー

openframeworks/apps/myApps/に移動し、Tiny View PlusのプロジェクトをGitHubからクローンします。

cd openframeworks/apps/myApps/
git clone https://github.com/t-asano/tinyviewplus.git

次に、クローンしたTiny View Plusのファイルを、先ほど作成したTVPプロジェクトに上書きコピーします。ここがポイントです! Tiny View Plus本家のビルド手順ではコピーする側とされる側が逆に記載されているため、注意してください。本家の手順通りにコピーすると、クローンしたプログラムが雛形に上書きされてしまいます。

cp -r tinyviewplus/* TVP/

上書きコピーが終わったら、GitHubからクローンしたtinyviewplusディレクトリは不要なので削除し、TVPディレクトリの名前をtinyviewplusに変更します。

rm -r tinyviewplus
mv TVP tinyviewplus

 

7. ofApp.cppファイルの編集

日本語の発話機能を動作させるために、ofApp.cppファイルを編集します。

cd tinyviewplus/src
vi ./ofApp.cpp

行2671からはじまるTARGET_LINUXのブロックを以下のように修正してください。

#ifdef TARGET_LINUX
    int pid = fork();
    if (pid == 0) {
        if (lang == "en") {
            // Use speech-dispatcher for English
            execlp("spd-say", "", "-w", "-r", "15", "-t", "female1", "-l", lang.c_str(), text.c_str(), NULL);
        } else if (lang == "jp") {
            // Use open_jtalk for Japanese
            std::string shellcmd = "echo '" + std::string(text.c_str()) + 
                                  "' | 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" +
                                  " -g 10" +
                                  " -r 1.15" +
                                  " -ow /tmp/voice.wav && aplay -V 200 /tmp/voice.wav";
            // Execute the shell command
            execlp("sh", "sh", "-c", shellcmd.c_str(), NULL);
            // If the command fails, exit with an error code
            exit(0);
        }
        OF_EXIT_APP(-1);
    }
#endif /* TARGET_LINUX */

参考(必須ではありません):
Tiny View Plus では女性の声が標準のようですが、このままの設定だと男性の声になります。もし女性の声を使いたい場合は、MMDAgentの「mei」モデルが使用可能です。meiモデルはMMDAAgent_Example-1.6以降に含まれています。MMDAAgentからダウンロードして展開し、Voiceフォルダ内にあるmeiフォルダを/usr/share/hts-voice/にコピーしてください。その後、上記コードを以下のように再修正してください。

修正前:

" -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice" +

修正後:

" -m /usr/share/hts-voice/mei/mei_normal.htsvoice" +

 

8. config.makeファイルの編集

tinyviewplusディレクトリに移動し、config.makeファイルを編集します。

cd ..
vi ./config.make

PROJECT SPECIFIC CHECKSのセクションを探し、以下のように修正します。これは、openFrameworksが指定するC++20ではなくC++17でビルドするようにするために必要です。

################################################################################
# PROJECT SPECIFIC CHECKS
#     This is a project defined section to create internal makefile flags to
#     conditionally enable or disable the addition of various features within
#     this makefile.  For instance, if you want to make changes based on whether
#     GTK is installed, one might test that here and create a variable to check.
################################################################################
# None

# Additional compiler flags
PROJECT_CFLAGS = -Wno-deprecated-enum-enum-conversion -Wno-error=deprecated-enum-enum-conversion -fpermissive -std=c++17

# Force C++17 instead of C++20
PROJECT_CXX = g++
PROJECT_CXXFLAGS = -std=c++17

 

9. tinyviewplusのビルドと実行

いよいよビルドです!エラーが出なければ成功です。

make clean && make

ビルドが完了したら、以下のコマンドでTiny View Plusを実行できます。

make RunRelease
# もしくは
cd bin
./tinyviewplus

無事に映像が表示されたら、Tiny View Plusのビルド成功です!

Tiny View Plus 画面
カメラ映像が表示された!

 

これで、Linux環境でTiny View Plusを快適に利用できるようになりました!

これまでWindowsやMacでしか使えなかったTiny View Plusですが、今回の記事でBodhi Linux (Ubuntu 22.04) 上での動作を確認できました。これは、他のLinuxディストリビューションでも同様に動作させられる可能性を示しています。ぜひ、皆さんもご自身の環境でチャレンジしてみてください。

 

本日も最後までお読みいただきありがとうございました。

それでは、よいFPVドローンライフを!

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール