1.Arduino IDEのインストール
前回にふれましたが、プロジェクト開発は Windows PCで行っていて(OSはWindows10)、開発環境は Arduino IDEを使用しています。すでに Arduino IDEをインストールして ESP32などの開発を行っている場合は、複数の開発環境を維持することが必要なケースもありますが、それは他の情報源にゆずることにします。調べて対応してください。
ここでは、やや古くなっている Arduino IDEをアンインストールし、最新のものをインストールするものとして手順をまとめます。なお、Arduinoの開発環境とユーザー作成のスケッチは、Windowsの場合は次のフォルダーに格納されているはずなので、必要なものは事前にバックアップしておきましょう。
・ユーザー作成のスケッチ: C:\Users\ユーザー名\Documents\Arduino
・Arduino IDE: C:\Users\ユーザー名\AppData\Local\Arduino15
① Arduinoのアンインストール
コントロール・パネルの「プログラムと機能」から「Arduino IDE」を右クリックし、[アンインストール]を選択。
続いて、先にバックアップした C:\Users\ユーザー名\~配下の 2つのフォルダーを削除します。
②最新 Arduino IDEのインストール
・Arduinoのサイトにアクセスします。
https://www.arduino.cc/en/software/
・2023年12月時点で最新の Arduino IDE 2.2.1をインストールします。
Windows MSI installerをダウンロードする。
↓
arduino-ide_2.2.1_Windows_64bit.msiがダウンロードされた。
↓
arduino-ide_2.2.1_Windows_64bit.msiを実行する。
↓
次の場所に Arduino IDE.exeなどがインストールされた。
・インストーラー
C:\Users\ユーザー名\AppData\Local\arduino-ide-updater\installer.exe
・Arduino IDE.exe
C:\Users\ユーザー名\AppData\Local\Programs\arduino-ide\Arduino IDE.exe
・その他、ロケール情報やリソースなど
C:\Users\ユーザー名\AppData\Local\Programs\arduino-ide\locales
C:\Users\ユーザー名\AppData\Local\Programs\arduino-ide\resources
・ログフォルダー
C:\Users\ユーザー名\AppData\Roaming\Arduino IDE
古いログ。
・arduino-ideフォルダー(4.7MB)
C:\Users\ユーザー名\AppData\Roaming\arduino-ide
・ショートカット
C:\Users\ユーザー名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
・ライブラリなどのソース
C:\Users\ユーザー名\AppData\Local\Arduino15\packages\teensy
\hardware\avr\1.58.1\libraries
・サンプルプログラム
C:\Users\m.ono\AppData\Local\Arduino15\packages\teensy
\hardware\avr\1.58.1\libraries\Audio\examples
これで Arduino IDE 2.2.1のインストールが完了しました。
2.Teensyduinoのインストール
Teensyduinoは Teensyを Arduino IDE環境で使うために必要なアドオンです。Arduino IDEから簡単にインストールできます。
① Teensyボードマネージャの組み込み
・ Arduino IDEを起動して [ファイル]-[基本設定]で「基本設定ダイアログ」を開く。
↓
一番下の「追加のボードマネージャのURL」の右端にあるアイコンをクリックする。
↓
「追加のボードマネージャのURL」ダイアログが開くので、入力枠に次の URLを入力する。
https://www.pjrc.com/teensy/package_teensy_index.json
ところが、すでに次の内容が登録されていました。
これは、以前に行った開発経過を引き継いだものと思われます。
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
https://raw.githubusercontent.com/mikaelpatel/Cosa/master/package_cosa_index.json
https://www.pjrc.com/teensy/package_teensy_index.json
↓
[OK]で「基本設定ダイアログ」を閉じる。
② Teensyduinoのインストール
・メイン ウィンドウで、左側のボード アイコン(上から2つ目)をクリックしてボード・マネージャーを開く。
↓
「teensy」を検索して、「Teensy」の[インストール]をクリックする。
※インストールにはしばらく時間がかかるので、終了するまで待つ。
Output窓に以下の内容が表示される。
Downloading packages
teensy:teensy-tools@1.58.0
teensy:teensy-compile@11.3.1
teensy:teensy-discovery@1.58.0
teensy:teensy-monitor@1.58.0
teensy:avr@1.58.1
Installing teensy:teensy-tools@1.58.0
Configuring tool.
teensy:teensy-tools@1.58.0をインストールしました
Installing teensy:teensy-compile@11.3.1
Configuring tool.
teensy:teensy-compile@11.3.1をインストールしました
Installing teensy:teensy-discovery@1.58.0
Configuring tool.
teensy:teensy-discovery@1.58.0をインストールしました
Installing teensy:teensy-monitor@1.58.0
Configuring tool.
teensy:teensy-monitor@1.58.0をインストールしました
Installing platform teensy:avr@1.58.1
Configuring platform.
Platform teensy:avr@1.58.1 installed
こうして、次のバージョンがインストールされました。
Teensy 1.58.1
3.デザインツールとドキュメント
Teensyのオーディオ・アプリケーションの作成は、使用するオーディオ・オブジェクトを定義して、オーディオ・オブジェクト間の信号の流れを結合関係(Connection)として指定することから始まります。これらは直接コードで記述することもできますが、オーディオ・オブジェクトはたくさんの種類があり、ひとつのオブジェクトが複数の結合端子(例えばステレオの左右、ミキサーへの複数入力など)持つものもあるので、場合によっては複雑に絡み合ってきます。これをサポートする「Audio System Design Tool for Teensy Audio Library」というツールがあります。Webブラウザ上で利用できるツールで、次のリンクをクリックすると下図のようなデザイン・ツールが表示されます。
https://www.pjrc.com/teensy/gui/index.html
画面の左欄からオーディオ・オブジェクトを選択して中央の画面へ配置し、オブジェクト端子間をマウスでドラッグして結合することができます。
画面上の[Export]ボタンをクリックすると、これらのオブジェクトと結合関係の定義コードを生成してダイアログに表示し、クリップボードにコピーできます。これをスケッチに貼り付けるだけでヘッダーファイルのインクルードとオーディオ・オブジェクトの定義部分が出来上がります。
これが生成されたコードです。コメントの xy=に続く数字は描画座標で、「// GUItool: begin~」から「// GUItool: end~」までをデザイン・ツールに[import]すると、再描画することができます。
#include <Audio.h> #include <Wire.h> #include <SPI.h> #include <SD.h> #include <SerialFlash.h> // GUItool: begin automatically generated code AudioInputI2S i2s2; //xy=114.19999694824219,90.19999694824219 AudioAnalyzePeak peak1; //xy=288.19998931884766,68.20000648498535 AudioAmplifier amp2; //xy=292.2000045776367,177.20001602172852 AudioAmplifier amp1; //xy=299.1999702453613,122.20001411437988 AudioOutputI2S i2s1; //xy=479.1999969482422,147.1999969482422 AudioConnection patchCord1(i2s2, 0, peak1, 0); AudioConnection patchCord2(i2s2, 0, amp1, 0); AudioConnection patchCord3(i2s2, 1, amp2, 0); AudioConnection patchCord4(amp2, 0, i2s1, 1); AudioConnection patchCord5(amp1, 0, i2s1, 0); AudioControlSGTL5000 sgtl5000_1; //xy=274.1999969482422,239.1999969482422 // GUItool: end automatically generated code |
デザイン画面の左欄には input, output, mixer, effect, filterなど10分類で、合計 89個のオブジェクトが登録されています。画面右欄には、左側欄で選択したオブジェクトまたは中央画面で選択されて枠がオレンジ色になっているオブジェクトのドキュメントが表示されます。
下図は右欄を少し幅広に表示したものですが、Object name, Summary, Audio Connections, Functions, Hardware, Examples, Notesなどが記載されています(Examplesにはサンプルスケッチへのパスが表示されます)。
このドキュメントはとても良くできているので、左欄から関心がもてそうなオブジェクトを選びながら、しっかり読み込むことが Teensyを理解する近道になると思います。
4.音源データと再生テスト
Teensyについての情報は、サイト PJRCにパイルアップしています。オーディオ分野でスタートするなら、次のリンクがその入口になります。
『Teensy Audio Library』
このリンクにはチュートリアルとワークショップのビデオがあり、先ほどのインストールですでに組み込まれているサンプルプログラムをわかりやすく解説しています。ただ、そのためにはハードの準備が必要なので、これはしばらくサイト情報を閲覧してからの方がよいでしょう。
注目したいのは、ヘッダー部の[Blog]や[Forum]、そしてサイドバーです。サイドバーはご覧の通りで、Teensyの基本的な情報やライブラリのインデックスです。Blogには Teensyを使った作品が多数掲載されています。そして驚くほどのテーマ数と熱量がある Forumからは、問題解決や開発のヒントを得ることができるでしょう。開発のベテランメンバーも参加する大変充実したコーナーです。
これらはさておき、まず最初の音楽再生テストで使う音源ファイルをダウンロードすることにしましょう。その前に microSDカードと、それに書き込みできる SDカードリーダー/ライターを用意してください(写真右)。SDカードは記録容量が小さいもので十分です。SDカードリーダー/ライターが手元になければ、500~1,000円足らずで購入できます。
引き続き、画面の「General Audio Library Usage」の下にある「Data Files for Examples」をクリックします。次に表示された「Audio Data Files」の画面(右の図)で、SDTEST1~4.WAVの4つのリンクをそれぞれ右クリックして、[名前を付けてリンク先を保存]を選択してダウンロードしてください。
microSDカードを初期化して、PCにダウンロードした 4つの WAVファイルを書き込みます。このSDカードを Teensyの SDスロットルに差し込むと準備完了です。
3.5mmオーディオジャックにイヤフォンのプラグを挿して、USBケーブルで Teensyと PCを接続します。なお、写真の Teensyは第1章の最後のものと姿が変わっていますが、これはマイクアンプへの電源供給や、マイクアンプからのステレオ・ライン入力のためのピンソケットを設置しているからです。これについては次章で説明の予定です。
これからサンプル・スケッチをコンパイルして Teensyに書き込み、SDカードのWAVファイル SDTEST1~4.WAVを再生してみましょう。まず、Arduino IDEを起動してください。
①サンプル・スケッチを取り出す
オーディオのサンプル・スケッチホルダーから WAVファイルを再生するサンプル・スケッチ「WavFilePlayer」を取り出します。IDEのヘッダー部の[ファイル]をクリックして、
[スケッチ例(Examples)]→[Audio]とたどって[WavFillePlayer]をクリックします。
新たなウィンドウが開いて「WavFilePlayer」のスケッチが表示されます。しかしこのままでは、Teensyと PCが通信できる状態ではないので、IDEヘッダー部の[ツール]をクリックして、次のように[ボード種別]で「Teensy 4.0」を、[ポート]で「COM~ Serial(Teensy 4.0)」を選択します。
②コンパイルと書き込み
IDEヘッダー部の矢印の「書き込み」ボタンをクリックするとコンパイルが始まります。画面下部の「出力」窓にはコンパイル結果が表示されます。初回のコンパイルは時間がかかりますが、2回目以降は10秒ほどで(スケッチの複雑さやサイズによりますが)終わります。コンパイルが完了すると、翻訳された機械語を Teensyに書き込んで実行します。
イヤフォンを耳に近づけると、歯切れの良い音楽が聞こえます。その素晴らしい音質に、ちょっと感動する瞬間です!
「書き込み」ボタンの左のチェック印は「検証」ボタンで、コンパイルだけする場合に使います。Teensyで実行中のタスクに影響することなく、スケッチにコンパイル・エラーがないかどうかを確かめる場合に使用します。
③ Teensyとのコミュニケーション
IDEヘッダー部の[ツール]をクリックして[シリアルモニタ]を選択すると、画面下部がシリアルモニタに替わり、実行中のスケッチに表示命令が記載されていれば、それが表示されます。また、表示部の上にはメッセージボックスがあり、スケッチに外部からのキー入力命令が書かれていると、ここに入力した内容が取り込まれます。
以上で Teensyの動作が確認でき、Arduino IDEのだいたいの使い方がわかったことと思います。Arduino IDEは直感的に理解しやすいので、なおいろいろ試してみてください。
④スケッチの要点について