鍵盤天国

鍵盤天国

PR

×

カレンダー

プロフィール

Nori@T'sLAB

Nori@T'sLAB

キーワードサーチ

▼キーワード検索

バックナンバー

October , 2026
September , 2026
August , 2026
July , 2026
June , 2026

お気に入りブログ

未だ暗い。 New! HABANDさん

福山で大学の同期会 りとみしゃんさん

「自叙伝」オーディ… ごろぞ〜太!さん

にゃじら的生活 pumoriさん
ぽんきち草 ぽんきちがぶりえるさん
June 9, 2015
XML
カテゴリ: 研究
以前,本ページにて少しだけ紹介したPichBendPedalというオリジナルのMIDIデバイスの改変を考え中なので記載してみます.


このペダルを考案したのは,卒研で私はMIDIデバイスを作っていた頃の事でD-DECKの本体しか借りられなかったから『じゃ,ピッチベンドペダル作るか』となった,というくだりは既に ピッチベンドペダル で記載の通りです.


この機器自体は,単純な変換をPICというマイクロコンピュータ(PIC16F88)を用いて実現しています.
ペダルは既製品よりELシリーズに使われていた2ndExp.Pedalを用いて実装しました(現在はELS用を実装しています)

ペダルの中には10kΩの可変抵抗が入っている為,その可変抵抗に接地基準(GND)と電源(DC5V)を与え出力された可変電圧をPICのA/Dポートで読み取って,その値を元にMIDI仕様に基づいてシリアル出力をさせただけという非常にシンプルなものです.
midi_pic


仕様の覚書
・MIDIにおけるピッチベンドチェンジはMSB(128値)とLSB(128値)の2データにて16,384値(-8191~8192)で構成
・MIDIにおけるボーレートは31,250bps

・PIC16F88におけるADC値の分解能は1024値


シンセ用にMIDIチャンネルを1chにしたプログラムも作ってあります.
実際にはチャンネルを可変できるようにすればよかったんでしょうけれど,納期が決まっていたので間に合わせで妥協したのだろうと思います.
今回はそんなわけで,その辺を含めて色々見直したくて昔のプログラムデータを引っ張り出したと言うわけでやっと本題です.


やり始めればすぐにできそうな内容だと安易に考えていたのですがコンパイル環境構築をするもコンパイルエラーでストップ.
結論から言うと,コンパイラ基準の記述にプログラムの記述方法があっていないという雰囲気でした.

状況を悪くさせたのは,該当バージョンのコンパイラで動作確認済みのサンプルプログラムでも私の環境ではエラーNGという結果になってしまった事です.
海外でも同現象に陥った方がいらっしゃったようで数人のサポートの元,試行錯誤した末その方はうまくいったようでしたが同じ方法をとってもこちらでは解決しませんでした.
ヘッダファイルの参照先が見つからないとコンパイラに怒られる始末・・・
絶対参照にしても全く具合が変わらないのであきらめてコンパイラのバージョンをプログラムを組んだ当時のものに差し替えて先に進むことにしました.
当然ですが,問題なくコンパイルが出来やっとスタートラインに立てたと言った感じです.



ベースプログラムは何を隠そう学生時代の自分の汗と涙の結晶ですが良くも悪くもシンプルで荒すぎでした.
よほど慌てて作ったんだとは思いますがシフト演算子が使える内容をわざわざ回りくどく計算していたりと苦戦もしたのかなと・・・
コメントアウトがしっかり残っている律義さだけは認めるけど全体的に改変ですね.


一応,今回の目標は以下の通りにしようかと思っています.
1.少しの振動で誤認識してしまう事があるため,ADC読み込みに遊びを作る

3.LED:パラメータ送信時のみ点灯⇒常時点灯,パラメータ送信時は点滅に変更
~余力があれば~
・MIDIチャンネル:スイッチ類の実装で変更できるようにする
・背面のステレオフォンポートをADCに接続してMIDIパラメータをアサインできるようにする

このペダルはあくまで現状の音色設定に依存する形になっているのでコントロール値の変更のみを目的としている為,ピッチベンドレンジ(何オクターブ変化させるか)はシンセサイザー等の本体設定に依存する形にしてあります.
mag

また,気が付いた方もいらっしゃるかもしれませんがピッチベンドレンジも疑似的に16,384値にしているだけで,実際にはadcの分解能である1,024値にしか分解できません.
プログラムで補間できるのかもしれませんが,挙動がおかしくなる可能性を考えると安易に実装を考えるべきではないと思い今回,考慮しないつもりです.

尚,公開していい内容なのか疑問ですが,実機のパラメータを確認した限りではELSシリーズで使われている2ndEXP.Pedalのパラメータは実は256値の分解能の模様です.

先に記載した通りPitchBendChangeの情報は16,384値(-8191~8192)で構成されています.
その値からすると64分の1というデータ量ですので相当荒いです.

そうは言っても実際にここまでシビアな音程変化をペダルやリボンコントローラまた,ホイール等でコントロールする際に必要となるのかは疑問です.

多くのコントロールデータが多重にかかってくると負荷が増えて遅延にも繋がりますのでエレクトーン等リアルタイムコントロールが重視される楽器ではあえて間引いているのではないかと推測されます.

ただ,エレクトーンの場合は12音まで設定できるので正直最大値でのピッチ変化には段付きが感じられます.
それに比べれば1,024値での分解能は十分なのではないかと思っています.


と,言う事で宣言した以上はやらなければなりませんね(^^;
あくまでStudioT'sLABオリジナルMIDIデバイスへの第一歩に過ぎませんので工数をかけすぎずに実施予定です.
既に,これを書いている時点で1~3までの項目は目途が立ちましたけどね.
こうご期待(?)





お気に入りの記事を「いいね!」で応援しよう

最終更新日  June 9, 2015 09:24:36 PM
コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: