藤本健のDigital Audio Laboratory

867回

プログラミングでTR-808再現? 無料万能シンセ「SuperCollider」の世界

TR-808をシミュレーションするプログラム「SC-808」

「SuperCollider(スーパーコライダー)」というサウンド用のプログラミング言語をご存知だろうか?

20年以上前に誕生したオープンソースのプログラミング言語で、誰でも無料で自由に使うことができる。Windows用、macOS用、そしてLinux用が存在しており、命令を入力すれば即実行可能なインタープリタ型のプログラミング言語だ。

先月8日、“808の日”に堀内吉之介さんという方から「TR-808をシミュレーションするプログラム『SC-808』をSuperColliderで作ってみたので、ぜひ見てほしい」という連絡をいただいた。初めてその存在を知ったわけだが、試してみると、とても面白い世界のようで、実験ネタにもいろいろと使えそうな環境だと感じた。

その後、堀内さんとはメールでやりとりを行なっていたのだが、9月に入って、TR-808の機能を超える有料版「SC-808 Advanced」なるものをリリースしたとのこと。そもそもSuperColliderとは何なのか、どうしてこれに取り組んでいるのか、そしてこのSC-808はどんな仕組みで動いているのかなど、いろいろと話を聞いたので、今回はインタビュー形式で、SuperColliderやSC-808について紹介しよう。

SC-808 - Free

古くて新しい? サウンド用プログラミング言語「SuperCollider」

ーーSuperCollider、SC-808の話に入る前に、まず、堀内さんのプロフィールを簡単に教えてください。

堀内:いま、22歳です。現在愛媛県にいますが、地元の工業高校に通っていた17歳のころから独学で作曲や編曲をするようになりました。その後上京し、音楽学校に通ったこともありましたが、愛媛に戻ってからも実験的なサウンドと伝統に捉われない作曲方法を勉強している中、SuperColliderに出会いました。

堀内吉之介さん
SuperColliderの起動画面

ーー私自身、SuperColliderというものを、まったく知らなかったのですが、堀内さんは、どんな経緯でSuperColliderを知ったのですか?

堀内:今年の初めごろに、Abletonの特集記事でCaterina Barbieriという女性アーティストが取り上げられており、その記事の中で初めて知りました。すぐにSuperColliderをダウンロードして入手したのですが、正直な第一印象は、「うわっ、プログラミングか。また今度、触ろう」でした。事実、ダウンロードから2カ月ほど放置していましたから。

ーーそれでも2カ月後には、触りだしていたと。もともとプログラミングの経験はあったのですか?

堀内:少し気になってSuperColliderについて調べていたのですが、20年以上の歴史があるものなのですね。プログラミングで音を作っていくツールだと。なんか大変なソフトに出会っちゃったなという思うと同時に、すごくワクワクしたのです。

プログラミングは高校のとき、コンピュータ系の学科にいたので、授業として3年間プログラミングはやっていました。同級生たちもみんなプログラミングがしたくて、この学校に入ってきていたのですが、みんな途中で挫折してしまうんですけどね。楽しかったはずのプログラミングも最後はいやいや行なっているような……。そんな感じでしたから、多少プログラミングを知ってはいるものの、苦手意識はありました。ただ、そうした中で、ライブコーディングパフォーマンスのツール「TidalCycles」というものに出会いました。

TidalCycles

ーーそれは一体なんですか?

堀内:TidalCyclesとは、SuperColliderのサウンドエンジンを使った拡張機能で、これでライブコーディングパフォーマンスというのを行なうのです。かなりマニアックですが、簡単にいえばプログラミングをしながら音楽を作っていくというパフォーマンスですね。YouTubeで下記のようなビデオが上がっていたのを見たのです。

Kindohm Live @ ICLC 2016, Hamilton, Ontario

いわゆる音楽ライブと違って、全然盛り上がってないのですが(笑)。不思議な世界で、こんなパフォーマンスがあるのかと驚くとともに、それを見てのめりこんでいきました。そこで初めてSuperColliderを試してみたのですが、予想していたほど難しいものではなく、それどころかすごく新鮮で、一晩中夢中で触りました。

それまでプログラミングというとC言語で、苦手意識を持っていたのですが、インタープリタということもあって、すぐに動くし速い。そして何よりも楽しい。プログラミングってこういうものだったのか! と見方が大きく変わりました。そこから、せっかくなら自分だけのシンセを作りたいな、と思うようになったのです。

ーーサウンド用のプログラミングというと、MAX/MSPあたりを思い浮かべる人が多いと思いますが、改めて、このSuperColliderとは何かを教えてください。

堀内:MAX/MSPやPureDataなどと比較すると、マイナーな印象ではありますが、簡単に言うと「無料で使える、超万能シンセ」ですね。SuperColliderを使うことで、自分専用のシンセを簡単なコードの記述で作ることができます。また、シーケンス機能も備わっていて、サンプルのロードもできるため、作曲ツールとしても使えます。それから「Cメジャースケールで無限に続く曲を作って」など一定のルールを与えて、それをもとにコンピューターが作曲してくれるアルゴリズム作曲にも特化しています。柔軟性が非常に高いので、ユーザーによって使い方が多種多様です。

