今年買ってよかったもの 2023年版

Dirtywave M8 Headless版のセットアップ方法

以前の記事で取り上げたDirtywave M8のHeadless版の、使い始め方(導入方法)について纏めてみます。
Windows環境での導入方法です。macOSに関してはこの記事に加えてこちら(コミュニティマニュアルの邦訳版)を参考にしてみてください。Linuxについては、TouchDesignerが提供されていない為現時点では不可能です。

必要なもの

ソフト

  • M8 Headlessのソフトウェア類
    Githubにて提供されています。以下の2つが必要です。
    DirtyWave/M8HeadlessFirmware
    DirtyWave/M8DisplayTouchdesigner
  • TyTools
    Firmwareを書き込むためのツールです。基本的にはReleaseページから、OSに合ったZIPの最新版をダウンロードすれば事足りると思います。
    Koromix/tytools/releases

  • TouchDesigner by Derivative (非商用利用については無償)
    Headless版の画面表示を担うソフトウェアです。
    利用にはアカウント登録が必要です。手順については一本記事を書けてしまうレベルなので割愛します。こちらの記事を参考に進めると良いと思います。
    以下、TouchDesignerと表記します。
    Derivative (TouchDesigner)
  • SD Memory Card Formatter
    MicroSDカードをFAT32でフォーマットする際に使用します。
    標準的なOS付属のフォーマットでもよいような気がしないでもないですが…このツールは無用なパーティションが存在する時にそれらを消去してくれたりと、文字通りSDカードのフォーマットに特化しているので、大人しく使用するのが良いと思います。
    SDメモリーカードフォーマッター(日本語版)
    SD Memory Card Formatter(英語版)
  • Audacity(オプション)
    M8 Headlessはパソコン側でオーディオ入力デバイスとして認識されます。このオーディオ入力を何らかの方法で聴けるようにする必要があります。
    Audacityを使わない方法としては、Windowsであればオーディオ設定からも有効にできます(こちらについては後述します)が、Audacity経由で聴ける状態にしておくと、即座にワンフレーズだけ録音、といったような使い方もできる為、意外と便利です。
    もちろん各種DAWのオーディオ入力機能を使っても大丈夫です。お好みの方法で行ってください。
    私はAudacityかFL Studioを使用しています。
    Audacityの公式サイト

ダウンロードしたソフトウェア類は、それぞれ解凍、インストール等を行っておいてください。

Githubからのダウンロード方法について

Githubを使い慣れた人にとっては釈迦に説法なので読み飛ばしてください。
慣れていない方は、以下に従ってダウンロードを試してください。
  • M8 Headlessのソフトウェア類
    DirtyWave/M8HeadlessFirmware
    DirtyWave/M8DisplayTouchdesigner
    は、リンクを開いて右寄りにある緑の code と書かれたボタンをクリックすると、Donwload ZIPという項目が出てくるので、それをクリックしてダウンロードしてください。


  • TyTools
    Koromix/tytools/releases
    は、上記リンクを開くとTyToolsのReleasesページと呼ばれる場所ですので、Assetsの一覧から、OSに合ったZIPの最新版をダウンロードしてください。
    Windows 64bitの場合: TyTools-x.x.x-win64.zip
    Windows 32bitの場合: TyTools-x.x.x-win32.zip
    macOSの場合: TyTools-x.x.x-osx.dmg
    (x.x.xには、バージョン番号が入ります)


