FreeDV運用ガイド

オープンソースによるデジタル音声通信

この画面は、簡易表示です

ubuntu freedv

UbuntuでのFreeDV 2.0.0構築

投稿日 by Hiro

最初に、FreeDVをUbuntuで使うための手順について書いておきます。
記述には再現性には、つとめていますが、Windowsと違い実験的な要素が多いので、
上手く動作するとの保証はしかねますので、ご理解の上、読み進めて下さい
特にサウンドデバイスに関しては、認識に少し不安定な部分があることを
認識して頂いて読み進めて下さい、もう少しサウンドデバイスの設定は
改善する必要があることを認識はしていますので、随時検証して更新に
努めていきます。

今回動作検証に使ったパソコンは、2010年頃に自作した
intel i5 4000番台 メモリーは16Gb搭載しています、Win10サポート切れ
の事を考慮してUbuntuをセットアップしたものを使っています。

Ubuntuのセットアップそのものは、それほど難しくはありません
Windows パソコンでUbuntu公式サイト https://jp.ubuntu.com/download から
ダウンロードをして、ダウンロードされたisoファイルをRufusなとを使って
ブート可能なISOイメージファイルをもとにブータブルUSBメモリを作成
Ubuntuをインストール予定のパソコンをUSBメモリーから起動するように
セットして指示に従ってセットアップを進めることでインストール出来ます。
Rufusのダウンロード先は
https://forest.watch.impress.co.jp/library/software/rufus/
試行錯誤をしてみる経験もスキルアップに繋がると思います。
今後のためにも挑戦をしてみるのも良いことかと思います。

現在、サウンドデバイスがUbuntuで標準実装されている
PulseAudio対応となり、サウンドデバイスの設定が簡単になりました
PulseAudioを使用する前提で設定を進めたものを公開しています。

Ubuntuのシステムアップデートも頻繁に行われているので
設定条件も確認が取れ次第予告なく変更アップデートしています。

また、私の環境では、動作しても、他の環境によっては
期待通りに動作しない可能性もあることを理解して下さい。

※準備作業
前提として、Ubuntu 20.04 日本語Remixバージョン以降を
クリーンインストールしたパソコンを準備して下さい。
インストール後のアップデートを、適用した状態から作業を始めます。

設定を始める前の準備に入ります
Ubuntuをインストールして、アップデートを適用して
最初に下の画像。表示される画像は違いがあります。

左下のタイル状のアイコンにマウスを合わせて下さい

上の画像はアプリケーションを表示するとありますが
Ubuntu 24.02.1ではShow Appsと出ると思います
アイコンも人が輪になって手を組んでいるような
下の画像がUbuntu 24.04 Ubuntuのアプリケーションを表示
する部分のマークになっています。

アプリケーションを表示すると出ますのでクリック
下に常用と、すべて と表示されますので
すべての側を選択、ユーティリティを探して下さい

端末にマウスを合わせて、お気に入りに追加 として下さい
設定は、端末にコマンドを打ち込んで設定をしていきます。

無線機の電源を入れてUbuntuをインストールしたパソコンを
USBケーブルで接続して設定を始めて行きます。
このときの無線機とパソコンを接続するUSBケーブルは
中継ケーブルは使わずに、一本のケーブルで繋いでください
中継ケーブルを使うと思い通りに動かない等のトラブルの元になります

一度、無線機のUSBポートを認識させるために再起動して下さい

お気に入りに追加後、端末をクリックして表示させておいて下さい。
端末の入力欄右側は$マーク(ユーザーモード)で有ることを確認して
始めて行きます。

無線機内蔵のデバイスを認識しているかどうかの確認をします。
私の環境は、Yaesu 機での内部デバイス表示の一例です。
コマンドに lsusb と打ち込んで下さい
画像のような表示になります。

ここで無線機内蔵のデバイスとして、シリアル通信用デバイスが
Silicon Labs CP2105
USBオーディオインターフェイスに関してのデバイスが
Texas Instruments PCM2903 Audio CODECと表示されていて
認識をされていることが解ります。

認識されていると確認が取れたところで、次に進みます。

シリアルポート アクセス権の確認

