【藤本健のDigital Audio Laboratory】ソニーの“誰でも楽器作れちゃう”キット「ゆるコア」って何ですか
ソニー・ミュージックが、「ゆるコア」というマイコンを使った楽器製作のためのキットを出している。
これは、誰でも演奏できる楽器“ゆる楽器”の開発・製作を取り組みやすくするためのもので、ソニーセミコンダクタソリューションズ(以下SSS)のボードコンピュータであるSpresense(スプレッセンス)を中枢に置きつつ、さまざまなインターフェイスで拡張できる、オープンプラットフォームを活⽤した楽器製作キットだ。オープンソースとして公開している楽器開発ライブラリ「ssprocLib」と合わせて使うことで、誰でもゆる楽器を簡単に作れるのだという。
SSSのボードコンピュータ「Spresense」
先⽇、ゆるコアのプロジェクトメンバーであるSSSの早川知伸⽒、ソニー・インタラクティブエンタテイメント(以下SIE)の塩野浩⼀⽒、そしてソニー・ミュージックエンタテインメント(以下SME)の梶望⽒の3名に話を聞くことができたので、「ゆるコア」とはどんなものなのか紹介していこう。
写真左から、
SIE フューチャーテクノロジーグループ インタラクションR&D シニアハードウェアリサーチャー 塩野浩一氏
SME デジタルイノベーショングループ EdgeTechプロジェクト本部 MXチームチーフマネージャー 梶望氏
SSS システムソリューション事業部 早川知伸氏
ゆるコアを使えば、ユニークな楽器を作ることができる
実際のインタビューに入る前に、ゆるコアを使って作られた「ゆる楽器」が5種類あるので、実際どんなものなのかビデオで御覧いただきたい。
ゆるコア
ごく簡単に紹介すると、最初の「ウルトラライトサックス」は、メロディーを口ずさむとその音を検知してリアルタイムにサックスの音に変換して出してくれる楽器。2つ目の「ハーモニーフラッグ」は、手旗信号のように線を引っ張りながら手を動かすと、その腕を伸ばしたポーズによって和音演奏するという楽器。
ウルトラライトサックス
ハーモニーフラッグ
3つ目の「ゆるサンプラー」は、8×8のパッドを利用してリズムパターンを演奏したり、その音源の波形を画面表示させるもの。さらに「ゆるコン」は、ゲームコントローラ操作をBluetoothで飛ばしてメロディー演奏ができる楽器。最後の「ゆるアクコン」は見てのとおり、各ボタンを押すことでパーカッションとして演奏する楽器だ。
ゆるサンプラー
ゆるコン
ゆるアクコン
これらの楽器に共通するのは、その内部にゆるコアが使われていて、プログラミングにおいては、ssprocLibが利用されているということだ。
いずれの楽器も、内部にゆるコアまたはSpresense+拡張ボードが使われている
記憶にある方もいらっしゃると思うが、ハーモニーフラッグは2021年に行なわれた「ゆる楽器ハッカソン」の優勝作品であり、第920回の記事でレポートしている。また「ゆるコア」に関しては、大阪で行なわれた第2回ゆる楽器ハッカソンをレポートした第950回の記事の中でまもなくリリースする、と紹介していた。
実際、その第2回のハッカソンの直前にssprocLibの初期バージョンが公開されていたわけだが、その後、ハード側もソフト側もブラッシュアップが行なわれてきたようで、今回その関係者に話を聞くことができた。
ゆるコア誕生の経緯
――改めて、「ゆるコア」がどんな経緯で生まれたのか教えてください。
梶(以下敬称略):以前レポートいただいた第1回目のハッカソンがキッカケでした。この第1回は「ゆるミュージック」を楽しむためには楽器がないと始まらないので、みんなで楽器を作ろうと行なったイベントでした。
この際、ソニーのリソース、デバイスをいっぱい使ってもらえたらいいね、ということでグループ各社から「toio」や「KOOV」「MESH」、そしてSpresenseを提供してもらうとともに、相談窓口を設置してもらう形で参加してもらい、これがうまくいきました。
SME デジタルイノベーショングループ EdgeTechプロジェクト本部 MXチームチーフマネージャー 梶望氏
第1回目のハッカソンの様子
相談窓口
梶:ただ、Spresenseを使うのはなかなか難しく、参加者の方から「もっと便利に使えるようなライブラリなどを用意してほしい」という声をいただきました。そんな声があるなら、ぜひ応えていきたいということで、関連各社集まって動き出したというのがきっかけです。
――そういえば塩野さんは、その際、ハッカソンの参加者としてゆる楽器を作ってましたよね。現在はゆるコアのメンバーなのですか?
塩野:私は趣味でシンセサイザの開発などをやっており、その流れでゆる楽器ハッカソンに参加しました。仕事はカメラ系のデバイス、映像系に携わってきており、現在はPlayStation関連の研究開発というのが主業務です。ハッカソンは個⼈として参加していましたが、ゆる楽器を簡単に作れるキットが欲しいという声に応えるため、ボランティアの形で携わっていました。
1年ほど前に上司に掛け合い、ゆるコアも業務として認めてもらい、ゆるコアを使った事例の開発やその紹介、技術サポートを⾏なう、ゆる楽器開発のエバンジェリスト的な位置づけで参画しています。
SIE フューチャーテクノロジーグループ インタラクションR&D シニアハードウェアリサーチャー 塩野浩一氏
梶:ゆるコア自体の開発は、ソニーグローバルマニュファクチャリング&オペレーションズ(以下SGMO)が行なっています。ここには開発委託を受ける仕組みがありまして、SGMOのメンバーもハッカソンに参加してくれていたので、共同で作ってきました。ゆる楽器の概念やイメージが分かっていないと形にするのは難しいですから、非常にうまくいった形ですね。
ハイレゾ対応で低消費電力な「Spresense」
――このゆるコア、Spresenseを使ったシステムとのことですが、改めてSpresenseとはどんなものなのか簡単に紹介をお願いできますか?
早川:SpresenseはSSS製のボードコンピュータで、最⼤156MHzで動作するARM Coretex M4Fを6コア持つプロセッサ「CXD5602」を搭載したものです。NuttXベ ースのSpresense SDKが使えると同時に、Arduino IDEによる開発環境にも対応しているのが特徴です。
SSS システムソリューション事業部 早川知伸氏
SSS製のボードコンピュータ「Spresense」
早川:30mWとArduinoやRaspberry Piなどと比較しても超低消費電力であることから、乾電池で駆動し、192kHz/24bitのハイレゾでの再生も可能な高性能DAC、同様に192kHz/24bitで最大4chでダイナミックレンジ90dB入力が可能なADCを搭載しているのは、楽器用などとしてみても優れているところです。
また直接楽器と関係あるかはともかくGPS機能を搭載していたりSSS製500万画素のカメラボードを接続できたり、ソニーのニューラルネットワークコンソールを使った人工知能を組み込めるといった機能も備えています。
性能比較表
――Arduinoとピン互換でもあるんですよね?
早川:Spresense拡張ボードを利用することで、Arduino Uno互換のピン形状を構成することができます。このSpresense拡張ボードはSpresenseメインボードの下に取り付ける形ですが、一方で、Spresenseメインボードの上にも別の小さなボードを接続できる形の上下サンドイッチの構造になっています。
拡張ボード
早川:サードパーティーが数多くの拡張ユニットを出しているので、必要なものは一通りカバーされおり、今回のテーマであるゆるコアも下に取り付けるタイプのものになっています。いずれにせよすべてオープンソースとなっており、回路図も含めて公開しています。
ゆるコアを使えば、“ゆる楽器”が簡単に作れる
――ではもう少し具体的に、ゆるコアのシステムについて教えてください。
塩野:ゆるコアは誰でも演奏できる“ゆる楽器”を簡単に作れるというコアモジュールで、Spresenseを使っていますが、Arduinoコンパチにしてあるのがポイントです。
塩野:電池で動くというのが大きな特徴なのと、上にeMMCを載せているので信頼性が高く非常に高速なアクセスができるので、ここにサンプリングデータであるsfz形式の音源データを乗せることで高性能な楽器に仕立てることが可能なのも特徴です。普通ならばSDカードなどを使うところですが、eMMCがあることで断然、楽器として扱いやすいものになるのです。
――確かに高速にアクセスできるストレージがあるのは便利そうですね。一方、ゆるコアではなくても従来の拡張ボードでも、使えるのですよね?
塩野:確かにそうなのですが、従来の拡張ボードだと、入出力がピンヘッダなので不安定であるという問題点があるほか、楽器の中に入れてしまうと、分解しないと各所にアクセスできないという問題もあります。そもそも⼤きくて楽器の中に埋め込むのが難しいという難点もあります。
塩野:そこで、ゆるコアは、端子をすべてコネクタ化してあるので、インターフェイスごとに取り付けられるのもユニークなところです。
塩野:つまり「今回作る楽器はI2Cだけあればいい」のなら、それだけを取り付けるなど、必要に応じたシステムにすることができるわけです。その際、はんだ付けなしに、ジャンパーピンを挿すだけで利用できますから、ハッカソンなどラピッドプロトタイピング用に優れています。
――このゆるコアを使ったハッカソン、日本国内だけでなく、海外でも開催していますね?
梶:最初に洗足学園、次に大阪大学で行ない、さらにイギリス、中国、インドなど、様々な場所で開催して、次第に注目を集めるようになってきました。
大阪大学で行なわれたハッカソン
梶:まずは、ゆるコアを活用したハッカソンをいろいろなところで開催したいと考えています。この先、様々な展開が考えられます。夢を語ったらキリがありませんが、世界中で注目を集めてきているので、ゆるコアをよりエンジニアにとって扱いやすいものにしていきたいですね。
――一般ユーザーとしては、ゆるコアを手ごろな価格で、手軽に入手できるようになると嬉しいのですが、そうした計画は考えていますか?
梶:もちろん可能性としては十分あり得ると思います。ですが、現在の作り方で量産すると高コストになってしまうため、いろいろと見直しを行なう必要があります。が、そのためには実績を作る必要がある、というのが正直なところです。
DIYなどで盛り上がって、もっと楽器を作りたい、というニーズが生まれてくることを期待したいです。電子商材として、教育機関、大学などで使ってもらえると、そうした方面でのビジネス展開もあるのではないかと思います。
早川:SSSでも、ゆるミュージックとは直接関係なしに、大学と一緒にハッカソンの実施などは行なっており、教育の現場にSpresenseを導入してもらうといった動きは出てきています。その延長線上にゆるコアの展開というのもあるのかもしれません。
塩野:ゆる楽器ハッカソンやウルトラライトサックスなどのゆる楽器の認知が高まり、ゆる楽器製作に挑戦したい人が増えてくると、ゆる楽器DIYキットが出てくる可能性はあります。ゆるコアはまだ市販されていませんが、既に市販されているSpresenseと標準拡張ボードがあればソフトウェア的には同じことが可能です。
確かにサイズ的には大きくなってしまうし、電池で動かすのは難しいけれど、同じように楽器を作ることが可能です。そしてssprocLibをダウンロードすれば同じようにプログラミングはできますので、まずはここから試していただければと思います。eMMC拡張ボードも別途購入することで利用できます。
楽器開発支援用のライブラリ「ssprocLib」
――楽器開発ライブラリであるssprocLibについて、もう少し詳しく教えてください。
塩野:まずssprocLibはSound Signal Processing Library for Spresenseの略であり、Spresenseで簡単に楽器を開発するためのライブラリです。
電子楽器の演奏データを定めるMIDI規格をベースにしたAPIで、Spresenseのオーディオ入力、オーディオ出力を簡単に扱えるソフトウェアモジュールです。オープンソースのライブラリとしてGitHubで無料公開しているので、サイトからダウンロードして使うことが可能です。
このssprocLibは現在、機能としてはSource、Filter、Sinkという大きく3つを用意しています。
ssprocLibの機能
塩野:Sourceは入力を司るところで、様々なセンサー、つまりマイクだったりタッチセンサーなどからの情報を解釈してMIDIメッセージに変換するところです。それをFilterで加工するわけですが、例えばMIDIのトランスポーズをかけるとか、コードに展開するといったことを行ないます。そして最後のSinkでこれらのMIDIメッセージを音に変換しています。
――それぞれのモジュールの具体的な使い方をもう少し教えてください。
塩野:一番わかりやすいのは「YuruhornSrc」というマイクから入力された音を、音程解析してピッチを取り出し、それをMIDIに変換するものです。
先ほどのウルトラライトサックスもこの仕組みを使っていて、ゆる楽器にとっては重要なモジュールになると思います。また「ScoreSrc」というSDカード上に楽譜ファイルを元にして演奏データを送信するといった機能も備えています。
Filterには、現時点では2つの機能を用意しています。「OctaveShift」はその名の通りオクターブの上下を切り替えるオクターブシフト機能です。また「OneKeySynthesizerFilter」という演奏データのノート番号を楽譜ファイルのノ ート番号に置き換える機能もあります。これを使うことで無理やりピッチ補正をする、いわゆるAutotune的な使い⽅、⾳痴を補正する使い⽅なども可能になりますね。
そしてSinkも、2つの機能を用意しています。ひとつは「SDSink」というユーザーが設定した⾳源テーブルに従って⾳源ファイルを再⽣するもの。もう⼀つは「SFZSink」という⾳源定義ファイルであるsfzプレイヤーとして機能するものです。sfzファイルはネット上にも様々なフリーデータがありますので、これらを使って楽器として⾳を鳴らすことが可能になるのです。
ソフトウェアブロック図
――なるほど、何でも揃っているわけではないけれど、とりあえず、ゆる楽器を作るための必要十分な要素が整ったという感じですね。
塩野:そうですね。MIDIメッセージも全部サポートしているわけではないのですが、表のとおり、かなりのものが扱えるようになっています。将来的には、もっと様々なライブラリを追加したいですが、これはオープンソースなので、ぜひユーザーのみなさんも一緒に開発していただけると嬉しいですね。
MIDIメッセージ一覧
対応状況
――すぐに楽器が作れるライブラリが用意されているというのは嬉しいところですが、SpresenseはArduinoと比較して、コスト的に少し高い印象もあります。
塩野:スイッチを使って音を出すのであればArduino Unoなどでも可能ですが、ピッチディテクションしてリアルタイム発音となると処理速度的に難しく、Spresenseだからこそ、という点があると思います。しかも48kHz/16bitの音質で楽器を鳴らすとなると、これができるものは少ないのではないでしょうか。
早川:マルチコアであり、6つのコアを同時に使うことができるのも大きな違いです。パイプラインでプログラムを組んで、コア間はそれぞれでメモリの参照を行なうだけでやり取りできます。そのため、割り込み処理などをすることもありませんし、それぞれのプログラムを気にする必要がない。しかもそれぞれ高速処理できるのがSpresenseの大きな特徴です。
梶:以前にSpresenseを買ったけど、その後に“Lチカ”やって終わったという方も少なくないと思います。ぜひ、これを機会にSpresenseを引っ張り出して、ゆる楽器を作ってみてはいかがでしょうか?