ハード

  • Teensy 4.1 (4,000円程度)
    いわゆるワンボードマイコンと呼ばれるものの一つです。必ず4.1を購入してください。
    購入可能なリンクの一例を纏めておきます。
    日本: スイッチサイエンス(ピンヘッダ付はこちら), せんごくネット通販, 共立エレショップ
    海外: PJRC(製造元の直販), SparkFun, Mouser, Digi-Key


  • TouchDesignerを動作できるパソコン
    TouchDesignerはグラフィックスを扱うソフトウェア故、グラフィックボードに動作要件が設定されています。
    私の普段動作させている環境では、Radeon HD 7790の1GBモデルを使用しています。
    また、Intel Atom X7-Z8750を搭載している初代GPD Pocketでもテストしましたが、入力と描画の間の遅延が大きめでした。(使えないレベルではない…かな…という感じです)
    推測ではありますが、IntelのAPIサポートリスト公式WikiのGLSLの項の記述から見るに、最低限OpenGL 3.3以上のサポートがあるGPUであれば動作するようです。
    公式WikiのSystem Requirementsによると、動作環境の要求は以下のようです。
    • OS
      Windows 7 SP1以上 or macOS 10.12以上
    • GPU
      1GB以上のVRAMが必要との事
      • デスクトップ向け
        Nvidia GeForce 600以上
        AMD Radeon HD 7000以上
      • 内臓グラフィックス
        Intel HD Graphics 4000以上
  • MicroSDカード
    ランダムリードの速いカードが推奨されています。(サンプル再生のボトルネックにならない為と思われます)
    私は吟味したうえでキオクシア(旧東芝メモリ)のEXCERIA 32GBを使用していますが、M8HeadlessのReadmeでは以下が推奨されています。
    • Lexar Professional 1800x
    • Sandisk Ultra
    • Transcend 300s 

    ちなみにReadmeに具体的な記述は無かったと思いますが、MicroSDカードを挿さないとM8HeadlessFirmwareを書き込んでも動作できませんでした(v1.1.1の時の情報です)。ソングやインストゥルメントの保存に必要ですので、必ず用意してください。

  • Teensy 4.1をパソコンに接続するUSBケーブル
    一般的なUSB Micro-Bケーブルを用意してください。
  • MicroSDカードリーダー
    USB2.0のものでも大丈夫です。
  • パソコンのUSBポート(電力供給が十分なポート)
    Teensy 4.1は動作にそれなりの電力を要求するため、電力供給量が十分なUSBポートに接続する必要があります。外付けのUSBハブを介していないポートであれば、大抵は大丈夫です。うまく動作しない場合は、別のUSBポートを試してみてください。
    私はセルフパワーのUSBハブ(BSH4A120U3BK)を持っているので、それに挿して使っています。
  • ブレッドボード(オプション)
    上記写真ではTeensy 4.1にピンヘッダをはんだ付けし、ブレッドボードに挿しています。
    こちらは動作に必須ではありませんが、私はボードそのままで運用するのは気が引けたので…。
    私が使っているのは、秋月電子通商で販売されているBB-801です。
    ※Teensy 4.1を抜くのは少々注意が要るので、あまり抜き差ししない前提で運用した方が良いと思います。

