ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

B's ChamberコミュのMIDIOUT509

  • mixiチェック
  • このエントリーをはてなブックマークに追加
元々MIDIグッズを作りたくてPICを始めたのにいつまでもMIDIから逃げているわけにはいかんだろ?というわけで今年中にヲレはPICからMIDI信号を出力してMIDI音源を動かすと決めた。

まずは「GM音源のバスドラム音を120BPMで4つ打ちし続ける」回路を作る。

コメント(24)

●現状

■回路図が出来ている。
■プログラムが出来ている。
●まだなこと

■基板パターンが出来てない
■どのタイプの基板を使うか決めてない
■どういう形状にするか決めてない
●基板パターンを書いてみた。

ちょっと体力があったのでササッと書いてみた。
ササッとやるのがいいのよね。

10×12ドットでできることがわかった。
これならサンハヤトICB90の半分で出来る。当然秋月C基板でも。

秋月か・・・ああニコニコして秋葉原に行きたいもんだなぁ。

この分だと土曜がヒマだから基板作ってみるか。
●基板が出来た

このまま寝ていても生きていることが無駄になっちゃうので作った。
結構あっさり出来た。

基板は秋月のC基板を贅沢に使った。
基板のほぼ真ん中にパーツを置いたり、電圧レギュレータとPICの間をちょっと開けたり…と贅沢の恩恵をあまり生かしてない感じだけど…
次はソフトをPICに焼いて動かしてみる。
ところが動かず。リストを見返すとたしかに問題があるが、それを直しても鳴る気配は無し。

最初からかっこよいプログラムにしようと思ったのが間違いかもしれないのでまずは泥臭い?方法にプログラムを作り直してみる。

あと回路にも問題が見つかった。
トランジスタを挟んだおかげで論理が反転したのも動かない原因のようだ。他の製作記事の中には「抵抗を介してポート直結」というのもあったのでこれもその方向でつくりなおす。
基板はトランジスタをパスするように改造し、プログラムもベタなものにしてみたがやはり鳴らず。
「これはカバーからやり直しか…」と諦め半分に既存の記事のプログラムを見て気づいた。
「なんだ、送る順番が逆だ…」
ヲレは1バイトのデータを「最上位から」出していたがMIDIの場合は(というよりシリアル通信は、なのかもしれないが)「最下位」から出さないとダメなようで、それにならってプログラムを書き直したらめでた動いた次第。
あとは別の、というより最初に考えていた方法+間違い修正でプログラムを作ってみる。
1バイト分のデータをサブルーチン化して送りたいデータを特定のレジスタに入れてコールすればいいようにすればプログラム自体もスッキリするし、他のプログラムにも使い回し出来るようになるから次のプログラムがより早く作れることになるもんね。
さっそく着手した。
使うレジスタも1つ増えただけで逆にスッキリしたかんじ。
そして今後のことを加味した作りに変えてみた。
具体的にはGPIOレジスタの値をプールしたりとか。
プログラムが出来上がった。
アセンブラに通したら一発で書き込むファイルが出来た。ちょっといい気分。
もちろんだからと言ってイコールプログラムの完成というわけじゃないんだけど。
…動かなかった。
何がいけないんだろう?
どうも1バイトのデータから1ビットづつ切り出して出力に渡す途中で値が反転しちゃってたのが原因だったようで。
二つの命令を書き直したらバッチリ動くようになった。
今回の変更で1バイトのデータをMIDI出力する部分がサブルーチン化出来たので、今後はこのソースからこの部分をもらってくることでMIDI送信ものを作るのがより早くなる。
ソフトウェア資産って言葉の意味をちょっとかみしめたよ。

次はこれを出汁にして作れるものをいろいろ考えてみる。
なにしろプログラムエリアはかなり空いているんだもの。けっこういろいろ出来ちゃうかもね。
とりあえず考えたのは3つ

●8BEAT509
●MIDIKEY509
●M2G509
このシステムでパラアウトが出来ると、MIDIセッションできますね。

別にこのシステムを使わなくても同期自体は出来ますが、
親分的マシンがあった方が柔軟に色々と繋げたり出来て楽しそうです。
さすがに同期信号をもらってフレーズを出せるようになるまでにはまだまだ精進しないといけませんが現時点なら「リセット解除」ですぐ出力、そしてループ再生はできます。
GM音源をターンテーブル、この回路をレコード盤に見立ててのDJっぽいプレイというのも面白いスね。
ループ出来るということはループさせずにワンショット+リトリガーも出来るということでもあるのでそういうのも活かしたいところ。