私の場合、TidalCyclesをきっかけにSuperColliderを触る機会が増え、その柔軟性に驚かされました。アイデア次第では、市販にはないようなものを簡単に作れます。例えば、U-heのシンセなどに搭載されているマイクロチューニング機能をリアルタイムかつ、チューニングをランダムに設定してくれるシンセ。大雑把に言えば、音程が不安定な「音痴シンセ」も、SuperColliderなら十数行のコードで作れてしまうのです。

ーー「{SinOsc.ar(440)}.play;」と1行書くだけでサイン波の音が出せ、ノコギリ波や三角波、ホワイトノイズなどを簡単に出せるあたりは、確かにシンセサイザという感じがします。でも、なぜMAXではなく、SuperColliderを選んだのですか?

「{SinOsc.ar(440)}.play;」と書くだけで、サイン波の音が出せる

堀内:もちろん、MAXにも興味はありましたが、使えてなかったのが正直なところです。SuperColloiderに惹かれた最大の理由は、無料で使えるという点。ものすごい数の関数などを用意しながら、それらがすべて無料で使える。日本語の情報は少ないですが、やはり無料であることは大きいです。

以前は、SuperColloiderに関する日本語のコミュニティもあったようですが、今は活動しているかどうかはわかりません。ただ、東京藝術大学や慶応義塾大学の非常勤講師などをされている田所淳さんという方による書籍「演奏するプログラミング、ライブコーディングの思想と実践 ―Show Us Your Screens」や、解説のWebサイトもありますから、少しずつ学びやすい状況になっているのではないかと思います。

人気ドラムマシンをシミュレートした「SC-808」。SuperColliderを知るきっかけになれば嬉しい

ーーそのSuperColliderを使ってSC-808を作ったのは、どういう経緯だったのでしょう。

堀内:SuperColloiderは、プログラミングに対する自身の苦手意識を克服する事を目的に、チュートリアルのビデオなどを見ながら少しずつやっていて、エンベロープジェネレーターが作れた、FM音源ができた、といろいろ試していました。

そうした中、非常事態宣言が出ていたゴールデンウィークに突拍子もなく思いついたんです。なんとなくハードウェアで音楽を作ってみたいという思いを持っていて、ドラムマシンをポチポチ押していくのも楽しそうだなと。ただ、そのためにドラムマシンを買うのもどうかと思っていたので、時間もあるし、いっそのことSuperColloiderでドラムマシンを一から作ってみようと思い立ったわけです。

ーーTR-808を再現する音源の多くはサンプリングであるのに対し、これは波形的に作っているのですよね。

堀内:もともとの目的はドラムマシンを作ることだったのですが、サンプリング音源を使わずに、波形だけでドラム音を出すことに興味を持ちました。まさにそれをしていたのがTR-808であり、いつのまにか、TR-808を再現しようという方向にシフトしていきました。キックの音から作り出しましたが、この辺は比較的簡単に近いものが再現できました。

調べてみるとTR-808のサービスマニュアルも見つかり、周波数がどのあたりを使っているかの検討もつくし、回路図もあったので、この辺も参考にしていきました。もっとも最後は自分の耳で調整していくしかないのですが。SuperColloiderでキックを作っている人は他に見かけたし、モジュラーシンセでキックを作っている人の動画なども参考にしながら作りました。キックだけでなく、タムとかスネア、またクラップなんかも、こうしたものを参考にして作っていったのです。ただ、シンバルは一番難しかったですね。

SC-808のコード

ーーやはりサンプリングを使わずに金属音を再現するのは難しいと。

堀内:最初は全然予想できなかったのですが、いろいろな文献を調べていくうちに、TR-808では矩形波を6つ重ねたということが分かってきて、その情報を頼りに試行錯誤して作ったのがSC-808です。

ただ、私の作ったSC-808も含め、TR-808クローンと、TR-808のオリジナルを比較して、一番違いが顕著に出たのがシンバル。改めてTR-808の凄さ、TR-808が唯一無二の存在であることを思い知らされました。フィルタで低域をカットするとか、高音を上げるとか、そうした調整を加えれば、もうちょっと似るんじゃないか、と予想していろいろ試してみた結果、それっぽくはなってきたものの、まだまだ違います。TR-808のほうがハーモニックで、シルキーな感じ。ちょうどいいバランスなんですよね。これを6月中旬に完成させました。

SuperColliderから実行する
SuperCollider上で動くTR-808クローンのSC-808

ーー実際に発表したのは8月8日でしたよね。反響はいかがでしたか?

堀内:808の日に、自身のサイトで公開したところ、想像していた以上の反響がありました。

SuperColloiderなんてマイナーなものだから、誰も見向きもしないのでは、と思っていましたが、ドイツ、アメリカ、ロシアなどから「すごく音がいい」といったコメントを多くいただきました。日本の方からも、多少コメントなどがあった中、先ほどの書籍の田所さんも使っていただき、「こりゃ、すごい」といったツイートもしていただいたので、嬉しかったですね。