セットアップ

  • MicroSDカードをフォーマットする
    1. MicroSDカードをカードリーダーに挿し、パソコンに接続します。
    2. SD Card Formatterを起動します。(画像は英語版です)
    3. 挿したカードと選択されているドライブレターが一致している事をよく確認し、クイックフォーマット(Quick Format)します。
    4. フォーマットしたMicroSDカードをTeensy 4.1に挿しこんでおきましょう。

  • Teensy 4.1にM8HeadlessFirmwareを書き込む
    1. COMポートを使用するハードウェア(例: RS-232C接続の機器、Arduino等)がある場合は、一度パソコンから外しておくことをお勧めします。
      他のCOMポート機器が接続されている状態で作業する際は、手順2で接続したTeensy 4.1がどの COMポート番号を割り当てられているかを十分に確認した上で作業を行ってください。
      ポート番号はデバイスマネージャー等から確認できます。
    2. USB Micro-BケーブルでTeensy 4.1をパソコンのUSBポートに接続します。
      恐らくTeensy 4.1をパソコンが認識してくれますので、使用できる準備ができました、といったようなメッセージが出るまで待ちます。
      新品の場合はLEDが点滅し出すかもしれませんが、正常な動作です。
    3.  TyTools内の、TyUpdater.exeを起動します。
      プルダウンメニューの部分に、Teensy~といったようなデバイス名が表示されている事を確認します。(画像はM8 Headlessを書き込んだ後のものです)
    4. TyUpdaterのUploadをクリックすると、書き込むFirmwareファイルを選択する画面が開きます。M8HeadlessFirmware内のReleasesフォルダ内にある、M8_Vx_x_x_HEADLESS.hex (x_x_x はバージョン番号)を選択します。
      特別な理由が無ければ、最新版のhexファイルを選択してください。
    5.  選択すると書き込みが始まります。緑色のバーが消えたら完了です。
      完了すると、デバイス名の表記がM8~となります。


  • TouchDesignerを起動する
    1. TouchDesignerをインストールすると、M8DisplayTouchdesigner内のM8DisplayTouchdesigner/M8DisplayTouchdesigner.toeが、TouchDesignerに関連付けられていると思いますので、ダブルクリックします。
      ※M8DisplayTouchdesigner/M8DisplayTouchdesigner.toeと同じ階層にAssetsというフォルダがありますが、このフォルダとtoeファイルの位置関係を変更しないようにしてください。

    2. TouchDesignerにM8DisplayTouchdesigner.toeが読み込まれた状態で起動します。(画像のような赤いストライプのアニメーションが表示されます)

      左下のConnection & Settingsと書かれたボタンをクリックすると、メニューが表示されます。

      Settingsタブから、接続しているTeensy 4.1のCOMポートを選択します。M8 HeadlessのFirmwareを書きこんだTeensy 4.1がパソコンに接続されていれば、何らかのポート番号が表示されていると思います。

    3. 正しいデバイスを選択していれば、M8の画面が表示されていると思います。

     
  • M8 Headlessの音を聴けるようにする
    • プラン1 - Windowsのサウンド設定を使う
      (おことわり: 筆者環境の都合上、Windows10の英語版を使用しています)
      1. タスクバーのサウンドアイコンの上で右クリックし、サウンドをクリックしてWindowsのサウンドメニューを開きます。

      2. 録音タブの中からM8を見つけ、アイコン上で右クリックしてプロパティを開きます。
      3. 聴くタブを開き、「このデバイスを聴く」にチェックを入れると、デフォルトの再生デバイスからM8の音が出力されるようになります。


    • プラン2 - Audacityのオーディオ入力機能を使う
      (筆者環境のAudacityも例によって英語版ですが、日本語版表記について未調査の為、英語版の表記に準拠して説明します)
      1. Audacityを開き、録音デバイスのプルダウンメニューからDigital Audio Interface (M8)を選択します。
      2. Edit-Prefenanceと開き、設定画面を表示します。
      3. Recordingメニューに移動し、OptionsからSoftware playthrough of inputにチェックを入れ、OKをクリックして閉じます。
      4. 録音レベルメーターの上にあるClick to Start Monitoringをクリックすると、M8の音声がAudacityで設定された出力デバイスに出力されます。
     

 運用方法について

  • 操作方法について
    デフォルトの操作キー割り当ては以下のようになっています。
    • Editキー(LSDjにおけるAボタン): X
    • Optionキー(LSDjにおけるBボタン): Z
    • Startキー: Space
    • Selectキー: Shift
    • 上キー: Up
    • 下キー: Down
    • 左キー: Left
    • 右キー: Right

     また、Headless版で使えるPCキーボード専用の割り当ても存在します。
    • 音楽キーボード機能: AからLまで、半音階は上段のキーで鳴る
    • 音楽キーボード機能のオクターブ下げ: -
    • 音楽キーボード機能のオクターブ上げ: =
    • 音楽キーボード機能のベロシティ下げ: [
    • 音楽キーボード機能のベロシティ上げ: ]
      (これらは全てUSキーボードで設定されていると考えられるため、日本語キーボードではキー名が一致しない可能性があります)  

    このうち、操作キーについてはゲームパッドを使うと、LSDjをGB実機で動かしているのとほぼ同じ感覚で扱う事ができますが、M8DisplayTouchDesigner.toeからはゲームパッドを割り当てられないようです。
    そのため、JoyToKeyAntimicroのようなゲームパッドの入力をキーボード入力に変換するツールが必要になります。手間はかかりますが、LSDjに慣れた方であればこの方が快適だと思いますので、設定して損は無いはずです。
    M8のスタンドアロン版っぽくという事であれば、テンキーを使うのも良いと思います。

  • 電源の切り方について
    Teensy 4.1に特に電源スイッチはありません。したがって、電源を切る際はパソコンに接続しているUSBケーブルを抜いてください。
    その際、M8Trackerはアイドル状態(再生停止中)である事を確認するのが望ましいと思われます。

  • MicroSDカードの抜き差しの仕方
    MicroSDカードの抜き差しは、Teensy 4.1の電源を切った状態で行ってください。
    電源の切り方については、ひとつ前の項を参考に行ってください。
    V1.3.1に更新した所、動作中にMicroSDカードを抜き差しすると、それに応じたメッセージが表示されるようになりました。起動中でも抜き差しして大丈夫なようです。
    抜き差しする際は、アイドル状態した方が良いと思われます。

  • USBケーブルの抜き差しについて
    Teensy 4.1の本体側のUSB Micro-Bコネクタは、残念ながら決して丈夫なものではありません。
    一本短めのケーブルを専用に用意して、抜き差しは基本的にパソコンに接続する側で行うと長持ちすると思います。
    本体側を抜き差しする際は、コネクタに対して水平、かつ丁寧に抜く事を心がけると良いと思います。

トラブルシューティング

  • TyToolsでFirmwareファイルを選択しても、エラーが出て書き込みが進まない
    ダウンロードしたFirmwareファイルが破損しているか、ダウンロードの手順を間違った可能性があります。Githubからのダウンロード方法についての項を参照して再度実行してみてください。

  • TouchDesignerを起動したが、赤いストライプが表示されたままになる
    COMポートの設定が間違っている可能性があります。TouchDesignerを起動するの項を参照して再度実行してみてください。
    MicroSDカードを挿しこんでいないか、Firmwareの書き込みに失敗している可能性があります。
    MicroSDカードを挿しこむか、Teensy 4.1へ再度Firmwareを書き込んでみてください。

  • MicroSDカードを挿しこんでTouchDesignerを起動、COMポートの選択も行ったが、赤いストライプが表示されたままになる。
    MicroSDカードの接触不良か、Teensy 4.1が何らかの理由でうまく動作していない可能性があります。
    一度USBケーブルを抜いてMicroSDカードの挿し直しを行う、TouchDesignerのConnection & SettingsからResetボタンをクリックするなどの操作を行ってみてください。

  • TouchDesignerのM8の表示が乱れる

    toeファイルとAssetsフォルダが同じフォルダ階層に無いと思われますので、同じ階層に配置してください。このファイルとフォルダの位置関係は変更しないようにしてください。

余談

TouchDesingerはユーザー登録が必要で、使用開始時にログインを求められます。
このTouchDesignerはtoeプロジェクトファイルを読み込んで操作できるだけでなく、エディタも兼ねているものです。試しにM8DisplayTouchdesigner.toeを開いた状態でEscキーを押すと、エディタに遷移します。(F1キーを押すと戻ります)

TouchDesignerにはエディタを伴わないTouchPlayerというプログラムが同梱されており、どうやらこちらはログイン等せずとも使用できるようです。
 
TouchPlayerを起動するとこのような画面になり、この画面にM8DisplayTouchdesigner.toeファイルをDnDして読み込ませてもM8 Headleesを使用できます。

どうしてもアカウントを作りたくない、といったような状況であったり、とりあえず試したいといった形であれば、こちらを使うのも良いと思います。
TouchPlayerに直接投げ込むようなショートカットを作成するのも良いと思いますし(コマンドラインの引数にtoeファイルを指定すればそのまま読み込むので、バッチファイル化するとか…。)、開発をする予定がないのであれば、toeファイルの関連付けごとTouchPlayerにしてしまっても良いのかもしれません。
バッチファイルの記述例を置いておきます。
START "" "C:\Program Files\Derivative\TouchDesigner\bin\TouchPlayer.exe" M8DisplayTouchdesigner.toe
長い記事となりましたが、導入の役に立てれば幸いです。

21/01/29 追記
Samplerで読み込めるファイルや、再生品質について調査を行った記事を公開しました。記事はこちら

コメント