小ネタ前夜祭(4重和音で現代音楽?)サイレントギターシンセ | ..あちゃ! no mic's

..あちゃ! no mic's

野良作業でウクレレサイズの楽器製作中(構造材としての剛性をテスト)

SANTA no Mix

追記20221114

ギターシンセの、土台は、完成、




元記事、お恥ずかしの、

ドミソ…レファラ…。

の偶奇性について調べてみたいことがある。
2のn乗で音階を足していくと…。
シュレーディ…の解が正しいとすれば。。。
コンチキショー…以下の取り組みは、そいつの抽象的な表現のつもり。
試してみたいことがある。
音楽理論を見て挫折。
こんなところで毒吐かなくってもいいんだけどなあ…。
それは可換である!
そこにはフィボナッチ数列が現れる!
それは無限である!
巨人の肩の上でニュートンが昼寝してる!
ヤケクソだあ?
音符を自分の理屈に合わせて並べたい。
それをするにはもう少し時間が必要だ。
恥ずかしいも糞もない!
顔と名前を隠してるんだし。
質問サイトへ直行?
泣きつかれても、しんねーし。
調子こいてんじゃねーよ?


で、現代音楽って(ヒョンデ)じゃないよーん。
小ネタ前夜祭ということで明日の「小ネタ100選」に期待!
いきなり、即興演奏してみる。
ちょっと、プログラムに手を加えて、機械にしかできないことをやってみる!
そのための準備を!

サンタはいつも大事なところでコケる。
失敗速報流れてるかも(爆笑?)。




1,2重和音と来て3重和音かと思いきや4重和音。
プログラムの上では6重和音もオッケーなんだけど、それは明日にとっておく。

まずは2重和音の遅延のカイゼン!
ディレイをほとんど全部削った。


ところが、3重和音となると、ディレイがないとRaspberryPiが飛んじゃう。


これが最終形。
3弦同時に押えることが出来ない。
たぶん、音にばらつきがあるのは、指で同時にフレットに接触させることが出来ていないから。

で、明日のコンサート?に間に合うかどうかわからないけど、以下の準備。
ここまで書くと分かるでしょう?
オンボルテージ?回路の安定と同時に、LED的レーザーも同時にチカ!

古い半導体レーザー君とはお別れ。
ソーラーLEDピックアップとゲージオンボルテージが合体間近。


Arduinoのスケッチ。
MocoLUFAさまさま。
ありがとうの礼を言っていない…。

#include <MIDI.h>


MIDI_CREATE_DEFAULT_INSTANCE();


int i;

int j;

int k;

int sign;

int waon[7];

int notenumber[]={0,72,74,76,77,79,81,83,84,86,88,89,91,93,95,96,98,100,101};

int gaugePin = 2;


#define fretPin_1 8

#define fretPin_2 9


void setup(){

  MIDI.begin();

   // Serial.begin(9600);

     pinMode( 2, OUTPUT);

     pinMode( 3, OUTPUT);

     pinMode( 4, OUTPUT);

     pinMode( 5, OUTPUT);

     pinMode( 6, OUTPUT);

     pinMode( 7, OUTPUT);

     pinMode( fretPin_1, INPUT);

     pinMode( fretPin_2, INPUT);  

}


void loop() {

  for(i = 1 ; i < 19 ; i++){ 

    SoundRead();

    j++;

    gaugePin++;

  }

 if(sign == 1){

   PLAY();

 }

  k = 0;

  sign = 0;

  gaugePin = 2;

  for(j = 1 ; j < 7 ; j++){

     waon[j] = 0;

  }

  j = 1;

}


void SoundRead ()

{

  digitalWrite(gaugePin,HIGH);

  delay(50);

     if(digitalRead(fretPin_1) == LOW && digitalRead(fretPin_2) == HIGH){

        waon[j] = i;

        sign = 1;

     }

     i = i + 1;

     delay(0);

      if(digitalRead(fretPin_1) == HIGH && digitalRead(fretPin_2) == HIGH){

        waon[j] = i ;

        sign = 1;

     } 

     i = i + 1; 

      delay(0);

      if(digitalRead(fretPin_1) == HIGH && digitalRead(fretPin_2) == LOW){

        waon[j] = i;

        sign = 1;

     }

      delay(0);

  digitalWrite(gaugePin,LOW);

  delay(0);

}


 void PLAY ()

 {

     k = waon[1];

     if(k != 0){

        MIDI.sendNoteOn(notenumber[waon[1]], 500, 1);

        delay(5);

     }

     k = waon[2];

     if(k != 0){

        MIDI.sendNoteOn(notenumber[waon[2]], 500, 1);

        delay(5);

      }

     k = waon[3];

     if(k != 0){

        MIDI.sendNoteOn(notenumber[waon[3]], 500, 1);

        delay(5);

     }

     k = waon[4];

     if(k != 0){

        MIDI.sendNoteOn(notenumber[waon[4]], 500, 1);

        delay(5);

      }

     k = waon[5];

     if(k != 0){

        MIDI.sendNoteOn(notenumber[waon[5]], 500, 1);

        delay(5);

     }

     k = waon[6];

     if(k != 0){

        MIDI.sendNoteOn(notenumber[waon[6]], 500, 1);

        delay(5);

     }

        delay(300);

        

     k = waon[1];

     if(k != 0){

        MIDI.sendNoteOff(notenumber[waon[1]], 0, 1);

        delay(5);

      }

     k = waon[2];

     if(k != 0){

        MIDI.sendNoteOff(notenumber[waon[2]], 0, 1);

        delay(5);

      }

     k = waon[3];

     if(k != 0){

        MIDI.sendNoteOff(notenumber[waon[3]], 0, 1);

        delay(5);

      }

     k = waon[4];

     if(k != 0){

        MIDI.sendNoteOff(notenumber[waon[4]], 0, 1);

        delay(5);

     }

     k = waon[5];

     if(k != 0){

        MIDI.sendNoteOff(notenumber[waon[5]], 0, 1);

        delay(5);

     }

     k = waon[6];

     if(k != 0){

        MIDI.sendNoteOff(notenumber[waon[6]], 0, 1); 

        delay(5);

     }

 }