hardware
audio
MIDI
magenta

https://adventar.org/calendars/3353 の17日目のエントリー…を後になって埋めています。


Open NSynth SuperはGoogleが開発している機械学習ベースの音楽生成システムであるところのNSynthを利用して音色を作成するためのハードウェアで、その設計図が設計図共有サイトgithubで公開されています。

https://github.com/googlecreativelab/open-nsynth-super/

NSynthとはGoogleがtensorflowをアート方面に利用したmagentaと呼ばれる一連のプロジェクトの一部で、複数の音色の特徴を数値化してから混ぜることで今までに無かったような音色を生成する、というものです。magentaやNSynthについては、筆者はほぼノータッチなので、詳しい解説は他所におまかせします。

Open NSynth Superが面白いのは、プリセット音色約20種類の中から4つを選んで、それらの混合比率やADSR(エンベロープ)をツマミで調整しながら合成できるUIを実現する、という目的のためだけに全てのエンジニアリングリソースを費やしているところです。Raspberry Pi上でopenFrameworksで書かれたアプリケーションを動作させるものです。

主要な関心が生成されるサウンドのほうにある筆者としては、正直わざわざハードウェアを用意しなくても手元のPCで再現すれば十分なのではないかと思うのですが、プリセット音色だけで数十GBにもなるので、あまりお手軽ではありません。

組み立てるために必要な部品の情報は全てリポジトリ上で公開されています。日本で調達できない部品は無かったと思いますが、基本的に英国の開発者が作成したのか、購入できるパーツショップのURLは英国のものでした。筆者はPCBとケースを調達するところが面倒で先に進めていませんが、PCBはKiCADのデータが用意されているので、業者に発注すれば作れるでしょうし(それなりの金額になるとは思います)、ケースはプラスチック板をレーザーカットするだけなので、その手のものを貸し出してくれる場所で作成できるでしょう。この辺に興味がある人が他にいたら一緒にやってみるのもいいかもしれないとは思っています。(1人で単なるオモチャのために1枚のPCBを発注するのは割に合わないな…という感じです)

サウンドバンクは、プリセットで用意されているものを使えばとりあえず十分なのですが、自前で用意した音色をNSynthで処理して指定することも可能です。この辺りも詳しくドキュメントにまとめられています。ただしビルドするためにCUDAのあるLinux環境が必要になるので、筆者はローカルのLinux環境では試せませんし、音色データが数十GBになるのでクラウド環境でビルドするのも厳しいんじゃないかな…という印象はあります(試していません)。