前回の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程度の穴が必要なので、その部分だけリーマーを使って既存の穴を広げました。使用した工具はリーマーだけです。
配線はすぐに終わると思います。ちょっと悩むのは、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の可能性をさらに深く追求します。単なる音源としてでなく、シーケンサとしても活用します。