teacup. [ 掲示板 ] [ 掲示板作成 ] [ 有料掲示板 ] [ ブログ ]

 投稿者
  題名
  内容 入力補助画像・ファイル<IMG> youtubeの<IFRAME>タグが利用可能です。(詳細)
    
 URL
[ ケータイで使う ] [ BBSティッカー ] [ 書込み通知 ] [ 検索 ]


度々、恐縮です御座います・・・。

 投稿者:猫サックス  投稿日:2015年 5月 1日(金)10時20分34秒
返信・引用
  > No.736[元記事へ]

nekosanさんへのお返事です。


度々、恐縮でございますが、どうしても前に進まない問題点がありまして、
一つだけ質問させていただいても構いませんでしょうか?
また、お手すきの際にお願いできますと幸いです。


 MIDI送信に関しまして音源によっても反応が変わるとのことですので、私のほうでも古い音源で(Roland SC-88)試してみました。
結果、先に使用しておりましたKorgの音源と同じ反応が出ています。

その状態といたしましては、

例えば、「ド」のスイッチを押しますと、

①ほぼいつも、ドとレの音が重なって鳴る。
まれにドだけ鳴ったり、ラとか違う音になったりもする。

②たいていは押したタイミングではなく、押してから指を離したタイミングで音が鳴る。そしてスイッチを離してもそのまま音は鳴り続ける。

(因みに個人的には押したときに鳴り、離したときにノートオフにしたいと考えておりますが。)

③音が止まらず鳴り続けている状態から、もう一度スイッチを押して離した際に「まれ」に音が止まる。(基本的は音はこちらの意思で止められない。)

③勝手に様々な音が鳴って増えてゆく。音の壁が出来る感じになる。

といった感じになっておりますが、ここから何か思い当たることはありませんでしょうか?
因みにタクトスイッチでも、アルホイルの(適当改造スケッチでの)タッチスイッチでも同じ反応です。
何卒、宜しくお願い申し上げます。
 
 

Re: 重ねて御礼申し上げます

 投稿者:nekosan  投稿日:2015年 5月 1日(金)01時08分36秒
返信・引用
  > No.735[元記事へ]

猫サックスさんへのお返事です。


> うまくいきましたらご報告させて頂きたく、宜しくお願いします。
>
> (今はまだスケッチがほとんど理解できてはおりませんが、頂きました参考スケッチとにらめっこして必要なスケッチが完成できるまで、いろいろ試してみます。)



うまくいくこと期待しています。
がんばってください。
 

Re: 重ねて御礼申し上げます

 投稿者:猫サックス  投稿日:2015年 4月30日(木)11時25分14秒
返信・引用
  > No.734[元記事へ]

nekosanさんへのお返事です。

>
> うまく動くようになるといいですね。
> 楽しみに待っています。
>


有り難う御座います!!!
うまくいきましたらご報告させて頂きたく、宜しくお願いします。

(今はまだスケッチがほとんど理解できてはおりませんが、頂きました参考スケッチとにらめっこして必要なスケッチが完成できるまで、いろいろ試してみます。)



 

Re: 重ねて御礼申し上げます

 投稿者:nekosan  投稿日:2015年 4月30日(木)02時50分6秒
返信・引用
  > No.733[元記事へ]

猫サックスさんへのお返事です。


> (蛇足ながら)以下、この音源のみのサウンドです。これは指で弾いてますが、2声くらいでシンプルに弾いています。
> Arduinoテスト動画になっていますが。(笑)
> Arduino でタッチセンサー
>

>
> 実は、このフットペダル奏法はこの音源のセッティングでやらないと、全く伴奏として様にならないということでした。この音を見つけることが出来ましたので、足伴奏でサックスが吹けるな~、と思ったくらいです。
>
> アルペジエーターは、シンセの音が伸びて残った際に、少し聴こえる感じでしょうか。



拝聴しました。音源のパラメタいじったりで
セッティングしているんですね。

音源やキーボードは持っているものの、ぜんぜん
使いこなせる知識や腕がないので、音を出すと
言っても、プログラムチェンジで音色選んで
キーボードポンポンたたいてみるだけなので、
どうやったらこういう音が演奏できるのか…と
思ってました。



> いやはや、まさにおっしゃる通りで、「足がスイッチに触って、場所を確認後に踏む」というのが一番都合が良い感じです。
> さらに、
> サックス管から結露してできた水滴が下に落ちて、それでノートオンしてしまうのが最大の懸念です・・・。(汗)
>
> ノイズは・・・・考えたこともなかったです。(汗、笑)勉強になります!