ls -l /dev/ttyUSB* と端末に入力して下さい
結果は、日付は別として下のようになると思います
crw-rw—- 1 root dialout 188, 0 4月 12 21:34 /dev/ttyUSB0
crw-rw—- 1 root dialout 188, 1 4月 12 21:34 /dev/ttyUSB1
シリアルUSBデバイスにユーザが
アクセスできるように設定をしていきます
ここでhogeと表記しているのは仮のユーザー名で、
実際にはUbuntuを インストールするときに設定したユーザー名になります。
sudo gpasswd -a hoge dialout と端末に入力 パスワードを
求められますので入力して下さい。
dialoutグループにユーザー名(hogeは仮のユーザー名、実際はubuntuのユーザー名) id と
端末に入力してきちんと追加されたか確認 uid=1000(hoge)gid=1000(hoge)groups=1000(hoge),4(adm),24(cdrom),27(sudo),30(dip) 46(plugdev),120(lpadmin),131(lxd),132(sambashare)
上記のようになっていればOKです。
シリアルUSBデバイスに恒久的なアクセス権をエディターを
使って設定し無くても使えるようになっていると思います。
ここで設定を反映させるために、再起動して
再起動後、
ls -l /dev/ttyUSB* と端末に入力
crw-rw— 1 root dialout 188, 0 4月 12 21:49 /dev/ttyUSB0
crw-rw— 1 root dialout 188, 1 4月 12 21:49 /dev/ttyUSB1
このように表示されます。

※サウンドデバイス関係の設定にはいります。
端末を開いて
sudo apt install pavucontrol pulseaudio と端末に入力
パスワードを求められますので入力します。

インストールが終わるとアプリケーションを表示する
のメニューの中に下のスピーカーのような
バージョンによっては♫のマークPulseAudio 音量…が
現れますのでお気に入りに追加しておきます。


※必要なソフトのインストール
端末に、sudo apt install gtkterm と入力
指示に従ってパスワートを入力、インストールをして下さい。
インストールが終わったら、左下のタイル上にマウスを合わせて、
アプリケーションを表示させて下さい。

※シリアルポート管理ソフトの設定

その中のSerial port ter…にマウスを合わせて、お気に入りに追加します。

無線機側のシリアル通信レートを4800bpsにセットして下さい
シリアル通信レートが早すぎると上手く通信できなくて
エラーで固まることが多いです。

Yaesu機の場合 CAT SELECTをUSBに設定、ICOM機の場合は
詳しくないので、ここでは割愛します。

お気に入りに追加されたGTKTerm の起動後、画像のような警告が
いくつか出ますが、すべてOKとして、進んで下さい。

Configurationにマウスを合わせPortを選択します
Portに/dev/ttyUSB0を選択して、下の画像のように設定します
※Yaesu FTDX-3000 でのCAT設定になっています、
Bits 及びStopbitsについては、それぞれの無線機の設定に合わせて下さい。

設定をしたらOKボタンを押します。
cofiguration からSave cofigurationを選択して defaultのままでOKとします。
メッセージがいくつか出ますが、OKとYESで進んで、一度GTKTermを終了させて
再度起動させて、メッセージが表示されずに立ち上がることを確認します。

これで、シリアルポート関係の設定は終わりました。
上記の設定にならないとき Load cofigurationとして設定を
読み込ませてください。

ここからFreeDV Ver2.0.0のビルドに入ります。
まずビルドに必要な基本環境の構築

$ sudo apt install libspeexdsp-dev libsamplerate0-dev sox git \
libwxgtk3.2-dev libhamlib-dev libasound2-dev libao-dev \
libgsm1-dev libsndfile1-dev cmake module-assistant build-essential
リリースによっては、libwxgtk3.0-gtk3-devの代わりにlibwxgtk3.2-devを使うことがあります
ここからVer 2.0.0の構築の手順

1. Install the 'git' package using your package manager. これは 
    gitコマンドがあるかどうかのチェック
2. Go to a terminal emulator on you machine and type: 'cd' followed by the ENTER key to
    be sure you are in your home directory 
  これはhomeディレクトリにいますかの確認 cdコマンドを使って階層を深く入っていないか、
  何もしていなければ このままでOKです。 
 
3. Type: 'git clone https://github.com/barjac/freedv-rade-build ' then ENTER 
  太字部分を端末に入れてください 
 
4. Type: 'chmod +x freedv-rade-build/freedv-rade-build ' then ENTER 
 太字部分を入力してください
 
5. Type: 'freedv-rade-build/freedv-rade-build ' then ENTER 
 太字部分を入力してください 

このスクリプトでは海外のサーバーにファイルを取りに行きますので
インターネット環境によっては、上手くいかない場合もあります。
エラーメッセージは
# Check we have internet and DNS
ping -c3 google.com > /dev/null || { echo "ERROR: Failed to find internet connection or DNS"; exit 1; }
この場合インターネット接続環境を変える手段として
スマートホンのデザリング機能も使うことも考えてください。
 
