手書きや表計算アプリ「Excel」などで書いた「音階チャート」を読み込んで、あらかじめ選択しておいた楽器(の音色)で演奏できるシステムです(図1)。楽器は「Piano」「TenorSax」「ChurchOrgan」「Flute、Harmonica」など16種類から選べます。そのまま使ってもよいですし、編集して自分好みの音色を響かせることも可能です。16音階(2オクターブ)、4和音まで演奏できるようにしました。

図1 システムの外観
図1 システムの外観
[画像のクリックで拡大表示]

 独自に作った音階チャートは楽譜に相当するもので、多数のマス目が並んでいます。マス目の縦方向に音階が割り当てられていて、さらに、マス目のいくつかは黒く塗りつぶされています。この音階チャートを、今回製作したシステムの読み取り部分にセットし、横方向に一定速度で読み込ませます(図2)。黒く塗りつぶされたマス目を読み込むと、その音階が再生される仕組みです。

図2 音階チャートを読み込んでいる様子
図2 音階チャートを読み込んでいる様子
[画像のクリックで拡大表示]

 音階チャートは手書きで構わず、子供でも簡単に作れます。ほかに表計算アプリのExcelを使っても簡単に作成できます(図3)。条件式などの機能を活用することで、読み取りに関係しない枠外の上段に音階の記号を入力すると、その音階に対応したマス目が自動で黒く塗りつぶされます。

図3 表計算アプリ「Excel」で音階チャートを作成している画面
図3 表計算アプリ「Excel」で音階チャートを作成している画面
[画像のクリックで拡大表示]

 ラズパイは、音階チャートの読み取り処理に利用しました。今回は16音階で演奏できるようにするため、合計16個のフォトリフレクター(反射タイプ)「LBR-127HLD」をラズパイのGPIOに接続しています。フォトトランジスタ側の出力のままだと波形がなまってしまうので、8chシンクタイプDMOSトランジスタアレイ「TBD62083APG」を2個使ってシャキッとさせました。さらに高輝度10ポイント赤色バーLEDアレイ「OSX10201-R」を2個接続し、音階を読み取ったときに消灯するようにすることで、音階の検出をモニターできるようにしました。

 ラズパイで読み取った音階は、超小型USBシリアル変換モジュール「FT234X」経由で接続したマイコンボード「Arduino Mega 2560」から出力しています。通信速度は115200ビット/秒とし、シリアル通信のフォーマットは「PC SOUND o0 s0 o1 s1 o2 s2 o3 s3」のようにしました。「o0」~「o3」はオクターブ、「s0」~「s3」は音階を表し、「0」~「3」は音声出力チャンネルで4和音まで指定できます。音源LSIはヤマハの「YMF825」を使っています(図4)。

図4 ヤマハの音源LSI「YMF825」を搭載したウダデンシの基板「YMF825Board」
図4 ヤマハの音源LSI「YMF825」を搭載したウダデンシの基板「YMF825Board」
[画像のクリックで拡大表示]
【PR】ラズパイマガジン春号が好評発売中!
 ラズパイマガジン春号では、2021年11月に発表した「みんなのラズパイコンテスト2021」の全受賞作品を詳しく紹介しています。付録冊子では、2017~2020年のグランプリ作品の作り方を作者自身が解説します。

 特集1は「ラズパイ&Pico両方に対応 パーツ100種全部動かす!」。多様なセンサーやモーター、LED、小型ディスプレイなど、100種のパーツを、PCボード「ラズパイ」とマイコン「Pico」の両方で動かします。ラズパイとPico向けの接続図とサンプルプログラム付きです。

 ほかに、ラズパイにGPSをつないで地図に現在地を表示させたり、性能が5倍になった新機種ラズパイZero 2でAI画像認識を試すなど、盛りだくさんです!

ラズパイマガジン春号の購入は<<こちら!>>