足で触って場所を確認してから「カチッ」と
踏み込むのか、それとも触っただけで反応して
しまうのか…は、スマホとガラケーのUIの違い
とも似ているかもしれませんね。

スマホ的な、触っただけで反応するUIは、
目で見て操作しないといけないので、
演奏のときにそれを踏まえてどういう操作の
UIにしたら良いのか、悩ましくなりそうな
気がします。


ちなみに、多分水滴が乗ったくらいでは、
勝手にノートオンしちゃうことはないのでは、
と思います。
(水滴だけだとキャパシタンスが小さいので)



> 実は、今回はタクトスイッチを2つだけ使っておりまして、
> まだタッチセンサーは出来てはおりません。
>
> ノートオフの問題は、私の配線方法とかが間違っているのかもしれません・・。


そうなんですか。スケッチをあまりいじらず、でも
タクトスイッチでうまくいかないとすれば…
思いつくのは、チャタリングでしょうかね。


チャタリング対応は、ハード・ソフトとも特に
行っていなかったので、スイッチからの信号で
チャタリングしてると、ミリ秒単位でノートオン、
オフの信号が出まくることになるはずです。

もちろん、ノートオンとノートオフはちゃんと
ペアで出力されるはずのスケッチになっている
ので、そのこと自体でかしなことになるとは
思えないのですが、その数が余りに多すぎると、
音源によっては内部処理が破綻する可能性も
あるかも…と。


たとえば、ノートオフの後に、しばらく残響音を
残すような音色を選択しているケースを仮定します。

私の手元にある音源のデータシートを見ると、
どれも32ポリと書かれているので、たいていの
MIDI音源は32ポリだと仮定すると、チャタリング
で発生した音の残響音が残ってしまうと、32対以上
のノートオン・オフが出力されてしまうかも知れま
せん。
そうすると、音源側の処理が破綻してしまうかも
しれません。

(音源の仕様次第だろうと思うので、実際の
 ところはよくわかりませんが)


私の手元の音源は、ものすごく古い(20年以上前の)
KAWAIのモジュールとか、ヤマハのおもちゃキーボード
に内蔵されている(きっとワンチップ程度の、いい音が
あんまり出ないチープな)XG音源とか、Arduino用の
MIDI音源ICが載ったシールドとか、その辺で鳴らして
いるだけなので、残響音とかあまりちゃんときれいに
出てないし、そのおかげで逆に処理が破綻してない
のかも知れません。


ハード的にチャタリングを吸収させるか、もしくは
ソフト側の処理で抑えるか、その辺の処理が必要
なのかもしれません。


ただ、タッチセンサを繋いで使う場合は、タッチセンサ
自体が一種のLPFでもあるし、また、例のスケッチの
変数fを介したフィルタリング処理もLPFなので、
これらである程度は吸収され、もしかしたら不要
かもしれません。


出力されているMIDI信号を、バイナリデータとして
モニタできれば、そのあたりは判断付くかも
知れません。

(汎用に使えるMIDIモニタがあればいいんですが、
 見あたらなかったので、以前↓
http://picavr.uunyan.com/warehouse_midi_mon.html
 作ってみたりしたんですよね…)




>
> 有り難う御座います。
> たいへん貴重なアドバイスを頂いて、それだけでもうやる気満々です!
>
> 誠に有り難う御座います!!!
>
>


MIDIとか、楽器とか、FM音源とか好きなので、
こちらこそ楽しみながら拝読しています。

うまく動くようになるといいですね。
楽しみに待っています。



 

Re: 重ねて御礼申し上げます

 投稿者:猫サックス  投稿日:2015年 4月29日(水)14時56分22秒
返信・引用
  nekosanさんへのお返事です。


沢山の貴重なアドバイス、問題点、などなど本当に有り難うございます!!!


>
> なるほど。アルペジエータなんですね。
> シンセのパート、厚みがある音だなと思って、
> どんな風にしているのか気になっていました。
>

多分ほとんどが音源のセッティングでそのようになっているかと思います。

センター位置に「シュワー系の」モーション音源、(サウンドの時間的変化?を担当)
左位置に多少重みのある音源、(主に音の輪郭部分を担当)
右位置に柔らかな音源、(音の厚みと広がり感)

そこにディレイ、リアーブ、コーラスなどがかかっております。
この音の輪郭部分だけを変更すれば、この音独特の良さを持ったまま、また別の感じも楽しめます。

(蛇足ながら)以下、この音源のみのサウンドです。これは指で弾いてますが、2声くらいでシンプルに弾いています。
Arduinoテスト動画になっていますが。(笑)
Arduino でタッチセンサー


実は、このフットペダル奏法はこの音源のセッティングでやらないと、全く伴奏として様にならないということでした。この音を見つけることが出来ましたので、足伴奏でサックスが吹けるな~、と思ったくらいです。

アルペジエーターは、シンセの音が伸びて残った際に、少し聴こえる感じでしょうか。


>
> タッチセンサの原理は簡単なんですが、キャパシタンス
> の充放電で電圧を測る際に使う「1MΩとかそれ以上」の
> 大きい抵抗を使うので、比較的ノイズに弱いのが難点に
> なるかと思います。
> (近くにある配線などとキャパシタンスを形成して誤動作
>  したり、電波ノイズを拾って誤動作したり…)
>
> 特に、足で操作する鍵盤みたいなものになると、配線が
> どうしても長めになるでしょうし、足の踏んだ位置が
> 少しずれるなどもあるでしょうし、意図していないキー
> がオンになってしまうなど、あるかもしれません。
>
>

いやはや、まさにおっしゃる通りで、「足がスイッチに触って、場所を確認後に踏む」というのが一番都合が良い感じです。
さらに、
サックス管から結露してできた水滴が下に落ちて、それでノートオンしてしまうのが最大の懸念です・・・。(汗)

ノイズは・・・・考えたこともなかったです。(汗、笑)勉強になります!



>
> 参考サイトなど色々眺めてみたのですが、
> 「チャージ用」と「ディスチャージ用」で、GPIOを2ピン
> 使う構成になっていて、少しもったいないな、という気が
> いたしました。
>
> 建築発明工作ゼミさんのスケッチを元に、デジタルピン
> 1本だけで入力できるようなスケッチにいじりなおして
> 見ました。
>


有り難う御座います!!!!!!!

いや、もう、なんとお礼を申し上げてよいやら・・・。

「よしっ、やるぞぉ~~~~~~!」と大声で叫びたい勢いの「やる気」が出てきました!!!



>
> 実機用の基板が、本体の筐体と比べればそれほど
> 大きくは無いでしょうから、シールドサイズに
> 収めることにはあまりこだわらなくてもいいのかも
> しれませんね。
>
> 問題は、配線の取り回し次第で、ノイズに弱くなる
> かもしれないので、そのあたは、実験などでハードの
> 仕様を詰めていく必要があるかもしれません。
>
> 大きい抵抗値を使って、長い経路の配線にすると、
> お見事「アンテナ」が出来上がってしまうので、
> ノイズにはシビアになるかと思います。
>
> パッケージ全体で、抵抗値が大きいところの配線は
> 短くして、抵抗値の小さい配線経路で長く配線する
> などの工夫が要るかと。
>

なるほど、このあたりはさすがに
教えていただけていなかったらば絶対にはまっていた問題に思えます・・・。
考慮してみます!!!


>
>
> 入力信号が、オンとオフのデジタル信号だけであれば、
> 特に支障なく動くと思います。
>
> 気になっているのは、今回のお話だと、タッチセンサ
> の場合、センサ部分の周囲に手や配線などが近づくと、
> 触って無くても触っているかのように誤作動起こす
> 可能性があるのかなという気がします。
>
>
> つまり、ノートオフがされないのは、キャパシタンスが
> 残っているのではないか?というあたり。
>
> 触って無くても触っているような状態になっていると、
> スイッチオフにしたつもりの状態で、本当にオフに戻って
> いるか、入力値(計測値)をシリアルモニタで確認して
> みると、そのあたりが判断できるかも知れません。
>

実は、今回はタクトスイッチを2つだけ使っておりまして、
まだタッチセンサーは出来てはおりません。

ノートオフの問題は、私の配線方法とかが間違っているのかもしれません・・。


>
> Arduinoだと、スケッチ上に現れない処理(※)
> により、カウント間隔にゆれが生じて、カウント値
> がころころ変化することになります。
>
> (※:内部で、millisやdelayなどで使用する
>  ためのタイマ割り込みが処理が動いている)
>
>
> 建築発明工作ゼミさんのサンプルスケッチで
> 出てくる「変数f」は、簡易的なFIRフィルタ
> でLPFを構成しているんだろうと思いますが、
> この手のフィルタ処理で揺らぎを取り除くのも
> 一つの手だと思います。
>
> もしくは、タイマ割り込みを禁止できるので
> あれば、もう少し安定した値が取れるとおもう
> のですが、MIDI出力(シリアル出力)のバッファ
> 処理でタイマ割り込み使ってたかどうかあたりを
> 調べておく必要があるかもしれません。
>
>
> ほかにも、計測にタイマ割り込みや、キャプチャ機
> 能などを応用する手もあると思うのですが、
> これをArduinoでやると色々深みに填まって
> 必要以上に苦労すると思うので、避けたほうが
> よさそうです。
>

承知いたしました、そのように考えてトライしてみます!



>
> TINY13をArduino化して、36個ずらっとならべて
> 分散処理させて、アナログ-デジタル変換掛けて、
> それをコア処理担当のArduino(UNOなど)で拾えば、
> 機能としては動きそうな気がします。
>
> 1ループの処理時間も、特に気にするほど長くはなら
> ないかと。
>
> いずれにしても、普通サイズのArduinoで、2個以上の
> 複数入力がうまく動くか…の部分ですね。
>
>

有り難う御座います。
たいへん貴重なアドバイスを頂いて、それだけでもうやる気満々です!

誠に有り難う御座います!!!

 

Re: 重ねて御礼申し上げます

 投稿者:nekosan  投稿日:2015年 4月29日(水)00時58分9秒
返信・引用
  neko_saxさんへのお返事です。



> 単音ずつしか鳴らないのですが、一音に対して、
> ブラス系、パッド系、モーション系、の3つの音源が重なって鳴り、ボリュームが自動的に変化する音源を使っています。
> (さらに隠し味的に聴こえないくらいに、うっすらほんのりとアルペジエーターも走っています。)
>
> 足が二本しかありませんので(笑)大体は2声でコード感が出るようにアドリブで適当に伴奏しています。


なるほど。アルペジエータなんですね。
シンセのパート、厚みがある音だなと思って、
どんな風にしているのか気になっていました。


>
Roland FC-200 というフットペダルを、縦に3台並べております。タッチ式ではなく、ペダルは硬いです。
> ベロシティー機能は、ありません。
>
> 実は、ベロシティーがありましても足でのダイナミクス表現は無理でして、ないほうがかえって演奏がしやかったりします。
>
> この Roland FC-200 は生産完了しておりまして、中古を6台所有しておりますが(笑)
> 一台ずつ徐々に不具合が生じてきておりますので、今後は自分で作るしかない、という感じです。


生産終了なんですか。生産終了は困りますよね。




> タッチ式にしますと、
>
> ・スイッチがアルミホイルで良いですので制作がしやすい
> ・高速で踏めるかも
>
> という期待感があります。(かえって不都合もあるのかもしれませんが・・・)
>


タッチセンサの原理は簡単なんですが、キャパシタンス
の充放電で電圧を測る際に使う「1MΩとかそれ以上」の
大きい抵抗を使うので、比較的ノイズに弱いのが難点に
なるかと思います。
(近くにある配線などとキャパシタンスを形成して誤動作
 したり、電波ノイズを拾って誤動作したり…)

特に、足で操作する鍵盤みたいなものになると、配線が
どうしても長めになるでしょうし、足の踏んだ位置が
少しずれるなどもあるでしょうし、意図していないキー
がオンになってしまうなど、あるかもしれません。



>
> 建築発明工作ゼミ2008 という記事を参考にしましたら、うまくいきました。
>
> 因みにこの上記スケッチと、こちらでご紹介頂いておりますMIDI shield controllerスケッチとをドッキングして、なんとか制作したいと思っております。
>
> 今はまだ、きっとなんとかなるはず・・・といった感じですが。
>


参考サイトなど色々眺めてみたのですが、
「チャージ用」と「ディスチャージ用」で、GPIOを2ピン
使う構成になっていて、少しもったいないな、という気が
いたしました。

建築発明工作ゼミさんのスケッチを元に、デジタルピン
1本だけで入力できるようなスケッチにいじりなおして
見ました。


int f=0;//フィルタ用変数

void setup(){
  //モニタリングのためシリアル通信開始
  Serial.begin(9600);
  pinMode(9,OUTPUT);
  digitalWrite(9, LOW);  // 放電しておく
  //LED点灯用に13番ピンをデジタル出力
  pinMode(13,OUTPUT);
}

void loop(){
  //静電容量変化量の変数を用意
  int a=0;
  //8番ピンをLOWで出力
  digitalWrite(9, LOW);  // 放電 and プルアップ抵抗オフ
  pinMode(9,INPUT);  // 入力モードに変える(充電開始)
  //8番ピンがHIGHになるまでをカウント
  while (digitalRead(9)!=HIGH){
    //カウントする
    a++;
  }
  delay(1);
  //9番ピンをLOWにする
  pinMode(9,OUTPUT);  // 出力モードに戻す
  digitalWrite(9, LOW);  // 放電しておく

  //値を滑らかにするフィルタ式
  f+=(a-f)/2;
  //モニタリング:フィルタ値を出力
  Serial.print(f);
  Serial.print(" , ");
  Serial.println(a);

  //LED点灯のプログラム
  if(f>5){//値が5より大きい場合点灯
    digitalWrite(13,HIGH);
  }else{ //それ以外消灯
    digitalWrite(13,LOW);
  }
}


回路もちょっとだけ違うので、下記に添付します。
(実際に配線するのは、VccからD9に繋ぐ1MΩ抵抗と、
 D9から伸びるタッチセンサ部分だけです。100pの
 キャパシタンスとGNDは、人間の体が内蔵している
 HBMのインダクタ成分です)

このスケッチも動作は基本的に同じなのですが、
チャージとディスチャージを1つのデジタルピンで
兼ねるので、全体的にみれば、使用ピン数を減らす
ことができるかと。



ちなみに、1ピン、2ピン程度なら、この方法でうまく
機能すると思うのですが、2桁となってくると、
1個のArduinoで制御しようとすると、色々と支障が
出てくるかも知れません。


HBM(Human Body Model)の容量値をそのまま使うと、
人体のキャパシタンス(見做し)は100pF程度で、ここに
1MΩを通してチャージすると、0.1ミリ秒~1ミリ秒程度
の時間を要し、それが30本とか40本とか直列に処理する
と考えると、最悪値では全体で0.1秒近く掛かるかも
しれません。
(実際は、足で踏んでいないキーは最短時間しか掛からない
 ので、平均値で考えれば、全体で数ミリ秒程度だろうと
 思いますが)

TINY13を大量(キーの数の分)に使って、アナログ信号
のハンドリングはこれらに分散処理してしまい、コア機能
としてのArduino側ではデジタル入力だけに専念すれば、
処理はかなり楽になる気がします。



あと、実験してみたところ、1MΩだと拾える数値の域値が
少し狭いので、もう少し大きい抵抗を使いたくなるところ
ですが、抵抗値を大きくしすぎると、上述のようにノイズに
弱くなったり、さらにはチャージに時間が掛かるため、
計測時間が延びることが想定されます。



>
> 最初は、ものが大きくなっても構わないですし、
> ブレットボードものになっても構わないので、なんとかして作りたいと思っております。


実機用の基板が、本体の筐体と比べればそれほど
大きくは無いでしょうから、シールドサイズに
収めることにはあまりこだわらなくてもいいのかも
しれませんね。

問題は、配線の取り回し次第で、ノイズに弱くなる
かもしれないので、そのあたは、実験などでハードの
仕様を詰めていく必要があるかもしれません。

大きい抵抗値を使って、長い経路の配線にすると、
お見事「アンテナ」が出来上がってしまうので、
ノイズにはシビアになるかと思います。

パッケージ全体で、抵抗値が大きいところの配線は
短くして、抵抗値の小さい配線経路で長く配線する
などの工夫が要るかと。




> 一点、質問させていただけますとたいへん有難いのですが、
> こちらのサイトで有難くご紹介いただいております、
> 「MIDI shield controller for Arduino version 0.2  by Nekosan 」
> のスケッチのそのままで、
>
> 1オクターブ分のスイッチ、と、ファンクションボタン、(オクターブシフト用)
> (可変抵抗器なし、ジョイスティックなし)
>
> これだけのシンプルな感じで組んで、このままのスケッチで使用していても動作に支障はありませんでしょうか?
> 教えていただけるととても有難いのですが・・・。
> (現在のところ、ド、レ、のスイッチだけで勝手に実験しております。笑)
>


入力信号が、オンとオフのデジタル信号だけであれば、
特に支障なく動くと思います。

気になっているのは、今回のお話だと、タッチセンサ
の場合、センサ部分の周囲に手や配線などが近づくと、
触って無くても触っているかのように誤作動起こす
可能性があるのかなという気がします。


つまり、ノートオフがされないのは、キャパシタンスが
残っているのではないか?というあたり。

触って無くても触っているような状態になっていると、
スイッチオフにしたつもりの状態で、本当にオフに戻って
いるか、入力値(計測値)をシリアルモニタで確認して
みると、そのあたりが判断できるかも知れません。





> > タッチセンサーとかだと、通常はアナログ出力
> > だったりするでしょうから、デジタルのオン/オフ
> > で読もうとして、タイミングのずれになっていたり
> > とか。
> >
>
> そうなのですね、
> 今後、そのあたりに気をつけてやってみます!


Arduinoだと、スケッチ上に現れない処理(※)
により、カウント間隔にゆれが生じて、カウント値
がころころ変化することになります。

(※:内部で、millisやdelayなどで使用する
 ためのタイマ割り込みが処理が動いている)


建築発明工作ゼミさんのサンプルスケッチで
出てくる「変数f」は、簡易的なFIRフィルタ
でLPFを構成しているんだろうと思いますが、
この手のフィルタ処理で揺らぎを取り除くのも
一つの手だと思います。

もしくは、タイマ割り込みを禁止できるので
あれば、もう少し安定した値が取れるとおもう
のですが、MIDI出力(シリアル出力)のバッファ
処理でタイマ割り込み使ってたかどうかあたりを
調べておく必要があるかもしれません。


ほかにも、計測にタイマ割り込みや、キャプチャ機
能などを応用する手もあると思うのですが、
これをArduinoでやると色々深みに填まって
必要以上に苦労すると思うので、避けたほうが
よさそうです。



> ・1オクターブ分のスイッチと、オクターブシフト搭載でシンプルなコントローラーを何とか作れるようにすること(今、この段階です・・・)
>
> ・36鍵盤という多入力を、一台でなんとか実現すること
>
> ・タッチセンサー式の足鍵盤をなんとか実現すること
>
> の3つに目標を向けて頑張ります!
>
> 貴重な掲示板を利用させて頂きまして、誠に有り難うございます。


TINY13をArduino化して、36個ずらっとならべて
分散処理させて、アナログ-デジタル変換掛けて、
それをコア処理担当のArduino(UNOなど)で拾えば、
機能としては動きそうな気がします。

1ループの処理時間も、特に気にするほど長くはなら
ないかと。

いずれにしても、普通サイズのArduinoで、2個以上の
複数入力がうまく動くか…の部分ですね。

 

Re: 重ねて御礼申し上げます

 投稿者:neko_sax  投稿日:2015年 4月28日(火)11時27分18秒
返信・引用 編集済
  > No.730[元記事へ]

nekosanさんへのお返事です。

お忙しいところ、貴重なアドバイスを頂きまして有り難う御座います。
お陰様で、いっそうやる気が出てきまして本当に励みになります!!!頑張ります。!


> SAXの演奏に、シンセでベースライン(?)を演奏している
> 感じなんですね。


単音ずつしか鳴らないのですが、一音に対して、
ブラス系、パッド系、モーション系、の3つの音源が重なって鳴り、ボリュームが自動的に変化する音源を使っています。
(さらに隠し味的に聴こえないくらいに、うっすらほんのりとアルペジエーターも走っています。)

足が二本しかありませんので(笑)大体は2声でコード感が出るようにアドリブで適当に伴奏しています。


>
> ベロシティーの調整も行っているような気がするのですが、
> この動画で使用されているタッチセンサー(?)は
> どのようなものなんでしょうか?
>

Roland FC-200 というフットペダルを、縦に3台並べております。タッチ式ではなく、ペダルは硬いです。
ベロシティー機能は、ありません。

実は、ベロシティーがありましても足でのダイナミクス表現は無理でして、ないほうがかえって演奏がしやかったりします。

この Roland FC-200 は生産完了しておりまして、中古を6台所有しておりますが(笑)
一台ずつ徐々に不具合が生じてきておりますので、今後は自分で作るしかない、という感じです。
タッチ式にしますと、

・スイッチがアルミホイルで良いですので制作がしやすい
・高速で踏めるかも

という期待感があります。(かえって不都合もあるのかもしれませんが・・・)


>
> ベロシティーはおよそ一定のまま、全体のボリュームを
> 上下する感じでよいのであれば、簡単に制御できるとは
> 思うんですが…
>

ボリュームコントロールも不要でして、
ベロシティーもないMIDIフットコントローラーを目指しております。
(実はそんな簡単なものもまだ作れないでいるのですが、(笑)頑張ります!)

タッチセンサー部分は、最初に「Prototyping Lab」という本の、
「何かがタッチしたことを検出したい」
という項目で実験をいたしましたが、いろいろエラーが出てコンパイルが通らず、仕方なく、

建築発明工作ゼミ2008 という記事を参考にしましたら、うまくいきました。

因みにこの上記スケッチと、こちらでご紹介頂いておりますMIDI shield controllerスケッチとをドッキングして、なんとか制作したいと思っております。

今はまだ、きっとなんとかなるはず・・・といった感じですが。



> 1オクターブ用のコントローラが3台だと、音源モジュール
> も3つ必要になったりしないでしょうか?
>

本当は3オクターブ仕様のものを作りたく思ってはおりますが、

もし、先に3台接続の仕様で作ってみた際は、

MIDIケーブル3本を多入力のMIDIインターフェイスをに入れて一台の音源に送る方法をとります。(全然実用的なコントローラーではないですが。笑)

今はまだ、下のサイトを印刷して理解できるよう努力して読んだりしている段階です。
Arduino IDEでATtiny他の開発
入力するピンが不足した場合に入力ピンを増やす方法

最初は、ものが大きくなっても構わないですし、
ブレットボードものになっても構わないので、なんとかして作りたいと思っております。


一点、質問させていただけますとたいへん有難いのですが、
こちらのサイトで有難くご紹介いただいております、
「MIDI shield controller for Arduino version 0.2  by Nekosan 」
のスケッチのそのままで、

1オクターブ分のスイッチ、と、ファンクションボタン、(オクターブシフト用)
(可変抵抗器なし、ジョイスティックなし)

これだけのシンプルな感じで組んで、このままのスケッチで使用していても動作に支障はありませんでしょうか?
教えていただけるととても有難いのですが・・・。
(現在のところ、ド、レ、のスイッチだけで勝手に実験しております。笑)


> タイミングがずれるのは、なぜでしょうねぇ?

ノートオンは、ほぼいけるのですが
タクトスイッチを離しても鳴り続けており、ノートオフがうまくいっていない現状です。そのせいで、次のノートオンに支障があるのかもしれません。

きっと私のやり方に問題があるはずですので、もっといろいろ試してやってみようと思います。


>
> プログラム(スケッチ)がそのままであれば、
> 各音程のスイッチのオン/オフの切り替わりを
> 検知して、ノートオン/オフの信号を出力して
> いるだけなので、プログラム部分ではなさそうな
> 気がするんですが…
>
> 入力信号が、デジタルでオン/オフきちんと電圧が
> 上下しきれてないとか、もしくは出力後の信号の経路
> でどこか詰まったりするところがあったりするん
> でしょうかね?
>


有り難う御座います。
その方向で調べてみます!


> タッチセンサーとかだと、通常はアナログ出力
> だったりするでしょうから、デジタルのオン/オフ
> で読もうとして、タイミングのずれになっていたり
> とか。
>

そうなのですね、
今後、そのあたりに気をつけてやってみます!

課題といたしましては、

・1オクターブ分のスイッチと、オクターブシフト搭載でシンプルなコントローラーを何とか作れるようにすること(今、この段階です・・・)

・36鍵盤という多入力を、一台でなんとか実現すること

・タッチセンサー式の足鍵盤をなんとか実現すること

の3つに目標を向けて頑張ります!

貴重な掲示板を利用させて頂きまして、誠に有り難うございます。
 

Re: 重ねて御礼申し上げます

 投稿者:nekosan  投稿日:2015年 4月28日(火)01時15分54秒
返信・引用
  > No.729[元記事へ]

neko_saxさんへのお返事です。


> 実は以下のように3オクターブを縦に並べて、
> 足で和音での演奏をやっております。↓
> Sax & FootSynth(YouTube)
>


演奏の動画、ありがとうございます。拝聴しました。
Kenny Gみたいな心地よいメロディーでいい感じでした。

SAXの演奏に、シンセでベースライン(?)を演奏している
感じなんですね。


ベロシティーの調整も行っているような気がするのですが、
この動画で使用されているタッチセンサー(?)は
どのようなものなんでしょうか?

MCP23017は、デジタル入出力ICなので、あのIC単体では
1音1音のベロシティーは強弱付けられないかと思うので…
(ArduinoのデジタルI/O端子も同様)

ベロシティーはおよそ一定のまま、全体のボリュームを
上下する感じでよいのであれば、簡単に制御できるとは
思うんですが…



> 今のところ、こちらのサイトを参考にさせていただいたうえで、鍵盤部分とファンクションボタン(オクターブシフト用)のみを使用して、1オクターブのコントローラー3台作って使用してみようと考えておりました。


1オクターブ用のコントローラが3台だと、音源モジュール
も3つ必要になったりしないでしょうか?


>  それでまず先日やってみましが、どうも音が出るタイミングが遅かったり、ノートオフしなかったりをしておりますので、きっと物理的な接続方法が間違っていたり、あと、スケッチはそのままでは駄目で多少、それ用に書き換える必要もあるのかもしれないのかな、と思ったりもしています。


タイミングがずれるのは、なぜでしょうねぇ?

プログラム(スケッチ)がそのままであれば、
各音程のスイッチのオン/オフの切り替わりを
検知して、ノートオン/オフの信号を出力して
いるだけなので、プログラム部分ではなさそうな
気がするんですが…

入力信号が、デジタルでオン/オフきちんと電圧が
上下しきれてないとか、もしくは出力後の信号の経路
でどこか詰まったりするところがあったりするん
でしょうかね?


タッチセンサーとかだと、通常はアナログ出力
だったりするでしょうから、デジタルのオン/オフ
で読もうとして、タイミングのずれになっていたり
とか。

ちなみに、「USBシリアル変換ケーブル経由」で、
Windows7の内蔵音源に繋いで鳴らしてみたときは、
妙なタイミングずれが生じた記憶があります。

(PCのシーケンサからUSBシリアル変換ケーブル経由
 で外部音源で鳴らしたときも似たようなずれが)


普通のMIDI音源にMIDIケーブルで繋いだ場合は
Arduino~音源間では、特に遅延は無かったと
思います。

 

重ねて御礼申し上げます

 投稿者:neko_sax  投稿日:2015年 4月27日(月)12時14分31秒
返信・引用
  > No.728[元記事へ]

nekosanさまへ

せっかくお返事、頂いておりましたのに気が付かず申し訳ありませんでした。
また、いろいろアドバイスを頂きまして重ねて御礼申し上げます。


> 足で操作するとなると、実際にリズミカルに演奏する
> のが主体だとおもうので、オクターブシフトしながら
> だと厳しいかと。
>

おっしゃるとおりでございます。
実は以下のように3オクターブを縦に並べて、
足で和音での演奏をやっております。↓
Sax & FootSynth(YouTube)


入力が多いとのことで、MCP23017というものをご紹介下さいましたが、私では、こちらでサイト掲載されておられます1オクターブのMIDIコントローラーですらまだ作ることに成功しておりません。
(2-Axis Joystikとうジョイステックを買いましたがつなげ方など、現在調べ中でございます。)
もう少し詳しくなってからその先の課題として必ず挑戦してみたいと考えております。


> MCP23017をI2Cで接続すれば、好きなだけ拡張できるので、
> 3オクターブに限らず、もっと増やすこともできそうです。
>

こんなことが出来たら最高に思います。
今のところ、こちらのサイトを参考にさせていただいたうえで、鍵盤部分とファンクションボタン(オクターブシフト用)のみを使用して、1オクターブのコントローラー3台作って使用してみようと考えておりました。

 それでまず先日やってみましが、どうも音が出るタイミングが遅かったり、ノートオフしなかったりをしておりますので、きっと物理的な接続方法が間違っていたり、あと、スケッチはそのままでは駄目で多少、それ用に書き換える必要もあるのかもしれないのかな、と思ったりもしています。

この様にまだまだ、いろいろ分からないことが多いのですが、
こちらのサイト記事の様な制作情報を公開されていただいて、本当に有難く感じております!(実は印刷してほぼ毎日見ております。)
 

Re: お礼とご挨拶。

 投稿者:nekosan  投稿日:2015年 4月17日(金)00時40分40秒
返信・引用
  > No.727[元記事へ]

neko_saxさんへのお返事です。

> 私は、3オクターブ分の「足で踏んで鳴らせるMIDIキーボード」を自作したくて、現在、書籍を買って読んでみたり、いろいろと部品や道具を揃えたりしている最中の初心者です。
>
> いろいろ検索して参考になる記事を探していまして、こちらのサイトでの記事がかなり近いように思い、参考にさせていただいております。
> (記事を印刷して毎日、にらめっこしています・・・。)
>
> 同じようなMIDIシールドが作れるようになりましたら、これをタッチセンサー式に変えて作り上げたいと考えております。


neko_saxさん、こんにちは。

私のMIDIシールドだと、1オクターブだけでGPIOを
使い切ってしまっているので、やはりMCP23017あたり
でGPIOを拡張するのがお勧めかな、と思います。

http://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-4KNF

足で操作するとなると、実際にリズミカルに演奏する
のが主体だとおもうので、オクターブシフトしながら
だと厳しいかと。

MCP23017は、Arduinoのサンプルも公開されている
サンプルがいろいろあります。

http://tronixstuff.com/2011/08/26/tutorial-maximising-your-arduinos-io-ports/

http://learning.grobotronics.com/2013/07/ger-extra-16-lines-of-io-with-mcp23017/

MCP23017をI2Cで接続すれば、好きなだけ拡張できるので、
3オクターブに限らず、もっと増やすこともできそうです。

ただし、28ピンなので、複数繋ぐと、普通サイズのシールド
1枚に収めるのは難しいかも知れませんが。

 

レンタル掲示板
/79