ビルドがスタートすると下のような画像でビルドが進んでいきます。

ビルド作業が無事に終わると下のような画像 コメントが表示されます。

./freedv-start と打ち込み まずTools>CAT&PTT Configと進んで

無線機のPTT制御に必要な項目を入力してTest PTTを押して
送信状態になることを確認
自局の無線局情報などをWindowsと同じように設定して

次にTools>Audio Configとして
受信側 送信側のオーディオデバイスをセット
この設定は、少し試行錯誤が必要です。
一例として、画像をあげておきます。
受信側

送信側

実際の運用に入る前に、運用者側の音声入出力の設定をします。
画面左側お気に入りに登録した Pulse Audio 音量調節をクリック
下の画像になります。

ここではPCM2903B Audio CODEC アナログステレオ が無線機側との接続に使う
USBオーディオインターフェイス FreeDVのサウンドデバイスでは
入力側/出力側それぞれ
alsa_input/output usb-burr-brown_from_TI_USB_Audio_CODEC-00.analog-stereo
内部オーディオ アナログステレオが運用者側のサウンドデバイス
FreeDVのサウンドデバイスでは
alsa_input/output.pci-0000_1b.0.analog-stereoとなります。
デバイス名については、環境によって違いが出ます。
それぞれ、簡単にレベルの調整が出来るようになっています。

運用者側のデバイスはUSB接続のヘッドセットを使っています。
最初USB3.0のポートに接続しましたが認識をせずに
USB2.0のポートに接続をしたところ認識をするようになりました
運用者側のデバイスは試行をして、接続手法 USB 入力 ピン入力の
ものを試してみることも考えてみてください。

Pulse 音量調整を最小化して
FreeDV GUIのスタートボタンを押して受信をスタート

この状態で、Analogボタンを押して受信オーディオデバイスから、
受信出来ていることを確認、再度Analogボタンを押してデジタルモードにします。
次にPTTを押して

上の画像のように、マイクから音声が入力されることを確認します。
ここでのFreeDVのGUIは黒く表示されています。
これはディスプレイの上で、マウスを右クリック>
ディスプレイの設定>外観>スタイルでダークを選択しているためです。

ここで注意をしていただきたいことがあります。
UbuntuでのFreeDV RADEモードではWindowsで動作する
イコライザーAPOのようなソフトは、設定が難しいので
占有帯域幅2KHzの10MHz帯での運用、7.200MHzバンドエッジ
での運用は控えたほうが良いでしょう。

新しいアップデートのテスト

freedv-rade-update‘ スクリプトを使用すると、
freedv-rade (freedv-rade-build を
使用して作成) の高速更新、完全な再構築、バックアップ/復元、
および新しいデスクトップ ファイルの作成を、
シンプルなテキスト メニューから実行できます。
これは、Update-FreeDV デスクトップ アイコンから
実行できるようになりました。このアイコンは、
最近のインストールではすでにインストールされています。
ここから重要
*注意:この FreeDV-RADE のインストールはシステムの
パッケージ管理制御下にないため、システム更新 (特に「ローリング リリース」
ディストリビューション) によって FreeDV-RADE が
壊れる可能性があります。その場合は、FreeDV 更新スクリプトを実行し、
「完全再構築」オプションを使用する必要があります。
これにより、行った設定が破壊されたり、デフォルトの
起動スクリプトやデスクトップ ファイルが再作成されたりすることはありません。

注意: タイプミスを避けるために、常にここから
コマンドをコピー/貼り付けするときは、周囲の「 」を除いてください。

freedv-rade-build の初期のクローンをお持ちの場合は、次のように更新できます。
太字部分を入力していってください

1. 'cd ~/freedv-rade-build'

2. 'git pull' to update it

3. 'cd && chmod +x freedv-rade-build/freedv-rade-update' to make the update script executable

4. 'freedv-rade-build/freedv-rade-update' to run it as often as you like
    OR use it the new Update-RADE desktop icon to run it.

設定などで解らないことがありましたら気軽に、メールをして下さい。
解る範囲ではありますが、対応したいと思います。
なお、サポートについては、日本国内の方に限らせて頂きます。

参考にさせて頂いたサイト
シリアル通信ポートの設定
https://www.yokoweb.net/2019/12/12/ubuntu-ftdi-serial/
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0555?page=3
USBオーディオデバイスの設定
https://rohhie.net/ubuntu20-04-fix-the-audio-output-destination/
https://doroyamada.hatenablog.jp/entry/20170409/1491725205




top