SC-808を公開している堀内氏のサイト

ーーフリーのSC-808と、有料のAdvancedに分けた理由も聞きたいのですが、まずはフリーのSC-808の位置づけがどういうものであり、どんな人に使ってもらいたいと考えているのでしょう。

堀内:フリーのSC-808は、一般ユーザーとSuperColliderの「橋渡し役」になればと思っています。今まで、一般ユーザーにとって魅力なパッチが少なかったので、一つのきっかけになれば嬉しいですね。

SC-808は「純粋にTR-808のエミュレーションを使いたい人」にもおすすめですし、コードが丸見えですから、「TR-808の仕組みを知りたい」「SuperColliderでプログラミングを勉強してみたい」などのニーズにも対応できます。さきほど紹介したライブコーディングでの使用も可能です。またコードを修正できるので、「自分専用の808」に改造することもできます。私は「今までSuperColliderを使ったことがない人」ほどSC-808を使って欲しいと思っています。

ーーもう一方の、有料版であるSC-808 Advancedのほうはどうですか?

堀内:SC-808 Advancedは無印バージョンの機能をパワーアップし、より正確に自分の好みの808サウンドを簡単に作ることができるようになっています。

SC-808 Adavancedは、SuperColliderの制限を超えるプログラムの長さになったため、2つのプログラムに分かれていて、両方を実行する

TR-808やその他多くのクローンには無い、調節用のノブを用意しました。これらはまだ、ほんの一面で、Advancedは実験的で野心的な側面を持っています。各楽器ごとにフィルターを用意しており、TB-303とMoog Ladderのフィルター、HPFの3種類を搭載しています。

起動したSC-808 Adavanced
SC-808 Adavancedの拡張画面
TB-303、Moog Ladder、HPFの3種のフィルターを搭載

SuperColliderに内蔵されている100種類以上のフィルターから追加することも可能です。シンセサイザーのように、カットオフやレゾナンスといったものにモジュレーションをかけることも可能。LFOは各楽器用に16個ありますし、モジュレーションの種類もLFOやエンベロープだけではなく、画面上のマウスポインタ(カーソル)にも対応できます。

OSCに対応しているため、OSCulatorと併用すると、任天堂のWiiリモコンやバランスボードで、LFOのRateやモジュレーションを操作することもできます。ですから、Advancedから出てくる音は、時には予測不能で、実験的なドラムマシンとも言えます。

「誰にも出せないドラムサウンドを作りたい」「オリジナリティが欲しい」「実験的なことをしたい」といった表現に貪欲で、好奇心溢れるユーザーに使っていただけたらなと思います。SC-808 Seriesを通じて、SuperColliderの柔軟性や魅力が伝わり、障壁が少しでもなくなれば、私はとても嬉しいです。

SC-808 Advanced

ーーパッと見では、SC-808のツマミを増やした程度に思えましたが、様々な追加機能、性能を持っていたのですね。ここで気になるのは、SuperColliderを、より汎用的な開発ツールにできるか、という点です。端的にいえば、SC-808やSC-808 Advancedを、プログラム無縁の人でも使える普通のプラグインなどにすることはできるのですか?

堀内:Mac限定ではありますが、SuperCollider AUというものがあり、これを使うことで、プラグインの拡張子で読み込めるようなものはあります。ただ、このプラグイン自体のリリースが10年前であり、その後あまりメンテナンスもされていないため、残念ながら私の環境では動かすことはできませんでした。そういう意味では、汎用的な開発ツールとして使うのは難しそうです。

ーーとりあえず、SC-808もSC-808 AdavancedもMIDIでのやり取りは可能だから、DAWでコントロールするということは可能ですよね。もっともWindowsの場合は、LoopMIDIなどの仮想MIDIツールを介す必要はありそうですが。今後、そうしたプラグインなどを開発しようという思いはありますか?

堀内:まさに、そんなことを考えています。SuperColliderは、プロトタイプを作る上で非常に優れたツールだと思いますし、今後もアイディアを形にする上で、いろいろ使っていくつもりです。一方で、これからはC++でより本格的なツールも作ってみようと考えています。世の中になくて、自分の欲しい道具はいろいろあるので、それを自分の手で作っていこうと思っています。

藤本健

 リクルートに15年勤務した後、2004年に有限会社フラクタル・デザインを設立。リクルート在籍時代からMIDI、オーディオ、レコーディング関連の記事を中心に執筆している。以前にはシーケンスソフトの開発やMIDIインターフェイス、パソコン用音源の開発に携わったこともあるため、現在でも、システム周りの知識は深い。  著書に「コンプリートDTMガイドブック」(リットーミュージック)、「できる初音ミク&鏡音リン・レン 」(インプレスジャパン)、「MASTER OF SONAR」(BNN新社)などがある。またブログ型ニュースサイトDTMステーションを運営するほか、All AboutではDTM・デジタルレコーディング担当ガイドも務めている。Twitterは@kenfujimoto