第6回「シンプルなのに出音がすごいシンセサイザ - Auduino入門」



 前回の14セグディスプレイは、ソフトウエアはシンプルでしたが、ハードウエアがちょっと大変でした。今回は逆の組みあわせです。とてもシンプルなハードウエアと強力なソフトウエアで手軽にシンセサイザを実現するAuduino(オードゥイーノ)を紹介します。

【動画】Arduinoに5つの可変抵抗器を付けるだけで完成するAuduinoの基本形を「演奏中」の動画です。100%デジタルな音源ですが、出音はとてもアナログ的に聞こえるときがあります

 Auduinoはどういう仕組みで音を生成するのでしょうか。作者のページでは次のように説明されています。

 「Auduionoのサウンドは同一のノイズ(グレイン)を高速に繰り返しながら再生することで生成されます。元になるグレインの性質と繰り返しの速さによって、ある音色ができあがります。その音は、1つの発振器の出力をレゾナンスが効いている2つのバンドパスフィルターに通したものに似ています。極端なパラメータを設定することで面白いノイズがたくさん加わります。

 グレインは2つの三角波からなっていて、周波数とディケイのレートを変更できます。この部分はFOFシンセシスモデルをベースにしていますが、正弦波のかわりに三角波を使い、方形窓を用いています。繰り返しの速さも別のコントローラで設定できます」。(tinker.itCC3.0 By-SA)

 FOFはフォルマント波形関数(Fonction d'Onde Formantique)の略と思われます。シンセの理論に詳しい方なら、この説明で原理が理解できるでしょうか? 我々は心もとないのですが、まずは作ってみることで、その音を体験することにしました。

必要な部品は10KΩの可変抵抗器(VR)が5つだけです。VRによって音色を調整します
出力をそのままオーディオ機器につなぐのはちょっと心配かもしれません。その場合は、VRをもう1つと電解コンデンサを用意して、この図のような出力回路を組むといいでしょう。ツマミを中央付近に合わせてからオーディオ機器のライン入力に接続し、その後、適切なレベルに調整してください

 ブレッドボーダーズでも可変抵抗器(VR)はよく登場しました。ただし、ブレッドボードに直接載せるため、半固定抵抗器と呼ばれる微調整用のものだけを使用しました。普通の半固定抵抗器は頻繁に調整することを想定していないため、操作にはドライバが必要で、また、回転部の寿命があまり長くありません(仕様上は100回転までしか保証されていないものがあります)。

 今回のシンセでは、回しやすい一般的な形状ののVRを使用しました。10KΩのBタイプが5つ必要です。この形のVRにはBタイプの他にAタイプがあります。AとBの違いは、ツマミを回したときの抵抗値の変わり方です。Bタイプは直線的に変わります。海外の資料では“liner”と表記されていることもあります。一方、Aタイプは曲線的な変化で、回転の始まりと終わりで抵抗値の変わり方が異なります。音量調整などに使う場合、そのほうが人間にとって自然に感じられるからです。海外では“logarithmic”や“audio”と表記されていることがあります。AuduinoにこのAタイプを使うと、操作性が悪くなるようです。

回転式のVR(B10KΩ)。一番安い製品で大丈夫です。共立電子エレショップでは85円からあります(商品ページ)。写真のように軸が剥き出しの状態でも使えますが、一緒にツマミも購入したほうがいいでしょう。楽しいツマミ選びについては別の機会に触れたいと思います
VRの抵抗値の変わり方はおもに2種類あります。音量調整等に適しているのはAカーブと呼ばれる曲線的な変化です。今回使用するのは、汎用的に使われるBタイプです
回転式以外のVRも使えます。スライド式VRはツマミの位置が分かりやすく、Auduinoのようにパラメータの設定に使う場合は効果的です。また、ピンを少し加工することでブレッドボードに搭載することもできます
半固定抵抗は、強度や寿命の点で頻繁に操作する用途には不向きなのですが、東京コスモス電機のGF063P1のように、指でつまんで回せるタイプもあります。回路を小さくまとめたいときに便利です

 楽器として使うことを考えると、VRは固いパネルに取り付けたいところです。VR自体がしっかり固定されていないと、微妙なチューニングができません。

 今回は最低限の加工で強度を出すために、穴あけ済みのアルミ板を使用しました。一般的な名称が分からないのですが、ここではアルミパンチング板とします。

 アルミパンチング板はいろいろなパターンのものが売られています。大きさもさまざまです。使用したのは、5mmの丸穴と3mm幅の十字穴が交互にあいているもので、いろいろな部品をカンタンに取り付けできます。

 ただし、VRのマウントには7mm程度の穴が必要なので、その部分だけリーマーを使って既存の穴を広げました。使用した工具はリーマーだけです。

アルミパンチング板。東急ハンズの「ALパンチング板 白 丸十 1×100×200」という商品です。430円でした。値段は大きさだけでなく、穴のパターンによっても違うようです
この形のリーマーは、テーパーリーマーという名称で売られているかもしれません。写真は3~10mmの穴あけに対応したものです。通常はドリルで開けた穴を広げる目的で使用しますが、アルミパンチング板と組み合わせることで、最初の穴開け作業は飛ばすことができます
リーマーは刃物です。手首を使って回転させることで、穴を切り広げていきます。回す力と押し込む力の両方を同時に意識するのがコツです。刃の上に指を乗せても切れることはありませんが、刃の上で滑らせてしまうと、思いのほか深いキズになるかもしれません。力を入れすぎないようにしましょう
パンチング板のエッジには鋭利なトゲがあります。書類用のプラスチック製バインダを取り付けて、カバーにしました。東急ハンズでは「ABSバインダ」の名称で売られています。1mで220円でした

 配線はすぐに終わると思います。ちょっと悩むのは、Arduinoのソケットにどうやって接続するか、です。今回はL字型のヘッダピンにビニール線をハンダ付けして、ソケットに挿すことができる即席の端子を作りました。パネル上に小型のブレッドボードを載せて、そこを中継点にしてもいいと思います。VRのレイアウトの変更を、ワイアの差し替えだけで実現できると便利なので、抜き差しがしやすい接続方法を考えてみてください。

16MHzで動作するArduinoならばどれでも使えるでしょう。今回はFreeduino V1.22を使用しました。Arduino Diecimila互換の使いやすいボードです。キットなので、LEDやタクトスイッチを自分で選べる楽しみがあります。配線の先端の黄色い部分は熱収縮チューブです
銀色のツマミは音程用で、それ以外はピッチとディケイのコントローラです。電池の左横に見えるRCAジャックは出力用で、Arduinoのデジタルピン3とGNDに接続されています。このジャックはRCAでなくても構いません。自分にとって使いやすいタイプの端子を選ぶといいでしょう
パネルの裏側です。写真では見にくいですが、15mmのスペーサを4本立てて、「足」にしています。VRのそばに配置したので、ツマミを多少乱暴に操作しても、ぐらつきません
電源は9V電池です。ArduinoのACジャックにつなぐためのケーブルを自作しました。2.1mmのプラグと電池スナップをつなげただけです。1本持っていると役に立ちます

 組み立てが終わったら、スケッチを入手しましょう。次のページからファイルを1つダウンロードしてください。

□tinker.it
http://code.google.com/p/tinkerit/downloads/list

 2009年7月時点の最新版はauduino_v5.pdeという名前です。このスケッチをArduino IDEで開いて、「Upload」します。

ダウンロードしたスケッチ(pdeファイル)をArduino IDEのアイコンへドラッグ&ドロップすると、このダイアログが表示されます。ここでOKを押すと、IDEは自動的に同名のフォルダを作成し、そこへスケッチを移動してから、そのスケッチを開きます

 スケッチが正常に実行されても、VRのツマミの位置によっては、音が聞こえない場合があります。接続のチェックをするときは、すべてのツマミを中央付近に合わせておくといいでしょう。

 Auduinoの5つのVRの役目は次のとおりです。

0: ピッチ1
1: ディケイ2
2: ディケイ1
3: ピッチ2
4: グレイン反復周波数 (音程に相当)

 最初の数字はアナログ入力ピンの番号です。音色を変更するのは2つずつあるピッチとディケイのVRです。回すと音が変化するのは確かなのですが、どこをどういじればいいのかは、なかなかわかりません。むしろ、そのわからなさを意外性と捉えて楽しむ感じでしょうか。パラメータをゆっくり変えていくと、突然ドキッとするような音が現れるはずです。ヘッドフォンで長時間聴いていると頭が痺れてくる、ちょっと危険な音です。

左右にVRを配置し、両手を使って同時に2つのパラメータを変更できるようにしました。レイアウトを工夫して、自分なりのシンセを作ってみましょう

 スケッチを詳しく調べたい人向けに、コメントを日本語にしたバージョンを武蔵野電波サイトに置いておきます。互換性のためのコードを削除したので、元のスケッチよりも見通しがよくなっていると思います。そのかわり、Arduino Megaや古いArduinoボードでは動きません。通常はオリジナルのバージョンを使用してください。

 次回はゲストをお招きして、Auduinoの可能性をさらに深く追求します。単なる音源としてでなく、シーケンサとしても活用します。