ウィンドシンセ - ouiLead
製作過程
自作ウィンドシンセのマウスピース周辺のセンサ部分製作過程など。
こっちも参照
マウスピースは、手持ちのアルトサックス用のマウスピースをそのまま使用。ティップオープニングが広くないとリップセンサが作りにくいので、できればテナーのオープニング広いのがベスト?(だからLyriconのマウスピースはテナー用なんだと思う)
リードは樹脂製を買ってみたけど、作業中に踏んづけて割ってしまったw
結局その後は普通のリードを使用。
リードの噛み具合をセンサまで伝えるためのレバー(アルミ)。シリコンのシーリング材で支点部分を固定していて、硬化するとほどよい弾力があるので、これだけで常にレバーをリードに軽く押さえつけた状態になる。
マウスピースを受ける部分はプラ板とパテで成形して、横に圧力センサを埋込んだ。結露した水分への対策をまったくしていないため非常にデリケート。水が入ると吹けなくなることもある。
息はこの裏側から抜けるようにしたのと、圧力センサ後段の増幅部分の回路を作り直したので、吹奏感はかなり改善された感じ。
リップセンサは、LEDとフォトトランジスタを向かい合わせに設置して、さっきの金属レバー後端の遮光板が上下することでLEDの光を遮る方法。
リードがフリーの状態と、噛んだ状態の間でほどよいレンジの出力にして、その後MIDIのPitch Bendに変換する時に、ピッチコントロールしやすいように調整するのが大変。リップセンサは1回作り直したけど今でも満足いってない部分。
マウスピースまわり全景。浜松市・札幌市音楽文化交流シンポジウムに持っていった時の半分ぐらいのサイズに小型化。
iPhoneとiPod touchを装着。左上の7セグLEDは意味もなく[39]と光りますw
magnet 吹いてみた & 弾いてみた
ウィンドシンセ版ouiLeadと、iPhone版ouiLeadで演奏してみた。
ちなみに現在AppStoreでダウンロードできるiPhone版は、アプリ自身のFMシンセを鳴らしていますが、上の動画ではWi-Fi経由でソフトシンセを弾いています。
ボーカルのパート割りは、吹きやすいように若干変更。左下はBass、右下はStringsを弾いてます。
それ以外は原曲mp3(Off-Vocal)をそのまま使わせて頂いています。
iPhone Core Audioプログラミング
本屋に行くたびに売り場スペースが増えていくiPhone本、一応ふらっと立ち寄ってみたら、「iPhone Core Audioプログラミング」なんていう目を疑うようなタイトルが…MacのAudioプログラミングの本さえみたことないのにiPhoneで出てくるあたりがなんかおもしろい。
内容的にも、ouiLeadを作りはじめた1月に出ていたなら間違いなく買っていた充実ぶり。実践編としてFMシンセの作り方も載ってるのがいい! そもそも著者のサイト(http://nagano.monalisa-au.org/)にはかなりお世話になってる。
- 作者: 永野哲久
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2009/11/12
- メディア: 大型本
- 購入: 5人 クリック: 110回
- この商品を含むブログ (23件) を見る
あまり知られてなさそうなWind Controller
見つけたもの一覧
Robosynth
Magic Flute
Meta-EWI / Meta-EVI
Eigenharp
その他、詳細不明とか
http://uea-io.de/breathcontrol/controlers.html
http://www.spacebrewer.com/?page_id=4
http://www.cs.princeton.edu/~prc/CHI01Web/chi01.htm
http://vipre.uws.edu.au/tiem/?p=185
Windではないけど
vPipes
Deger
fagerstrom
EWIをものすごく拡張 The Meta-EWI
The META-EWI has the following extra sensors and actuators:
- 4 Force Resistance Sensors (4 CC)
- 1 Accelerometer with Tilt detection (providing 2 CC)
- 1 Joystick (providing 2 CC)
- 16 On/Off tactile switch buttons
うわーすごい。これは売り物ではないんやろか?
EWI本来の機能は残したまま、キー部分に4つの感圧センサとキー周辺に16個のタクトスイッチ、写真ではよくわからないけどジョイスティックがどこに付いてるんだ? そして加速度センサを追加。専用のインターフェースでPCに繋いで、Max/MSPで好きにやってくれという感じ?
よく合体させたもんだ、さすがにこれは吹いてて邪魔じゃないの?
これだけの拡張されたセンサ情報をどうやってシンセで演奏表現に結びつけるかが難しいところ。
音源うpされてないんかなと思って検索してみたら、Meta-EVIもあったw
そしてやっぱりアクリル板で拡張!
ウィンドシンセで使えるソフトシンセ
今まで自分がWX5で使ってみたソフトシンセの所感など。
Apple ES2
Logic Studioに付属のVAシンセ。
3 Osc, High-Pass, Low-Pass, Band-Passなど種類が選べるフィルター2つ(並列か直列かなども変えれる)
オシレータはきれいな澄んだ音がするイメージ。パラメータの割当がすごく柔軟にできる。ひとつのdestinationに複数のsource(MIDI CC)をちゃんと割り当てられるシンセは実は少ない?
6か7の頃までExpressには入ってなかったと思うけど、今は入っているらしい。
- 出版社/メーカー: アップル
- 発売日: 2009/09/02
- メディア: DVD-ROM
- 購入: 1人 クリック: 24回
- この商品を含むブログ (11件) を見る
- 出版社/メーカー: アップル
- 発売日: 2009/09/18
- メディア: DVD-ROM
- クリック: 31回
- この商品を含むブログ (3件) を見る
Apple Sculpture
Logic Studioに付属の弦の物理モデリングシンセ。
励起オブジェクトとして弓やブレスを使用できるので、持続音のシンセリード音色も作れる。(弦/ブレスのモデルを使ったからといってリアルなViolin/Fluteの音にはなるわけではない)
数年前にViolinぽい音を作ってWX5で吹いてみたもの
Legatoモードの時に離れた音階を連続して鳴らすと正常に発音しない仕様?バグ?があるので、PolyかMonoモードでないと安定して使えない。上のmp3はLegatoモードで吹いてますが、結構気を使っている。
今のバージョンのExpressにも入っているかどうか不明…
GForce Minimonsta
Mini MoogをシミュレートしたVAシンセのひとつ。
ES2に比べると、Unison, DetuneすらしていないOsc単体での音が圧倒的に太い。
たぶん典型的なシンセリード音色用として今後もしばらくはメインで使うと思う。
自作ウィンドシンセで吹いてみたもの
- 出版社/メーカー: M-AUDIO
- メディア: DVD-ROM
- この商品を含むブログ (1件) を見る
NATIVE INSTRUMENTS FM8
FMシンセ。
FM7の頃はけっこう使ってた。フィルタがついてるので、FM部分でsawを作ってVA的な吹き方をすることもできる。
NATIVE INSTRUMENTS KONTAKT
ソフトサンプラー。
プリセットのサンプルを普通にLPFとAMPをコントロールするだけでもそこそこ吹き心地は良い。とは言っても"そこそこ"なので、生楽器系音色が吹きたいならもっと他にいいシンセがある。シンセリード系なら素直にVAシンセにすればいいし。
KONTAKTの利点は、ソフトサンプラーの中でも特に細かくサンプルのマッピングの設定とかモジュレーションの設定とか、あげく独自のスクリプト言語で機能追加までできてしまうところかなと。そのあたり、ウィンドシンセ向けに何か遊べないかと思って買ったんだけど、時間がなくてあまり触れていない。
- 出版社/メーカー: NATIVE INSTRUMENTS
- メディア:
- クリック: 5回
- この商品を含むブログ (3件) を見る
Apple ESX24
Logic Studio/Expressに付属のソフトサンプラー。
ES2と同じ方法でパラメータのアサインは柔軟にできるが、VolumeにCC#2を割り当てた時のカーブが良くない感じで、持続音を吹くには適していない。
とは言ってもシンセリードが吹きたいならES2を使えばいいし、Bassとかちょっとした笛系のものとか、鍵盤で弾かずにWXで吹くときによく使う。
持っていないが欲しいもの/使えそうなもの
Wallander Instruments WIVI
サンプルとモデリングのハイブリッド?
鍵盤にブレスコントローラ繋いで演奏することを想定して作られている感じ。
Demo版でいじれる範囲は少ないが、デフォルトのままでも滑らかに多くの管楽器を吹くことができた。
オーケストラ向けっぽいので"汚い音"を出すことができるかどうか不明。
Sample Modeling The Trumpet, Mr. Sax Brothers
これもその名の通り、サンプルとモデリングのハイブリッド?
一番の特徴はキースイッチで管楽器の色んな演奏表現を鍵盤で弾けるってところだけど、ウィンドシンセから普通に吹く場合は実質的にキースイッチの機能を使うことはできない。(というかスイッチでフォールとかする意味がない。そう吹けばいいんだから。)
それを差し引いても、これはいいシンセだと思う。
使ってみたが上手くいかなかったもの
NATIVE INSTRUMENTS Absynth
PRO-53と同じく吹奏感が悪い。
ouiLead吹いてみた
こんな感じ
ウィンドシンセ自作計画の途中経過の動画用に耳コピして練習してみたけど、動画作る時間がとれないかもしれないので、さっき練習がてら録ったものをとりあえずうp。
http://homepage.mac.com/mikaduki27/music/AbsentFriends_IvoryLady_oui.mp3
Irish Flute, Fiddle, Uilleann pipesのパートを吹いてます。
あと、見た目はすごく奇妙なことになっている。
構成とか
圧力センサとタクトスイッチの情報をArduino経由でMacに送り(シリアル通信)、CocoaアプリケーションでMIDIに変換、Core MIDIを使ってIAC Bus経由でLogic上のソフトシンセを鳴らしています。
iPhone/iPod touchは指座標をMacにWi-Fiで送信しているだけ。
つまり前回うpした動画の時から基本は何も変わらず。(下の図ではProcessingが間に入っていますが、今はCocoaアプリで直接シリアル通信してます)
アイリッシュフルートやホイッスルを吹く時によく使用するフィンガービブラートと、指孔上で指をスライドさせることによるピッチコントロールができるようになりました。ただし、これをちゃんと活用するにはシンセの設定をもっと詰めないと適切な表現ができないため、まだまだ調整中です。
今回使っているソフトシンセは、Minimonsta (Irish FluteとFiddleのパート)と、KontaktのプリセットにあったUilleann pipesのサンプルです。
筐体上でiPhoneが斜めに配置させているのは、指3本以上をタッチパネルの縦方向一直線に並ぶように触った際、3本目から正確に認識されない問題に対処するためです。iPhoneの問題なのかハードウェアの特性の問題なのかは不明。斜めなら4本指でもOKなのでそうしています。
前は塩ビ管を曲げて自作してたマウスピース、今回はEWI4000sの交換用マウスピースをわざわざ買って来てくっつけました。
吹奏/演奏感
圧力センサの回路が上手く作れておらず、信号のレンジが狭くてノイズが乗ってるのは吹きにくいところ。ちなみにEWI1000のように、ほとんど息抜けしない状態。
運指の割り当てが自分でプログラミングできるのは大きな強みで、ouiLeadの運指はサックスやモダンフルートに似たものではなく、アイリッシュフルート/ホイッスルをベースにしています。それによってWX5やEWI等では演奏不可能な類の装飾音が使えるため、非常に快適です。
iPhoneからの運指のデータはWi-Fiを経由するので入力の遅延が問題になるかと思いましたが、MacをWi-FiのアクセスポイントにすればiPhoneと直接通信できることになるので、タッチパネルの入力の遅延はほとんど無いレベル。
今後の予定
なんとかしてリップセンサを作る。
Cocoa/Objective-CとArduinoのシリアル通信
普通にシステムコールを使ったシリアル通信で、Arduinoがセンサ情報送信 -> Cocoa側で受信はできていたんだけど、Cocoa側から送信ができずに2日ほど悩んでしまった。write関数で「Resource temporarily unavailable」とエラーが発生する。
ProcessingやArduinoのシリアルモニタでは問題なく送信ができるから、ファイルディスクリプタの設定の問題かと思って色々調べてるうちに、ズバリCocoa/Objective-Cで実装されたArduino用シリアルモニタのようなのが公開されているのを発見。(一番下のXCode Projectをダウンロード)
http://www.arduino.cc/playground/Interfacing/Cocoa
コードを読むとIOKitを使って何やら設定してるみたい。シリアル通信でもIOKitって使うことあるんだ…
とりあえず参考にしてread/writeの処理を書いてみたところ、ちょっと引っかかったのが、今までデバイスファイル名に指定してた「/dev/tty.usbserial-xxxxxxxxx」だとwrite関数呼んだとこで処理が止まる。でも「/dev/cu.usbserial-xxxxxxxxx」を指定するとちゃんと送受信できるってとこ。
この2つの違いを意識してなかったんだけど何が違う?
ttyの方で動かないのはうちの環境が何かおかしいのかも。
Arduinoでスケッチをuploadする時はttyの方を指定してるし、Processingで送受信を試した時もttyの方で動いてるんだけど…