大多数のプレイヤーがサンプラーでやるところを大量のワンチップマイコンでやる、なんて妄想するとワクワクするヲレです。
まずは今回のプログラムと回路が動いたのでこれを少しリファインしてモノ(形)にまとめることにしました。
プログラムを変えた時にすぐ動くようにするための土台としてだったり、先に行こうとして詰まったりしたときの励み(悪く言えば過去の栄光)にしたりとめりっとがあると思うので。

こういった実験基板をパッケージ化するいい方法を試したいというのもあるし。

現在は回路も更新し、パターンも出来たところ。
まとめるための板も確保したのであとは組み立てるのみ?
●8BEAT509

電源オン、もしくはリセット解除後延々といわゆる8ビートのドラムパターンMIDIデータを出力し続けるPIC。

演奏パターンとテンポはプログラムに固定する。

と書いているうちに進化の案が浮かんできちゃったよ…別トピックで展開します。
●MIDIKEY509

入力はたった一つのスイッチ。
そのスイッチを押すとプログラムにあらかじめ設定したチャンネル、ノート、ベロシティのノートオンMIDIデータが出、離すと同様のノートオフMIDIデータが出るだけという、ある意味「世界一思い切った」MIDIキーボード。
チャンネル、ノートナンバー、ベロシティはプログラムに固定。

その昔これと「一つのボリュームの位置をコントロールチェンジとして出すデバイス」を作り、これらを入力デバイスとして作曲しようと企んだことがある。(実はまだあきらめていない。)
それらが出来れば「ヲレはスイッチとボリュームで演奏する」という考えが見栄でもハッタリでもなく事実に、そしてヲレの思想のアイコンになる…とそこまで言うこともないか。
●M2G509

出力が出来たのなら次は入力だろうということで考えたのがこれ。
考え方はMIDIKEY509の対をなすもので特定のチャンネル、ノート、0以外のベロシティを受けた時にポートを一つアクティブにするという軽作業なPIC。
でもバカには出来なくて、これさえあれば必要な数だけPICに焼いて、フォトカプラの出力から信号をパラって並列に動かせば簡単で無駄の少ないゲートコンバータが作れると思う。(と言っても7つぐらいまでだと思う。)

ポートの先にはリレーでもソレノイドでもヨネミンGでもいい。フリーダム。
素晴らしいアイデアですね。
ボタンを押すランダムなタイミングでフレーズを奏でることになるので予定調和を組み込んでいるのにランダムになる、という出たとこ勝負が可能になりますね。

TB303でアシッドのようなことができるのでは?
確かに。
打ち込みでいながら気分で粋に崩していけるのでよりライヴ感が増す予感があります。
今回のPICに仕込めるネタはかなり少ないので一曲通して鳴らすには複数使うことになりますがさらにこれを増やし、次のフレーズをその時の気分で差し替えるなんてことも出来たりします。
http://www.geocities.jp/ijnsz/index.html

ご存知かも知れませんが、
上記のサイトの下の方に講座があります。
主催しているのは高円寺の円盤のオーナーの方だと思われます。

これを否定するつもりは全く無いのですが、
おそらく出来たもの、これまで出来ているものは全てランダム発生音だと思います。
これはこれでアリだとは思いますが、一般の方(要はリスナー側)には受け入れにくいと思います。
全てがランダムでコントロールする側も一切コントロールできないことが、その大きな原因だと思います。
要は聴いている側、見る側はナンとも評価できないんですね。

ノイズミュージックという括りのジャンルの難しさはココにあると思います。
極論ですが「犬5匹並べて鳴かせて音楽だ!」という考えもありますが、
それは聴く側には聞くことはできても聴けないんですね。
みんな集まって単に「ワー」から脱っすること、
ある程度のコントロールや演奏者側の意図を通じる努力というか行為が個人的には欲しいと思います。

ワクワクする何かをして欲しいんですね。

ですので弁慶さんの製作するモノには非常に期待しています。
ありがとうございます。
受け手がアートとして受け止めてくれる感性は大事だけど作り手がそれに依存しちゃうのはね…伝える意図とそのための頑張り(と他にもあるかもしれないけど)が大事なんだと思います。
●コードストローク509

左手でコードを送り、右手で鳴らす伴奏用のMIDIデバイス。
ただのワンキーコードプレイと違うのは左手のコード送りを押さない限りコードは変わらないので右手で自由にリズムカッティングが出来る(予定)

右手には「押している間だけコードがオン」というスイッチと「押すと一瞬だけコードがオン」というスイッチを用意しておく。

例えば8BEAT509でドラム音源にリズムを刻ませ、やはり8BEAT509のベース版みたいなのを作ってベースを、今回のコードストローク509でコードを鳴らしつつ歌えばちょっとしたバンドみたいなことが出来る。
まあシーケンサ一台+音源一台というのと音的に変わらないじゃんと言われかねないけどね。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

B's Chamber 更新情報

B's Chamberのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング