RRR日記(5)
長嶋 洋一
2025年1月3日(金)
ボストンで50回目のICMCがあるので応募してね・・・というCFPが届いてきたICMAは、去年末に断捨離の一環としてrenewalしないという選択をしたので、このような情報がいつまで届くかは不明、という2025年の年明けがやってきた。
元日の晩には久しぶりに博多から帰省した長男、そして近隣の次男と共にJoyJoyサンカラ4時間を堪能したのだが、毎週欠かさず歌唱力維持のためにヒトカラしている父に比べて、カラオケなど忘れるほど久しぶりだという息子たちの歌うこと歌うこと。 まだまだ頑張らねば、と思い知らされた新年である。
執筆者への納本として届いたのに続いて、会員向けの郵送でも届いたので、日本技術士会「技術士」誌の特集記事として執筆した この記事 もWebに正式に置いた(日本技術士会のHPでも公開されるらしい)。 奈良学園大の紀要に投稿した論文も、紀要の別刷が届いたら公開となる。
これで当面の目標としては、今月一杯が発表応募期限となっている、日本音楽即興学会大会(神戸大)への応募というのが第一となる。 ネタ的には、ちょうど進めつつある、テルミン奏者の竹内正実さんとのプロジェクト(→ウェルネスに近いテーマ)が、音楽療法として歴史のある日本音楽即興学会のテーマの一つにうまく絡められたら・・・という作戦を温めているのだ。
ネットからの記事として、 本州最長クラス「行き止まりローカル線」の終着駅に行ってみた というのも知った。 「行き止まり」と言えば、何といっても 最北端を攻めた旅2017 の以下の「稚内駅」なのだが、乗り鉄としては、ちょっと気になる記事だったのでここにリンクを置いておき、いずれ何かのイベントに引っ掛けて出掛けるチャンスを待つことにした。
昨日から今日の昼過ぎまでかけて、大晦日〜元日に見られなかったテレビ番組の追いかけチェック(録画/tver)に費やして「格付けチェック」・「月曜から夜ふかし」・「おもしろ荘」などを消化し、さらに「箱根駅伝」(往路・復路)も断片的にリアルタイムで視聴し、そしてようやく午後になって、「Arduinoテルミン」の続き、という宿題に追い付いた。
実はまだ、懸案だった「周波数データのディジタル転送」に関するアイデアは完全にクリアになっていない状態なのだが、前回のArduino Nano[1]の「test012.ino」で「過去2回のデータの(移動)平均」というのにちょっと良さげな感触があったので、まずはこれを「10段の移動平均」に改訂、実験してみた。 しかし明らかに、10段では確かに周波数の変動は平滑されるものの、肝心のレスポンスが体感として明らかに悪化したので(指先からの細かいビブラートが鈍ってしまう)、結論として5段の移動平均とした「test013.ino」にまとまった。
そして今度は音源のArduino Nano[2]の「test111.ino」のサイン波を他の音色にしてみよう・・・と、まずMozziで遊んでいた2021年11月末の Sketching日記(12) を発掘して、Mozziのサンプルが並ぶ このページ から、「PWM_Phasing」というのを見つけて、ちょっとだけ変更して、「test112.ino」というのを作ってみた。 音色は音域と関係するので、ここでは基準ピッチをオクターブ下げてあるが、detuneのピッチを「F」と「F*0.99」とさせてみると、上のようになかなかいい感じなものが出来た。 YouTube動画 でどれだけ伝わるかは不明だが、新年早々、こういうところからスタートというのは、まずまずのところだろう。 これで今夜は、気持ち良く「ババ抜き最弱王」を見ることが出来そうだ。
2025年1月4日(土)
高校サッカー選手権で過去に2度優勝している静岡学園が、準々決勝で敗れるところをライヴで見届けた。 試合全体で圧倒的に攻めていた(シュート数は9対1)のに、最後の決め手を欠いて得点できずPK戦で負けたのだが、これはデジャヴのように、Jリーグのエスパルスとジュビロで何度となく見てきた「静岡県サッカーの弱さ」であり、さらにはW杯などで何度となく見てきた「日本サッカーの弱さ」だった。
そんな午後には、Arduinoテルミン実験の音源部分: Arduino Nano[2]に関して、 このページ の「ReverbTank_STANDARD」というのを参考に、「リバーブのかかったサイン波」として「test113.ino」というのを作ってみた(完成度に問題があったのでYouTube記録などはパス)。 これにより、もしかすると、頑張れば「エフェクトのかかったサウンドもMozziで出来るカモ」というところまで確認できた。2025年1月5日(日)
遂にこの日がやってきた。 思えば去年の暮れ、この日記の Part(4) のラスト付近、「2024年12月27日(金)」のところに書いて以来、この年末年始は、布団に入ればCPAP機器と格闘しつつ(寝ても覚めても)、断片的に何度となく頭の中で思考実験してきたアイデアを実験する時がやってきた。 キーワードは「power」と「mantissa」なのだが、敢えてYahooやWikipediaで調べずに過去の記憶を掘り出してきたのだが、ここにきて全体が整理されたので、ようやく mantissa を眺めてみて、構想が正しかったと確信したのだ。
キーワード「power」・「mantissa」は上のWikipediaでは「exponent」・「mantissa」とされていたが、かつて楽器メーカで音源LSIの設計に取り組み始めた頃、職場の先輩(近藤さん高氏さん)から米国の某特許を解説してもらっていた時には「power」・「mantissa」だった。 僕が 作るサウンドエレクトロニクス の 第4章 と 第5章 で解説したように、楽器の音源として「ピッチ(musical pitch)」を設定する原理としては、大きく「トップオクターブ方式」と「波形読出し位相累算方式」の2種類があり、同じ「周波数データ」に対して、前者はピッチが高いほど周波数の精度が悪くなり、後者はその逆になるという特徴がある。
現在、実験しているArduinoテルミンの場合には、ピッチ設定のArduino Nano[1]から「周波数データ」が直接パラレル転送されて音源のArduino Nano[2]でMozziサウンド合成するのだが、「周波数データ」は12ビット幅であり、これをリニアのまま使用すると、周波数が高い領域では精度がまずまず(周波数を表現するに十分なビット幅)なのに対して、周波数が低い領域(数百Hz以下)では、整数の切り捨て誤差によって、聴感上だいぶ精度の悪さが気になる。 なんせ、例えば220Hz〜440Hzというオクターブではデータが220分割しかないので、とても12等分平均律と合奏できるような音階を正しく生成できないのである。 今回はまず、以下のように12ビットの「周波数データ」を定義してみたので、あとはそれぞれのArduinoに実装するだけである。上の定義は、音源であるArduino Nano[2]の側から見たものなのだが、これを試しに実装したところで確認する方法がない。 一方、上流のArduino Nano[1]はこの定義に従ったディジタル伝送データをまず作らないといけないのだが、シリアルモニタで確認できるので、順序としてはこちらを先にすることになる。 せっかくなので、入力として「設定周波数データ」(Hz単位)が与えられたとして、この定義の12ビットを生成するアルゴリズムを以下に整理してみることにした。 これはまぁ、Arduino IDEでいきなり試行錯誤をゴリゴリ書き出すよりも、きちんとした方法(プログラミング)ということになる。
- 周波数データ(12ビット幅)を上位「power」3ビットと下位「mantissa」9ビットに分割する
- 「power」3ビットには7を加算する → これを pow(7〜14) と呼ぶ
- 「mantissa」9ビットの最上位に「隠れビット」(1)を加えて10ビット幅(512〜1023)にする → 0.5≦仮数<1
- 最終的な周波数はfloat演算で「2^pow × mantissa/1024」Hz
- 周波数の最小値は、power=0 で pow=7、仮数=0.5 なので 128 * 0.5 = 64Hz
- 周波数の最大値は、power=7 で pow=14、仮数=ほぼ1 (1023/1024) なので 16384 * ほぼ1 = ほぼ16384Hz
- 各オクターブ内の周波数はそれぞれ、9ビット精度(512〜1023)で刻まれる
ちなみに、入力周波数がfloatであるものの、元々カウンタを使ったArduino Nano[1]のスケッチからはintのデータが入ってくるので、小数点以下までの精度の周波数とするには、整数のみ対応しているmap()関数をfloatにする必要がある。 ところがちょっと調べてみると、ちゃんと ここ に、以下のような美しい方法が出ていた。
- 入力周波数データ(float)を F (Hz) とする。以下はfloat演算で、結果のmantissaは切り捨てて整数にする
- F < 64 の場合は「使わない周波数」(→発音しない)として power=0, mantissa=0 にする (変換終了)
- あるいは もし F < 128 なら power=0 , mantissa = F * 8 - 512 (変換終了、以下同じ)
あるいは もし F < 256 なら power=1 , mantissa = F * 4 - 512
あるいは もし F < 512 なら power=2 , mantissa = F * 2 - 512
あるいは もし F < 1024 なら power=3 , mantissa = F - 512
あるいは もし F < 2048 なら power=4 , mantissa = F / 2 - 512
あるいは もし F < 4096 なら power=5 , mantissa = F / 4 - 512
あるいは もし F < 8192 なら power=6 , mantissa = F / 8 - 512
あるいは power=7 , mantissa = F / 16 - 512- このPowerを周波数データ(12ビット幅)の上位「power」3ビットとする
- このmantissaを周波数データ(12ビット幅)の下位「mantissa」9ビットとする
これで準備は出来たので、さっそくArduino Nano[1]での実験を開始した。 ここまで動いていた最新のスケッチは「test013.ino」(5段の移動平均処理まで)である、と確認した上で、新たに「test014.ino」でスタートである。 繋がれたArduino Nano[2]は何かヘンな音を出すかもしれないが、アンプのボリュームを絞って当面は無視することになる。
・・・そしてこの部分に午後たっぷりの格闘があったのだが、色々あったものの、結果としては、ほぼ「想定していたもの」が完成した。 以下は周波数計測のArduino Nano[1]のスケッチ「test014.ino」である。
以下は音源担当 : Arduino Nano[2]のスケッチ「test114.ino」であり、素直にサイン波を鳴らすというものである。int i, pitch[5]; float mapfloat(float x, float in_min, float in_max, float out_min, float out_max){ return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } void setup() { OCR0A = 1; OCR2A = 249; OCR2B = 125; OCR1A = 32767; TCCR0A = _BV(WGM00) | _BV(WGM01) | _BV(COM0A0); TCCR0B = _BV(WGM02) | _BV(CS02) | _BV(CS01); TCCR2A = _BV(COM2B1) | _BV(COM2B0) | _BV(WGM21) | _BV(WGM20); TCCR2B = _BV(WGM22) | _BV(CS22) | _BV(CS21); TCCR1A = _BV(WGM10) | _BV(WGM11) | _BV(COM1A0); TCCR1B =_BV(WGM12) | _BV(WGM13) | _BV(CS12) | _BV(CS11); for(i=2; i<4; i++) pinMode(i, OUTPUT); for(i=6; i<19; i++) pinMode(i, OUTPUT); Serial.begin(115200); } void loop() { int freq, latest; float ffreq; while(digitalRead(6)){} while(!digitalRead(6)){} OCR1A = 32767; TCNT1 = 0; while(digitalRead(6)){} latest = 10000 - (int)TCNT1; if(latest > 1360) latest = 1370; for(i=4; i>0; i--) pitch[i] = pitch[i-1]; pitch[0] = latest; freq = 0; for (i=0; i<5; i++) freq = freq + pitch[i]; freq = freq / 5; if(freq < 510) ffreq = 0.; else if(freq > 1370) ffreq = 4000.; else ffreq = mapfloat((float)freq, 510., 1370., 64., 4096.); Serial.print("ffreq = "); Serial.println(ffreq); if(ffreq < 64.0){ freq = 0; } else if(ffreq < 128.0){ freq = (int)(ffreq * 8.0) - 512; } else if(ffreq < 256.0){ freq = 0b001000000000 | ((int)(ffreq * 4.0) - 512); } else if(ffreq < 512.0){ freq = 0b010000000000 | ((int)(ffreq * 2.0) - 512); } else if(ffreq < 1024.0){ freq = 0b011000000000 | ((int) ffreq - 512); } else if(ffreq < 2048.0){ freq = 0b100000000000 | ((int)(ffreq / 2.0) - 512); } else if(ffreq < 4096.0){ freq = 0b101000000000 | ((int)(ffreq / 4.0) - 512); } else if(ffreq < 8192.0){ freq = 0b110000000000 | ((int)(ffreq / 8.0) - 512); } else { freq = 0b111000000000 | ((int)(ffreq / 16.0) - 512); } digitalWrite(2, (freq & 0b100000000000) >> 11); digitalWrite(7, (freq & 0b010000000000) >> 10); digitalWrite(8, (freq & 0b001000000000) >> 9); digitalWrite(18, (freq & 0b000100000000) >> 8); digitalWrite(10, (freq & 0b000010000000) >> 7); digitalWrite(11, (freq & 0b000001000000) >> 6); digitalWrite(12, (freq & 0b000000100000) >> 5); digitalWrite(13, (freq & 0b000000010000) >> 4); digitalWrite(14, (freq & 0b000000001000) >> 3); digitalWrite(15, (freq & 0b000000000100) >> 2); digitalWrite(16, (freq & 0b000000000010) >> 1); digitalWrite(17, (freq & 0b000000000001) ); }以下は音源担当 : Arduino Nano[2]のスケッチ「test112.ino」をこのフォーマットに改訂しつつ、デチューンのフランジャー効果でなくてオクターブ違いに重ねたものである。#include <MozziGuts.h> #include <Oscil.h> #include <tables/sin2048_int8.h> Oscil <SIN2048_NUM_CELLS, AUDIO_RATE> aSin(SIN2048_DATA); #define CONTROL_RATE 128 int i; void setup() { for(i=2; i<4; i++) pinMode(i, INPUT); for(i=7; i<9; i++) pinMode(i, INPUT); for(i=10; i<18; i++) pinMode(i, INPUT); startMozzi(CONTROL_RATE); aSin.setFreq(440); } void updateControl(){ float man, pitch; int pw, sum = 0; sum = sum | (digitalRead(2) << 11); sum = sum | (digitalRead(7) << 10); sum = sum | (digitalRead(8) << 9); sum = sum | (digitalRead(3) << 8); sum = sum | (digitalRead(10) << 7); sum = sum | (digitalRead(11) << 6); sum = sum | (digitalRead(12) << 5); sum = sum | (digitalRead(13) << 4); sum = sum | (digitalRead(14) << 3); sum = sum | (digitalRead(15) << 2); sum = sum | (digitalRead(16) << 1); sum = sum | digitalRead(17); pw = (sum >> 9) + 7; man = ((float) (sum & 0b111111111 | 0b1000000000)) / 1024.; pitch = ((float) (1 << pw)) * man; aSin.setFreq(pitch); } AudioOutput_t updateAudio(){ return MonoOutput::from8Bit(aSin.next()); } void loop(){ audioHook(); }#include <MozziGuts.h> #include <Phasor.h> Phasor <AUDIO_RATE> aPhasor1; Phasor <AUDIO_RATE> aPhasor2; #define CONTROL_RATE 128 int i; void setup() { for(i=2; i<4; i++) pinMode(i, INPUT); for(i=7; i<9; i++) pinMode(i, INPUT); for(i=10; i<18; i++) pinMode(i, INPUT); startMozzi(CONTROL_RATE); } void updateControl(){ float man, pitch; int pw, sum = 0; sum = sum | (digitalRead(2) << 11); sum = sum | (digitalRead(7) << 10); sum = sum | (digitalRead(8) << 9); sum = sum | (digitalRead(3) << 8); sum = sum | (digitalRead(10) << 7); sum = sum | (digitalRead(11) << 6); sum = sum | (digitalRead(12) << 5); sum = sum | (digitalRead(13) << 4); sum = sum | (digitalRead(14) << 3); sum = sum | (digitalRead(15) << 2); sum = sum | (digitalRead(16) << 1); sum = sum | digitalRead(17); pw = (sum >> 9) + 7; man = ((float) (sum & 0b111111111 | 0b1000000000)) / 1024.; pitch = ((float) (1 << pw)) * man / 2.; aPhasor1.setFreq(pitch); aPhasor2.setFreq(pitch * 0.5f); } AudioOutput_t updateAudio(){ char asig1 = (char)(aPhasor1.next()>>24); char asig2 = (char)(aPhasor2.next()>>24); return ((int)asig1-asig2)/2; } void loop(){ audioHook(); }
YouTube動画 ではまず、前半では既に書き込んだスケッチ「test114.ino」で鳴らして、後半ではUSBをモバイルバッテリーからパソコンに繋ぎ替えて、コンパイル→アップロードして音源を切り替えるという「荒技」をやってみた。 USB接続とか周囲の電磁環境が変わるとアンテナ特性が変化してしまうものの、まぁ、とりあえず去年からの懸案はなんとか乗り越えられた感じで、いよいよ明日からはお仕事も始まるが、まずまずの新年となった。
2025年1月6日(月)
朝には開院の30分前から待って、いつもの耳鼻科通院(鼓膜アトピー処置+薬の処方+SAS予後報告)にトップバッターで行った。 先月末に日赤で経過診断を受けた際に、CPAP装置からの圧力が口から漏れて目覚める点を相談していたのだが、結論から言えば「口が開かないようにする」という手立てが決定的に必要なのだった。 それ以来の年末年始では、Amazonで仕入れた「唇止めテープ」と「3点式顎サポーター」をテイジン(CPAP提供)からの2点式顎サポーターに加えてガシガシに頭部を包囲することで、確かに日赤の院長が言うように「高圧で目覚めるのではない」(高圧の状態で無呼吸を避けて寝ている)という事を理解できた。 これを続けて、今月末には再び日赤での検査入院で、自宅の[装置+装備]一式を装着して生体計測すると、翌月の結果診断を受けて、この耳鼻科に対応が移管する(元々ここから紹介状が日赤に行ったので戻ってくる)ことになる。今日は晩には某バイト[1]に出掛けて、いよいよ目前になってきた受験生を応援するのだが、それにも増して、今日という日は「Arduinoテルミン」プロジェクトにも大きな進展となる節目のようである。 竹内さんからは、白木のマトリューシカが届くことになり、さらに僕からの提案で、このプロジェクトに照岡さんを巻き込むことになった。 これはもう「鬼に金棒」というやつで、アナログ要素が非常に大きいテルミンでは、またまた照岡さんパワーが炸裂することになるだろう。 もちろん僕も、こんな面白い実験(それも手元で超ローコストに実験試作が可能)は滅多にないので、ところどころで学会発表のネタも探りつつ、ますます頑張っていくことになりそうだ。
そして、近日中に竹内さんから実験用筐体(白木のマトリューシカ)が届くということで、昨日のArduinoスケッチのちょっとした表記バグ改訂やゼロ値処理を加えたスケッチを、新たに上のように動作確認・整備した。 今後はこれをスタートラインとして進めていくことになる。
- Arduino Nano[1]のスケッチ「test021.ino」 --- ピッチ検出template、5段移動平均、浮動小数点出力
- Arduino Nano[2]のスケッチ「test121.ino」 --- 浮動小数点入力 → サイン波(ゼロ処理)
- Arduino Nano[2]のスケッチ「test122.ino」 --- 浮動小数点入力 → デチューン矩形波(ゼロ処理)
さらに今朝、フト目覚めた瞬間に思い付いたのが、この実験中のテクニックを駆使した、ちょっと面白そうな「新楽器」のアイデアである。 これはもう、インパクト勝負ということで、ほぼ技術的には最終的な結論まで「見透かして」あり、あとはその存在感を際立たせる外見上の作戦まであれこれ浮かんできた。 何か、ライヴの機会がやってきたら、まずはこれを制作していくことにした。
日本技術士会のページに行ってみると、上のように会報「技術士」に寄稿した原稿(なんとカラー版)だけでなく1月号全部が、会員でなくてもゲット出来るようになっていた。 ただし、おそらく オリジナル はいずれ消えてしまうだろうから、とりあえず ローカル にも置いてみた。 こういうのを永続的に公開していた方が「社会に貢献」したことになると思うのだが、まぁいろいろ大人の事情で続かないのだろう。
そして去年あたりから、何故か秋月電子に行けなかった謎も解決した。 例のやつで、僕の使っているFirefoxのバージョンがだいぶ古いので、秋月電子のサイトから弾かれていたのだが、何とかOSのバージョンとしてはまだOKらしく、Safariでアクセスしたら無事に繋がった。 そこで、色々とおもちゃを作ってきた某バイト[2]の関係で、ロボット制御のマイコンに挿すプラグを補充しようか・・・と「オーダー」して、代金をJapanNet銀行(名前がPayPay銀行に変わったらしい)サイトから「振り込み予約」した。
ところがその後、秋月電子の「オーダー履歴」を見て、どうも過去に注文したやつと間違えた・・・と判明して、泣く泣く(間違い品は受け取って捨てる)、正しいものをさらにオーダーして、この代金も再びJapanNet銀行に行って「振り込み予約」した。 そしてさらに両サイトを良く眺めてみると、どうも秋月電子は銀行振込の場合には入金確認後に発送手続きに取り掛かる(入金が無ければキャンセルと見做す)とあり、一方でJapanNet銀行の振り込み予約(明日の朝9時に処理)には「キャンセル」手続き用のボタンがあった。 結局、間違った方の振込予約はキャンセルして、秋月電子には駄目モトでその顛末(送金された方だけ発送してね)を「注文に関するお問い合わせ」フォームからメイルしてみた。 これで無事に無駄な誤注文キャンセルが処理されたとすれば、地球にも僕の懐にも優しく、万々歳である。2025年1月7日(火)
自分が この記録 に載せていた「第18回例会」で、竹内さんが「テルミン氏生誕100年を迎えて〜ロシアに於けるテレミンの昨日」という発表と共にデモ演奏していた・・・という指摘を受けて発掘してみれば、なんと僕も同じこの研究会で発表していた。 しかし当時は、おそらくオンドマルトノのコンサートやイメージラボでやっていた「サイバー尺八」や大阪芸大見学ツアーなどの印象の陰に隠れていたためか、僕にとって竹内さんは「どこかでお会いしていたような・・・」という存在でした、という、とても失礼な失態をしでかしていたのだった(^_^;)。 まぁ、改めて正式にお会いしてお話して、新しいプロジェクトがスタートしたので、全ては結果良しとしよう。
そんな今朝も、まずまず快適なCPAPによる熟睡からの起床の瞬間に、またまたアイデアが浮かんできた。 こういうのはメモしておかないと忘れてしまうので、ネタバレのようだが、どうせ誰もやらないと半確信しているので、上のように(後日の追記の余白まで用意して)書いてしまおう。 分かる人には分かるが謎めいて書いているのはもちろんのことである。
- ピッチ検出Arduino[1]の浮動小数点ディジタル出力ラインを74HC245でバッファリングして、多数のMozzi音源Arduino[2]群に出す(完全同期追従協奏)
→ 個々に生SP出力、全体を縄文杉のようにレジンで固めた「大樹」の造形へ- ピッチ検出Arduino[1]のシリアルモニタ出力(115200) → Maxで受けて音源/エフェクトはMax化(敢えて愚策)
- ピッチ検出Arduino[1]を2個用いて、片方はピッチ、片方は音量に使う (本物テルミン風味)
- ペンタトニックだけでなく各種スケールにしたら面白いのか検討
午後には上のように、日本音楽即興学会・第16回大会(2025年3月・神戸大)への発表申込みGoogleフォームの2ページ目を開いたまま、深く深く考察と作文の時間となった。 なんせ、たしかJASMIMの場合には、ここで書いた「要旨」がそのまま当日の予稿に載るというシステムだったので、如何にここで学会の「形式的採択プロセス」を通過するために「キャッチーなテーマ」かつ「中身がある体」で記述するか、というのが最大の勝負なのだ。 実験をちょっと始めたといっても、まだまだ当面のArduinoテルミンは姿もなく(今日の夕方にようやく筐体となる白木のマトリューシカが届く予定)、あるいは竹内さんとのコラボレーションもまだ明文化されておらず、さらに水面下で照岡さんが参加したというのもマル秘にしておきたい。 しかし、これまで幾度となく応募の時点で実体が伴わないまま発表応募して、当日までに実現してきた修羅場の経験をここで生かさない手はないので、ここは(1)竹内さんテルミンPJと、(2)バイオフィードバック・リハビリテーションと、(3)ウェルネス・エンタテインメントと、(4)NIME的新楽器/生体計測ネタと、のいずれにも「接触せずに静電誘導だけ」するような記述を目指して苦闘した。
関連して、これまで一度も見たことのなかったWikipediaの テルミン を読んでみると、なかなかの物語だったが、いくつか発表申込のためのヒントも新たに発見できた。 また、Moog社の Theremini(マニュアル)というのは、エフェクタまで内蔵した「テルミン風インターフェースを持つシンセ」だったのだが、やはり デモ動画 を見ると、ペンタトニックに限らず「スケール」を割り当てると、どうしても「いかにも」感が表面化してきて、これはちょっと残念な感じだった。 別なところの デモ動画 のお姉ちゃんはピアノ出身なのか、ちょっと音感(の精度)が悪いことに気付いていないのが、これも残念だった。 要するに、既に100年の歴史を超えたテルミンというのは、あまりに容易な発音原理と操作原理のために、逆にその古典カリスマ的なイメージに縛られているようで、これはクラシックとかポップス/ロックという「音楽」そのものを超えていかないと、ちょっと新しい可能性というのは難題なのだろう。 突破口はもしかして、案外「リハビリ」なのかもしれない。
2025年1月8日(水)
今年も卒業生の知世ちゃんからオリジナルのカレンダーが届いた。 これはずっと、SUACの僕の研究室で毎年、飾られていたものであり、現在では僕の自室で輝いている。 知世ちゃんは、 僕のサイト で「山村知世」と検索すれば厖大なリンクが並んでいるように、現在も焼津で、主として静岡県で活躍するイラストレータなのだ。 さっそく以下のようにスキャンしてみたが、今年は初めてフォントで「セリフ」が入っていたり、表紙には構想時の手描き絵コンテ風が並んでいたり、ちょっと新しい境地に挑戦している印象がある。 これからも活躍していって欲しい。
今日は午前中に内科のかかりつけ医に行って常用薬の処方を受けてから薬局に行く、という散歩があり、午後には今年もJoyJoyヒトカラ6時間という修行のスタートである。 明日にはいよいよArduinoテルミンの新たなスタートとなるが、その一方で、またまた某バイト[2]ロボット教室の生徒たちを喜ばせるようなArduinoゲームの構想が浮かんできたので、こちらにも着手していくことになる。 クロネコヤマトからのメイルによれば、秋月電子に注文した部品も今日のどこかで宅配ボックス(ガスメーター)に届きそうだし、いい感じに新年が始まってきた。
竹内さんからのOKも出たということで、日本音楽即興学会の大会に発表応募した内容は上のようなものであり、ちょっとタイトルが「敢えてダサい」のだが、これは本当に敢えてなのだ。 これまでネーミングで「昭和」だの「平成」だのを付ける、というのは毛頭思いつかなかったのだが、何故か「Reiwa」というのはもしかして後に英語版にしても通用するような言葉の響きがあるのと、「テルミン誕生から1世紀以上」・「まさに温故知新」というあたりが、どうもこのタイトルを思い付いた原動力のようで、かねて学生によく言ってきた「作品の構想時からネーミング/タイトルは重要。おいおいそれに引っ張られてデザインが進むよ」というのを、自分にも適用する感じとなった。令和Thereminプロジェクト 音楽に興味があれば誰でも知っている「テルミン」という楽器が発明されてから1世紀以上が経過した。「触れない楽器」テルミンとは、アンテナと人間の手との距離 (電気的には静電誘導)に応じた連続的なピッチを鳴らす単音楽器であり、Moog社の本格的なものから学研「大人の科学」付録テルミンやおもちゃ的な楽器玩具まで、 多くの「そういう楽器」群を生み出してきた。30年前、御茶ノ水で買ったトランジスタ3石の安価な「イシバシテルミン」は音量コントロールも出来なかったが、現在は その半額で液晶表示付きの数十音色テルミンがAmazonから入手できる。 ロシアに渡って直系の演奏法を学んだテルミン奏者の竹内正実氏は、演奏活動だけでなくマトリューシカにテルミンを仕込んだ「マトリュミン」をアンサンブル楽器として 普及させ、289人の合奏というギネス記録を打ち立てた(2019)。竹内氏はコンサート出演中に脳出血を発症して後遺症で右半身に麻痺が残ったが、自身がリハビリを 続けながら左右の手の役割を入れ替えた「左利き」テルミン奏者として再起、マトリョミン演奏を脳卒中リハビリや認知症予防に活用する活動も進めている。 これまで多くの新楽器・生体計測インターフェースを開発してきた筆者は、竹内氏との新しいコラボレーションとして、この令和の時代にあらためて「テルミン温故知新」を 目指すプロジェクトを進めている。本発表では、大きく4つの方針 : (1)竹内氏が目指す新・マトリュミンの実験・試作開発への協力、(2)バイオフィードバック・ リハビリテーションの道具として触覚/触感センサを活用してきた発展から「触らない」意義の再発掘、(3)ウェルネス・エンタテインメントとして人間の即興性を解放する 音楽療法的ツールとしてのテルミン、(4)テルミン的な「新楽器」のための新しい音楽コンセプトの探求、について報告・議論したい。2025年1月9日(木)
昨日のJoyJoyヒトカラでは6時間で59曲を完走し、CPAPによって体調が良好であることを実感できた。
IAMASの小林茂さんから去年の暮れ(12/28)にMACS-MLに届いていたのは、「2025年5月27日から30日まで、大阪国際会議場+オンラインで2025年度 人工知能学会全国大会(第39回)が開催されます。この機会に、徳井直生さん(Qosmo・Neutone)と共同でオーガナイザーを担当するセッション『人工知能と創造性 ― 人の模倣を超えて』を提案いたしました」というもので、「昨今のAGI(汎用人工知能)に関する言説を読むにつれ、人間という生物の知的な能力をintelligenceという尺度のみで測ろうとすることの危険性にはあらためて自覚的であるべきだと思えてきます。だからこそ、人工知能と人間の協働により、コンセプトそのものを拡張し、新たなジャンルを生み出すような『変革的創造性』を実現するにはどうすればいいかという議論の重要性は、セッション提案時からさらに増していると感じております」・「芸術、工学、哲学などの領域を越境的に活動する研究者・実践者の参加により議論したいと考えておりますので、該当する活動に取り組んでいる方は、ぜひご応募ください」という素晴らしい企画だった。 流石に即応できない重要テーマなのでGmailの「保管倉庫」に入れて温めていたのだが、(やや言い訳がましいが)もろもろの事情から、無理矢理にこじつけた内容での無理矢理な発表応募については断念バーグする、と決めた。 ただし、もしかするとオンライン聴講するかもしれない。
竹内テルミンPJについては、遂に照岡さんも参加して、関連情報を3人同報メイルで共有する形がスタートした。 竹内さんが当面求めている「新マトリュミン」については試作開発が進んできたモデルというのがあり、マル秘の回路図も提供いただいたが、僕が実験していくものはこれとは別に進む方向性となった。
そして、久しぶりに本格的にテルミンについて考えてみる機会を得たためか、関連したあれこれの思いが去来し、CPAPと共に夢と現の狭間で沈思黙考する日々となっている。 かつて音楽情報科学研究会の「夜のセッション」で議論していた、「誰でも簡単に演奏できる楽器 vs 修練を積まないと演奏できない楽器」論争とか、リハビリや音楽療法における「目標」や満足度(ウェルネス)の意味とか、「協奏」と「即興」の関係(テルミンの長所である「曖昧さ」はこの点では諸刃の刃でもある)とか、テルミン最大の弱点である「無音」・「間」の音楽的な意義とか、かなり本質的な課題を改めて色々と考えることになり、これはしばらく続きそうな予感がしている。
『Lenovoは1月7日、ボタン1つで画面が上に伸びるビジネスノートPC「ThinkBook Plus Gen 6 Rollable」を「CES 2025」で発表した。「世界初のローラブルディスプレイ搭載AI PC」という』というニュースも届いたが、いやいやこれは、変態的で凄い。 専用キーを押すか、カメラに向けてハンドジェスチャーをすると、14型のディスプレイが縦方向に伸び、最大16.7型になるとのことで、シート状のディスプレイがキーボードの下に巻き込まれていて、それが出てくるようだが、喜んで「伸びーる」「縮ーむ」を繰り返していたら、壊れないのか心配になってしまう。 目の付けどころがシャープなこういうアイデアは日本から出てきて欲しかったが、まぁ落ちぶれた現在の日本メーカではもう無理なのだろうか。
そして午前中にホームセンターに行って「0.5mm銅板」を仕入れて、ハサミでチョキチョキと切って曲げたのをマトリューシカ上半身の上の方に(押し込んだだけで)固定し、マトリューシカ下半身の底部にはちょうどスピーカの大きさがぴったりだったのでドリルで穴あけして、銅板はワニグチで挟んだだけ、ダブルArduino基板も空中になんとなく固定されているだけ・・・という最初の「試作」が完成してしまった。 これまで3次元加速度センサ(重力の3次元成分を検出)でのテルミン的デモでは、センサの載ったArduino基板が水平からマイナス90度〜プラス90度までの大きな変化(上に上げたらピッチが高くなる)があったのに対して、たった10分ほど練習した YouTube動画 (近付けるとピッチが上がるというのはちょっと体感的に不慣れ)では、どうも調子が出なかった。 クラシックの有名な音楽が伴奏なのでYouTubeに叱られるかと思ったら、あまりに演奏が下手くそなので著作権によるストップも無かったのだが、おそらくクラシックのこの曲は著作権切れということなのかもしれない。 まぁ、とにかく最初の実験試作はこんな感じであり、「まだまだ改良の余地あり」というか、「これでは駄目」というのがはっきりしたのが収穫である。
2025年1月10日(金)
今日は夕方から某バイト[2]に出かけるだけの予定であり、世間は連休と言うが関係ない僕の予定としては、日曜日には今月から某バイト[2]の葵町教室が、これまでの午後のアドバンスに加えて午前のミドルも増えたり、月曜日には祝日も関係ない某バイト[1]で晩に出掛けるぐらいである。 この空いた時間には、1ステップ進んだArduinoテルミンの実験はちょっと棚上げして、何日か前に思い付いていた新しいArduinoシステム(まぁ一種のゲーム)でも作ってみたい。
本家MakerのMLからは、最近の色々なMakerたちの活動が紹介されたが、その冒頭にあったのは、上のようなGeorgia Tech College of DesignのRaghavasimhan Sankaranarayanan氏の「インド音楽を演奏するバイオリンロボット」だった。 YouTube動画 を見てみると、バイオリン演奏の「命」とも言えるビブラートは皆無で、さらにスタカートやアタックといったバイオリンの大きな魅力も全て捨象した上で、インド音楽のサーランギのようなサウンドに特化したものだった。 これはこれで素晴らしい味がある。
ここで思い出したのが、ニューヨークのLEMURである。 16年前の YouTube動画 を発掘したが、彼らはこの楽器ロボットをNIME2004の会場であるSUACに持ち込んで、木村まりさんの作品"GuitarBotana"の素晴らしいバイオリン即興のライヴ伴奏パートとして「伝説の名演」を行ったのだ。 この何度観てもゾクゾクする記録動画は僕の手元にあるのだが、ここに置くこともYouTubeに上げることも出来ず、これまでも講義の中でだけ学生に鑑賞させてきた。 まぁ、伝説は伝説ということで、あの場にいた人だけの伝説ということにしよう。
そして昼頃には このように 謎なハードウェアを1時間ほどで作って、あとは午後じゅうかかって、プログラミングに没頭した。 そしてとりあえずのバージョンが完成したところで、某バイト[2]に持参して、「ロボット教室」の生徒たちにウケた。 ウケただけでなく、まだ未完成なのだが、どのようにしたら面白くなるか、を小学生と真剣に議論した。 なんせ小学生というのは、「面白いゲームのプロ」なのだ。 これを受けて、明日からは改良のプログラミングである。
2025年1月11日(土)
昨日の午後、テルミン竹内さんからは「デジタル制御のマトリョミンについてあれこれアイデアをめぐらせています」という熱い長いメイルが届いていたようなのだが、Arduinoプログラミングに没頭していて気付かず、そのまま夕方に某バイト[2]に出掛ける時間になってしまったので、今朝まで放置してしまった。 まぁ、電子メイルというのは、僕が使い始めた1987年頃からの変わらない常識として、「およそ24時間以内にリプライすればいいもの」という存在なので、ケータイに届いたメイルに24時間追われる人はそれもいいが、これでもいいのだ。 なので今朝は朝イチでとりあえず以下のようにメイル(照岡さんも同報)した。 自分の書いたものであればここに転載するのもまぁ自由なので、せっかくだから一部を置いておこう。「認知症マトリョミン演奏サロン」の貴重な動画をありがとうございました。 マスクのために体験者のお二人の表情があまりわからないのですが、被験者のウェルネス(達成感・充実感など)を評価するためにこれまで心理学者は主として「事後のアンケート」を行ってきました が、演奏体験の短期記憶が危うい認知症クライアントでは、なかなか直前の動作補助体験の感想、あるいは音楽体験の全体の印象を客観的に回答するのは難しそうです。最近では脳波センシング とかfMRIで脳内活動を計測して、色々な感情での脳内活動データの蓄積とAIでディープラーニングさせれば、「本人が理路整然と語らなくても脳がどうだったか客観的に分かる」みたいな乱暴な 研究も報告されていますね。 今回はテルミンという存在そのものについても色々と考える機会となっていますが、それはあちこち色々なので、おいおい整理して共有したいと思います。 あの動画では二人の体験者が同じメロディーでなくハーモニー、つまり別々のメロディーを奏でているので、特に「知っているメロディーをなぞっている」のでない人の方は、ハーモニーの効果/意味 まで理解/体験するというのは、かなり高度なタスクのような気がしました。伴奏に対して皆んなで同じメロディーをなぞる、という協奏体験とは違うものになっていると思います。 「テルミンのような楽器の側に音の高さの基準がない楽器に取り組む場合、余程の熱意があるか勘所がよくないと、まるで音楽に近づけることは叶わず、失望に終わるだけかも」というのは、昔の 音楽情報科学研究会では、1996年に照岡さんと私が大阪芸大で竹内さんのテルミン演奏に接した頃、あるいはその7-8年前から、ずっと議論されてきたテーマです。「誰でも簡単に弾ける楽器を」 vs 「簡単に弾けないのが楽器の魅力」というやつです。これについてはここでは深入りしませんが、テルミンはまぁ、後者なので、難しさ(やり甲斐)がありますね。 私はサラリーマンの親父がピアノが高価で買えなかったので小5までバイオリンを習っていました。バイオリンはギターのようにフレットが無いので、常に鳴っている音に聞き耳を立てて、自分の中の 音階感、あるいは他者とのアンサンブルを聞くことになるので、音感が育ったことを親父に感謝しています。河合楽器に入社して新入社員研修でピアノの調律を1ヶ月やってみると、数セント以下まで 聞き分けられている(本物の調律師のレベル)と判明しました。後には音律の専門家である東京芸大の白砂先生とも交流し、自分が開発した電子ピアノに「裏モード」として、独学で整理研究した 55種類の音律 (https://nagasm.org/ASL/temper/) を選択できるように密かに仕込んで、実際に製品が世に出ました。(裏モードの入り方は秘密なので、実際にこれを渋谷KAWAIの店頭の 製品で鳴らしたのはたぶん私だけです) そんな私は大学時代に合唱団で指揮をしていました(合唱曲の作曲も独学[本屋に行けば「芸大和声」という教科書が入手可能]ですが、だいぶしました https://nagasm.org/ASL/chorus/ )。 そこで戸惑ったのですが、ピアノ出身者の歌う音感(協和感)がかなり悪いことでした。ピアノという楽器は、その鍵盤を弾けば間違いなくその音が出る・・・という暗黙の依存性があるために、バイオリン 出身の私からみれば驚くほど「ハモり感覚」に鈍感なのでした。アカペラの合唱で、4パートとか6パートとかの合唱で、私が「アルトはあと1枚、高めに」・「バリトンはちょっとだけ落として」などと 聞き分けて指示すると、ピュアなハモりが実現するのは手品のように驚かれていましたが、「指揮者の耳」は私の宝でした。 一方で、白鍵を適当に弾いてもDiatonic Scaleの枠組みで、あるいは黒鍵を適当に弾いてもPentatonic Scaleの枠組みでいずれも不協和音もなく音楽的に破綻していないので、デタラメに 白鍵だけ、あるいは黒鍵だけを弾いていても、人間は楽しいです。これは幼児が遊んでいるケースではっきり見えますし、この背景には人類が遺伝子として獲得したサウンド体験の調和構造があるので、 老若男女、人種性別年齢などを問わず、地球上に共通です。 テルミンとは、「余程の熱意があり」、「勘所がよい」人が取り組むと、非常に反応してくる楽器だと思います。ただしピッチの聞こえ方というのは大人になって後天的に成長するのには限界があり、一方で、 サウンドは聴覚的に聞こえていても、その微妙なピッチは聞こえない人(健常者)もいる、というのはいくつもの合唱団で指揮者をしてきた経験から、知っています。人によっては、手取り介入演奏動作と いうのは、行き先の見えないトレーニング(修行)になってしまうかもしれません。その一方で、可動域を動かした手に反応して、音楽的に気持ちいいスケール(調和感)が鳴ってくれる「知育玩具」 としては、幼児でも高齢者でも楽しめる(ウェルネス)道具となる可能性があると思います。 また、リハビリ/認知症対策とはちょっと違って、「音楽療法」の領域で、つまり既存の曲とか関係なく、自由に即興であのピロピロを鳴らすことで自分の潜在的な抑圧を解放する・・・というアプローチに ついても、日本音楽即興学会の場で学んできているところで、この可能性も考えたいです。 とりあえず、あれこれ書き散らしてしまいましたが、そういう色々を考えております。
そして午前中には運転手としてクルマを出したりしたのだが、お昼に帰宅してから午後の2時間ほどで、懸案だった仕様も追加してArduinoスケッチが完成し、記録としての YouTube動画 も撮ってみた。 回路図を描くほどのこともないので、接続情報を以下にメモしておくことにする。 LEDテープについては、最初は2本それぞれを操作するという想定で、敢えて両者とも「素数」として、LED[1]は31個、LED[2]は23個のLEDとして、それぞれにプッシュスイッチを付けたのだが、最終的にはスイッチを使うのは[1]の方だけとなった。
そして、 YouTube動画 で動いている(当面はこれにFixする予定)Arduinoのスケッチ「DoubleGame02.ino」は以下である。 いつものように即興的にプログラミングしたので、まぁ1週間もすれば自分でも解読困難となるだろう。
- Arduino UNO
- 電源はUSBにモバイルバッテリを繋ぐ想定
- +5VとGND間に10KΩのボリュームを繋いでその出力電圧はA0へ
- LEDテープ[1][2]の電源は5V、その根元にプッシュスイッチを付けて+5Vに10kΩでプルアップ(SW=OnでLow出力、SW=OffでHigh出力)
- D13 --- LEDテープ[1]のdata
- D12 --- LEDテープ[2]のdata
- D11 --- 圧電ブザーの+端子 (-端子はGND)
- D10 --- プッシュスイッチ[1]
- D9 --- プッシュスイッチ[2] ※ 現状では未使用
ちなみにここでのLEDテープは RRR日記(4) の「2024年11月29日(金)」のところで、以下のようにAmazonから買ったものだった。 わずか40日ほど前のことになるが、同時に2本を駆動するとか、特定ビットだけ光らせてそのビットを移動させるとか、まずまず使いこなせてきたのは嬉しい。 これと別途に、たまたま秋月電子から仕入れてみた「0.96インチ 128×64ドット有機ELディスプレイ(OLED) 白色」というのがあるので、Adafruit社のディスプレイに加えて持ち駒とするために、これもどこかで実験してみたい。#include <FastLED.h> #define LED_PIN1 13 #define LED_PIN2 12 #define NUM_LEDS1 31 #define NUM_LEDS2 23 CRGB leds1[NUM_LEDS1],leds2[NUM_LEDS2]; int i, musicScale[] = {523,587,659,698,784,880,988,1047}; int volume_value, gate_time, sw_old[] = {1,1}, sw_new[] = {0,0}, sw_eve[] = {0,0}; int timing[] = {0,0,0}, points[] = {0,0}, target, vectors; void setup() { for(i=9; i<11; i++) pinMode(i, INPUT); for(i=0; i<9; i++){ tone(11, musicScale[i]); delay(40); noTone(11); delay(60); } gate_time = 10000; vectors = 1; all_black(); target_set(); sw_old[0] = digitalRead(10); delay(200); } void loop(){ volume_test(); if(++timing[2] > 50){ timing[2] = 0; sw_new[0] = digitalRead(10); if(sw_new[0] != sw_old[0]){ sw_old[0] = sw_new[0]; if(sw_new[0] == 0){ melody_again(4); if(points[0] == target){ Led1_set3(); melody_end(); all_black(); target_set(); delay(1500); } else { Led2_set(points[1], 1); points[1]++; if(points[1]>22){ for(i=40; i>10; i--){ tone(11, i*50); delay(50); } delay(300); noTone(11); all_black(); target_set(); delay(2000); } } } } } if(++timing[1] > gate_time){ timing[1] = 0; Led1_set2(points[0], 8, 4); points[0] = points[0] + vectors; if(vectors == 1){ if(points[0] >= NUM_LEDS1){ points[0] = NUM_LEDS1 - 1; vectors = -1; melody_again(0); } } else{ if(points[0] < 0){ points[0] = 0; vectors = 1; melody_again(2); } } } } void target_set(){ target = 1 + (target + random(5,16)) % 28; points[1] = 0; } void volume_test(){ if(++timing[0] > 100){ timing[0] = 0; volume_value = analogRead(A0); gate_time = volume_value * 8 + 700; } } CRGB color_set(int color){ if(color<1 || color>8) return(CRGB::Black); switch(color){ case 1: return(CHSV(96, 255, 127)); // Red case 2: return(CHSV(0, 255, 127)); // Green case 3: return(CHSV(160, 255, 127)); // Blue case 4: return(CRGB::Gray); // White case 5: return(CHSV(60, 255, 127)); // Yellow case 6: return(CHSV(128, 255, 127)); // Pink case 7: return(CHSV(87, 255, 127)); // Ogange case 8: return(CHSV(random8(), 255, 127));// Random } } void Led1_set(int num, int color){ FastLED.addLeds<WS2811, LED_PIN1, RGB>(leds1, NUM_LEDS1); for(i=0; i<NUM_LEDS1; i++) leds1[i] = CRGB::Black; leds1[num] = color_set(color); FastLED.show(); } void Led1_set2(int num, int color1, int color2){ FastLED.addLeds<WS2811, LED_PIN1, RGB>(leds1, NUM_LEDS1); for(i=0; i<NUM_LEDS1; i++) leds1[i] = CRGB::Black; leds1[num] = color_set(color1); leds1[target] = color_set(color2); FastLED.show(); } void Led1_set3(){ FastLED.addLeds<WS2811, LED_PIN1, RGB>(leds1, NUM_LEDS1); for(i=0; i<NUM_LEDS1; i++) leds1[i] = CRGB::Black; for(i=0; i<11; i++) leds1[i*3] = CHSV(random8(), 255, 127); FastLED.show(); } void Led2_set(int num, int color){ FastLED.addLeds<WS2811, LED_PIN2, RGB>(leds2, NUM_LEDS2); for(i=0; i<NUM_LEDS2; i++) leds2[i] = CRGB::Black; for(i=0; i<num+1; i++) leds2[i] = color_set(color); FastLED.show(); } void all_black(){ FastLED.addLeds<WS2811, LED_PIN1, RGB>(leds1, NUM_LEDS1); for(i=0; i<NUM_LEDS1; i++) leds1[i] = CRGB::Black; FastLED.show(); FastLED.addLeds<WS2811, LED_PIN2, RGB>(leds2, NUM_LEDS2); for(i=0; i<NUM_LEDS2; i++) leds2[i] = CRGB::Black; // leds2[0] = color_set(1); FastLED.show(); } void melody_end(){ tone(11, musicScale[0]); delay(120); tone(11, musicScale[2]); delay(120); tone(11, musicScale[4]); delay(120); tone(11, musicScale[7]); delay(400); noTone(11); } void melody_again(int pitch){ tone(11, musicScale[pitch]); delay(30); noTone(11); }
そして午後になって、竹内さんから借用するME04型マトリョミン(白木筐体)が届いた。 これについてはおいおいレポートしてみるが、さすがにしっかりとした操作性で、これぞ拘りの「楽器」であった。 筐体の上半身を外してアンテナを剥き出しにすると、まるで動作が変化したのには驚いた。 木製の筐体上半身の部分には、もしかして内側にぐるりと金属箔でも貼られているのでは・・・という予想は完全に外れたので、そのあたりから調べる必要がある。 竹内さんにいただいた白木マトリューシカ筐体は高さ16cmほどだったが、こちらの借用ME04型マトリョミンは高さ21cmでだいぶ太いので、このあたりも大きく影響しそうである。 明日は午前午後と某バイト[2]があり、明後日の祝日は晩の某バイト[1]の予定に加えて、午前にはどうやら今年も「孫とイチゴ狩り」という予定が加わりそうなので、いずれにしても来週なかば以降となる。
2025年1月13日(月)
昨日はネットから「ブラウザ上ではダブルクリックするな」という この記事 が届いたが、これはなかなか怖い情報で、ましてや僕のように敢えて古いバージョンのOSと古いバージョンのブラウザを使っている者には恐怖とも言える。 とりあえず「ブラウザ上ではダブルクリックしない」と自分に言い聞かせてネットに向かうことにしよう。
そんな昨日は午前も午後も某バイト[2]に行き、特にすっかりお馴染みになってきた午後のアドバンス教室の連中には、数日前に作ったばかりの新作で遊んでもらったが、「ひたすら高速連打」というズルい技に対しての対策必要性を感じたので、今日はさらにArduinoのスケッチを改訂した。 今度は、シューティングLEDの移動スピード(さりげに最高速度はさらに高速にした)に対応して、1回のミスで増えていく赤色LEDの「増加数」を増やすことにした。 「増加数」は低速では5、そして最高速では2、ということで、23個もあってちょっと冗長だった「ミス記録」用の赤色LEDはスグにオーバーフローして「失敗」するようになった。 この改訂(所要15分もかからなかった)は、今週金曜の教室の連中にお披露目してみよう。
さらに今朝の目覚め瞬間あたりで、またまた新しい「Arduinoでゲーム」のアイデアを思い付いたのだが、システムの概要(使用するセンサとか結果表示手法)は思い付いたものの、肝心の実現形態/態様についてはまだ白紙となっている。 これはちょっと考える必要があるので、しばらく悶々とCPAP熟睡の合間(夜中に2-3回は目覚めてアダプタ/装具を装着し直すので、その後の寝入り端など)に引き続き考えていくことにした。2025年1月14日(火)
この日は運転手で午前中に義母の施設や市役所やスーパーに行って終わり、夕方には臨時依頼(代打講師)で某バイト[1]に行くことになったので、午後の欠片の時間は昨日の高校サッカー決勝PK戦(放送中に時間切れで一番いいところが放送されず)をtverで見たり、藤井王将の第1局の逆転の様子を棋譜から追いかけたりして過ごした。
その今日の朝イチに出掛ける前には、竹内テルミン改良型が直面している課題(のヒントとなる視点)について、ちょっと寝ている間に思い付いたことがあったのでメイルしてから出掛けたのだが、どうやら照岡さんコメントでもこの見立て(仮説)は有効のようで、改良型に取り組む技術者にも連絡されたようである。 この見立て(手法)は、僕の「ダブルArduinoテルミン」(現在のところ頭打ちの問題点があってストップ中)に対しては、プラスに役立つこととちょっと生きないことの両方があるのだが、その実験についてはまだ先になりそうだ。2025年1月15日(水)
このところ連日、断片的な外出の予定が午前や午後に入ってまとまった時間が取れず、SUAC時代に比べれば屁でもないのだがそこはかとなく「忙しいかも」なんて思っているが、今日は午後に週一の楽しみ(修行)のJoyJoyヒトカラ6時間の予定があるだけなので、ちょっと「書く」時間もある。
この日記の「2025年1月11日(土)」のところに、竹内テルミンPJに関して僕が書いたメイルを一部転載していたが、その翌日にも以下のようにメイルしていたので、ここに置いておくことにした。 なんせこの「日記」は、ブログと違って誰も何も突っ込めないので誰も読んでいないだろう・・・と思っていたら、ごく少数、マニアな人が読んでくれているので、役立ちそうな情報は一種の終活として遺しておきたいのだ。ここで再び思い出したのが、僕が開発したKAWAI初代の電子ピアノ「PT200」・「PM100」である。 辿ってみると1年1ヶ月ほど前、 Sketching日記(20)(SUACでラストの日記) の「2023年12月21日(木)」のところに書いていたのを発掘した。 せっかくなので、その部分のHTMLソースをここにコピペ追記再録し、さらに今回はちょっと「禁断の領域」まで捕捉してみることにした。「テルミンを能動的に弾く中でフィードバックがあり、意図した音に近づいた場合、自らの行為が『報酬』に繋がる」というメカニズムは、楽器演奏の上達に関して、共通のものでしょう。 一方、テルミンは自分でピッチを作らないといけないので、「鳴っている音を聞き、それに対応して補正する」というのが主要なお仕事になります。 ここには「音痴」という問題があります。カラオケが苦手な人が「私は音痴なので・・・」という場合、その95%はトレーニングによって補正、成長して、まぁ普通の音感となります。ただし一部には 医学的な意味の本物の音痴というのもいて、これは「聴覚→発声→それを聞く」という脳内コネクションの一部にある障害です。僕が合唱団の指揮者として、新入生一人一人に声を出してもらって パート分けをするのですが、過去に一人、いました。本人は歌は好きなのですが、「(何も無しで)ドレミファソラシド」と歌って、とお願いすると、「ドレミファソラシド」とだんだん上がっていくのですが、 最初のドと最後のドで5度ぐらいしかない(^_^;)という凄い音感でした。彼はしばし合唱団にいましたが、本人もどうも違うようだ・・・と納得したのか、早期に退団しました。その方が彼のためかもです。 このような医学的音痴を除く大部分の人はまぁちょっとズレてるなぁ(これは合唱指導者から言えば姿勢・呼吸・発声。発音などによって補正成長可能)、という人も、例えばカラオケの伴奏に合わせて、 自分の知っている曲であればまずまず歌えます。これは成長に伴って獲得した音感です。 さてテルミンですが、おそらくこの楽器に魅力を感じて深入りする人は、もう少し上のレベルなのだと思います。私の合唱仲間でも、普通にハモって気持ちいい、というレベルでなく、おぉぉ倍音が 聞こえたのでユニゾンもハモりも純正になっている・・・などという喜びの境地を共有する仲間がいます。以下は2000年に私の大学のイベントにそういう仲間を呼んで普段は一緒に歌ったことがない のに練習時間15分ほどでぶっつけ本番したものです。まぁショボいですが(^_^;)。 https://www.youtube.com/watch?v=3nTeDW1jg2Y , https://www.youtube.com/watch?v=ZR16tOnAHaI 上は6人で4声、下は6人で6声です。ほぼ同時にハモるホモフォニーでなく、それぞれが別に動くポリフォニーにハマる合唱人というのはそのオタク度からすればテルミンと並ぶかもしれません。 伴奏は例えばピアノであれば12等分平均律なので、いきなり「平均律vs純正律」の問題が発生します。バイオリンでもフルートでも、単独で無伴奏のメロディーを演奏する場合には、ピタゴラス律 ないし純正律に従った音階に補正している(上級者の場合)、というのは昔から音楽心理学では定説です。 「無伴奏でテルミン単独演奏」・「伴奏にテルミン独奏」・「無伴奏でテルミンのユニゾン合奏」・「伴奏にテルミンユニゾン合奏」・「テルミンで複数パート(ハモり)合奏(1パートは一人)」・「テルミンで 複数パート(ハモり)合奏(それぞれのパートは複数人)」の6パターンはそれぞれ、求められるもの、やり甲斐、難易度、音楽的な意味、それぞれすべて異なっている、というのが私の持論です。
電子ピアノのPT200/PM100をネットで検索すると、 取扱説明書 がKAWAIのサーバからゲット出来た。 さらに このページ (バックアップは これ )の中にある「河合楽器」というタームを検索すると、上のような懐かしい写真が出てきた。 「裏モード」の55種類はもちろん記述されていないが、以下のように「表モード」として6種類の音律が選択できるという仕様だった(ただし音律(1)と音律(5)は同じもののようなので、どうやら取扱説明書を制作したチームのミスと思われる)。
そして、もう売り切れだとは思うが こんなページ もあって、断捨離中なので購入しないものの(大阪からの送料が10万円ぐらいかかる)、下のような綺麗な写真をゲット出来てしまった。 なお、ページが文字化けした場合にはText Encodingを「Unicode」にすれば見える。
発売されてもう40年になるので、おそらく「動くPT200/PM100」はもうこの世に無いだろう・・・ということで、ここからが、これまで書いたことのなかった禁断の領域である(^_^;)。 かなり控えめに書いた 作るサウンドエレクトロニクス の「Part4 ハイブリッドシンセサイザ」の延長線上の世界であり、こちらも併せて読んでもらえると、少しは理解できるかもしれない。 以下の写真は、そのどこかで登場するあるパーツの、表装モールドの無い試作品である。
それまでの電子ピアノというのは、「トップオクターブ方式」音源で全ての鍵盤の原信号が常時供給されていて、エンベロープ(高速アタック→低速ディケイ→鍵盤OFFでリリース)付加回路が簡単なトランジスタ1石程度で鍵盤ごとにズラリと並び、強弱の「鍵盤タッチ量」には対応していないという「擬似ピアノ」だった。 「タッチレスポンス」というキーワードが何と言っても電子ピアノ開発の目標であり、KAWAIとして初めて「タッチレスポンスのある本当の電子ピアノ」の開発が、入社4年目の僕の最初の大きな仕事となった。 以下、★印は僕がKAWAIで「初めてやった」ことである。
PT200(88鍵)とPM100(76鍵)は、音域以外の電子回路/マイコンソフトウェアの部分は同一であり、違いは「鍵盤のアクション」にある。 廉価版のPM100はシンセサイザーと同様のプラスチック鍵盤であり、シンセでは単純な接点でON/OFFなのに対して、鍵盤押し下げに対応して2段階で次々にオンになる構造の導電ゴムによる時間差検出接点を素材チームが新たに開発して、鍵盤下の基板に並べた。 PT200では「鍵盤のタッチ感」に拘る人々が、なんと木製鍵盤の1鍵1鍵にいちいち、弦を打たないハンマーを突き上げる本格的な(擬似)アクション機構を「指先への物理的反応」のためだけに設置した( → なので弾くと内部でコツンコツンと音がした)。 そのためにPM100はシンセのようにぺったらなのに対して、PT200では空中で後方のアクションが動く空間のために、鍵盤の奥が異様に高いフォルムとなっている。
僕はまず各社の特許を迂回するデータ処理方式を考案して特許を出願しつつ、富●通のゲートアレイで「128鍵の2段接点のそれぞれがONになる時間差を検出して、マイコンの周辺チップとして任意のタイミングでそれらを読み出せる」というLSI★を設計開発した。 検出精度はマイクロ秒オーダであり、ピアノの演奏動作を思い浮かべると分かるように、最高速の打鍵では1msecオーダなのに、そーーっと弾くと数秒オーダになる、という時間差の数千倍のダイナミックレンジをMIDIベロシティの127ステップに収めるため、指数関数的データ処理を含む時間差検出システムをマイコンのソフトウェアでなく、ハードウェアとしてチップ上に実装した(特許対策)。
音量だけでなく、ピアノという楽器の音色は時間的に変化する必要があり、さらに打鍵ベロシティごとにも音量と音色が変化する。 これは、鍵盤ON→「原波形を作る」→「時間的音色/音量変化」→鍵盤OFF→「時間的音色/音量変化」という古典的なシンセサイザのスタイルが発音数だけ必要になるということで、「同時発音数」の制限が生じて、「12音ポリフォニック」楽器となった。 ピッチ生成の部分では、12個の周波数可変クロックが必要となるが、ちょうどIntelの 8253 という3個のカウンタ/タイマを内蔵したCPU周辺チップがあったので、このCMOS版の71054を4個ずらりと並べて計12チャンネルとした。 ちなみにMIDIのシリアル通信のために、同じファミリの 8251 というUSARTのCMOS版の71051も、(たぶん)使用した。
「12音ポリフォニック」(同時に12音しか鳴らない)ということで、ここには「アサイナ」(発音割り当て)という技術が必須となる。 鍵盤を次々にONにしていって12音を超えた場合にどうするか・・・という方式(13音目は無視、古いイベントから消音する、最低音の1音だけは残す、中音域の目立たない音を消す、音量の減衰を全て追跡して一番小さくなった音を消す、などなど)には各社それぞれの特許があってなかなか悩ましい。 ピアノの場合にはこれに加えて、ダンパーペダル(これを踏むと押された鍵盤のOFF情報を保留してペダルOFFの際に一斉に作用させる。本物のピアノのように全ての弦のダンパー解放によって共鳴する効果は電子ピアノでは無し)と、ソステヌートペダル(これを踏んでいる時点で押された鍵盤だけOFF情報が保留されペダルOFFの際に作用させる)という難しいアサイナが必要となるが、他社特許を迂回しつつの難題を、初めて使うマイコン★(おそらく 8049 だったと思われるがやや曖昧)で頑張ってプログラミング(当然アセンブラ)した。
同時発音数12チャンネルの音源回路については、当時の技術としては完全ディジタルでもアナログシンセ(単音/2音)でも比較的廉価な電子ピアノのためにはコスト的に見合わなかった。 そこで音色変化については、新しく登場したばかりで気になって実験していたSCF(スイッチトキャパシタフィルタ)IC★を時間的変化するLPFにする、というアイデアを初めてこの電子ピアノで実装したが、これは後の世代には継承されなかった。 アサイナと組み合わせて、マイコンが高速にソフトウェア的に各発音チャンネルの時間経過をモニタして、対応するSCFクロックを変化させるという荒技である。 さらに音量変化についても、アナログスイッチ4066等を駆使した充放電回路によってエンベロープを生成して、こちらもマイコンが高速にソフトウェア的に各発音チャンネルの発音後時間経過をモニタして、対応するエンベロープ推移を変化させた。
このような「ディジタル制御・アナログ処理」の音源システムを基板上に12チャンネル回路も並べることはサイズ的(コスト的)に制限があったが、ここで当時、コラボレーションを模索していたデ●ソー社(当時は「日本電●」)が「アナログハイブリッドIC」を製造できる、という話に飛びついた。 自社内に半導体製造ラインやICチップ製造ラインを持っている同社の担当者と打ち合わせして、自動車業界に比べて桁違いに少量なのでビジネスになりにくいものの、「1台あたり12個を使う」という数量効果をアピールして、半ば試行的にPT200/PM100では、音源(SCF音色変化、4066エンベロープ生成)というハイブリッドIC★をデ●ソー社に製造委託して、基板上にずらりと12個並べた。 その後、同社とコラボレーションする製品は出てこなかったが、まぁ楽器業界と自動車業界では「数」が違うのだから仕方ない。
電子ピアノ全体の回路を設計し、タッチレスポンスLSIを新規開発し、音源ハイブリッドICを新規開発し、新規採用のマイコンのプログラムを全て開発した僕(誰かが作った/使ったものの再利用よりも、チャレンジングな新しいものが好き!)はさらに、当時、興味があって調べていた「音律」を盛り込むことにした。 取扱説明書 にあるように、当時までの楽器業界においてちょっと異端なのだが、ピアノと言えば12等分平均律なのに対して、さらに6種類の「音律」を設定★できる仕様とした(部品コストを1円もかけずに機能が向上するという理由で了承された)。 他社もかなり動揺したらしく、その後に各社から出てくる電子楽器には音律が入ったりしてきた。 しかし僕は当時、 音律について にある55種類の音律に関して完全に理解して、さらにそれらを作り出すデータも完備していた。
そこで、プログラムROMエリアの容量が限られたマイコンのプログラムを最適化で圧縮すると共に、この55音律を生成するための基礎データもプログラムROMの片隅に置いて、「秘密の暗号」によって、6種類だけでなくこの55種類の音律を全て選択して設定できるようにした。 取扱説明書では「トーンセレクターボタンを6→5→4→3→2→1の順に押してから、6のボタンを押す」というのが音律設定モードの入り方であり、その次に押されたトーンセレクターボタンに対応した6種類の音律が設定できる。 だいたい、電子楽器の「音色設定ボタン」というのは、試しに何かを選んだらまずは鍵盤を弾いてみて音色を確かめるので、「鍵盤を引かずに音色設定ボタンを続けて押す」という行動は、普通には有り得ないので、ここがヒントとなった。
55音律を設定する「裏モード」では、「鍵盤を引かずに音色設定ボタンを、連続して、ある10桁の暗号の順番に押す」というのが入り方であり、この超不自然な操作が成功すると、なんと6個の音色設定ボタンのLEDが、「135のみ点灯」→「246のみ点灯」→・・・というのを1秒間隔で繰り返して、続いての「音律選択」を促しつつ、待機する。 そこで、鍵盤の最低音のAからクロマティック(黒鍵白鍵全て)に始まる番号として1から55までを最初に弾いた鍵盤で、その音律番号が指定され、その後は電源を入れ直すまで、PT200/PM100はその「裏音律」の楽器に変貌するのだ。 これは実際に製品が世の中に出てから、渋谷の道玄坂にあったKAWAIショップの店頭で実際に僕が密かに確認したので、間違いない。
問題はその10桁の暗号なのだが、僕はとてもランダムな10個の数字の羅列は記憶できないので、知っている数列(口ずさめる)を利用することになる。 そして僕が知っている暗唱数列というのは、√2 (=1.41421356) と √3 (=1.7320508) と √5 (=2.2360679) と π (=3.1415926535) と e (=2.718281828459045) の5つしかないのである。 これ以上はここでは書けない。 何故なら、この5種類の暗唱数列のうちあるもののある部分を、僕のキャッシュカード暗証番号やiPadパスコードなどとして日々、使っているからである。ここまで午前中に一気に書いてきたが、考えてみると「禁断の領域」だというのに、FONT COLORを薄めに変えたことで逆に目立つ気もする(^_^;)ので、そのうち、どこかでさりげにFONT COLOR設定を元に戻すことにした。
昨日から断片的に考えているのだが、まだ新しいArduino応用システムの実現形のアイデアが思い浮かばず、関連しそうなキーワードでネットの画像検索で数千枚の画像をザザーーッと眺めたりしたのだが、既存の製品のフォルムというのは案外、漠然としたアイデア検討にとっては参考にならないことも判明した。 これはまだまだ温めつつ、考えていくことにしよう。2025年1月16日(木)
昨日のJoyJoyヒトカラは先週と同じ6時間で59曲だった。 いつも大抵はヒトカラの途中で喉に限界が来て「響声破笛丸」の助けを求める「ドラッグタイム」があるのだが、なんと昨日はノードラッグで快走した。 これもCPAPのお陰なのかもしれない。
そのCPAPと共に布団の中で夢うつつしている最中に、昨日に書いた「禁断の領域」に間違いや抜けがある・・・と気付いて、さっそく朝イチで訂正・加筆した。 「マイコン」に東芝の TLCS-90 という強力なやつを使ったのは、電子ピアノではなくて、その次の「Sound Pallette」(ここでは完全ディジタル音源LSIを開発したのが最大の貢献)の方だったようである。これまであまり考えたことが無かったのだが、入社してから11ヶ月の「新入社員実習」期間を経て、翌年3月に本社の研究開発センターに配属されてから3-4年程度の若造に、これだけ好きなようにシステムの電子関係のほぼ全部を開発させてくれたKAWAIには本当に感謝するしかない。 ただし当時の電子楽器のトレンド(本流)とはちょっと違うところにあったのも事実であり、僕が最初に出したPT200/PM100というのは「とりあえずの繋ぎ」(YAMAHAやROLANDが出してきたのでKAWAIも何か電子ピアノを出しておかないと)というものだったようにも思える。 半導体技術は発展途上であり、当時のメモリはとにかく容量が小さくて(マイコン8049は2KバイトのROMと128バイトのRAMしかない)、上述のようなハイブリッドな方法で実現(他社も同様)していたのだが、その裏では、マスクROMの大容量化が着々と進んでいた。 そしておよそ2年後には全ての楽器メーカの電子ピアノは「PCM方式」(サンプリング方式)一色になり、そこから現在までトレンドは変わっていない。
僕の1年後輩で、6ヶ月の「新入社員実習」を経て研究開発センターに来たM君は、1日中ずっと防音室で作業する日々を何年間も過ごした。 その元となったのは、2週間ほど確保したスタジオにスタインウェイの最上級フルコンサート・グランドピアノを持ち込んで、打鍵ロボットでなく著名なプロのピアニストが、88鍵を別々に弾いて全てをディジタル録音した、というサウンド・データベースである。 ピアノの全ての鍵盤について、均一なコンディションで、「ppp」・「pp」・「p」・「mp」・「mf」・「f」・「ff」・「fff」(低音域では長いと30秒ほど)の打鍵を、テヌートからスタカートまでのタッチで多段階に弾き分けるのは、プロのピアニストにしか出来ない。 このディジタル録音データをそのままでなく、ピアノメーカならではの視点からUnixシステムを使った手作業で1音1音「磨き上げる」というステップがあって、その結果が大容量マスクROMにぎっしりと収まって基板上にずらっと並んでしまえば、完全にディジタル化された電子ピアノでは、鍵盤タッチに対応した音域・音色・音量のPCMデータを単純に「読み出す」だけでよくなった。 そして僕が開発したタッチレスポンスLSIは、しばらくの間は、これらの電子ピアノでも活躍したようである。2025年1月17日(金)
30年前の1995年1月17日、この日は月曜日だったので僕は自宅にいた。 その2年前から5年後ぐらいまでの8年間(1993〜1999)、僕は「ASL長嶋技術士事務所所長」と共に「京都芸術短期大学(映像学科)[京都・北白川]非常勤講師」・「(財)イメージ情報科学研究所[大阪・千里中央]非常勤研究員」・「神戸山手女子短期大学(生活学科/音楽科)[神戸・元町]非常勤講師」というのを続けていて、毎週3日(基本的には水〜金)、浜松から関西に行き、大阪・梅田のマルビルを定宿として2泊3日は関西、という生活をしていたので、3/7の確率があった阪神大震災の直撃を、たまたま免れた。
大学からは「講義は停止」との連絡が届いて(もちろん行ける筈もない)、大学キャンパスも施錠されたまま警備会社も入れなかった。 当時は自宅からダイヤルアップしたNifty-Serveに繋いだ状態からインターネットに入ることが出来たのだが、僕は震災翌日には、まだ誰も入っていない2号館にある、ふーみんが助手となって僕がやっていた講義のための 25台のSGI Indy にリモートログインできて、Indyたちは震災直後の停電から電源が復旧するとちゃんと起動して、壊れたファイルを自動修復していたのを確認した。 震災から数日後にようやく同僚が2号館に入って確認してみると、何台ものIndyのディスプレイが床に落ちいてたというが、本体は稼働していたというのは凄い。
僕が神戸に行ったのは2月の中旬ころになってからで、ふーみんと落ち合ってJRで住吉あたりまで行って(その先は壊れていて不通)、そこから三宮に向かうバスを待つ行列に3時間ほど並んで、全て倒れている阪神高速の横を三宮まで行った。 現在ネットで「阪神大震災」と画像検索すれば出てくる惨状そのままで、屋根にブルーシートが載ってぐちゃっと潰れた家があるのに、その隣の家はまったく無傷、というモザイク(コントラスト)にも驚いたが、元々このあたりの多くは小さな川があったところ(河岸段丘)を埋め立てているので、たまたま家の建っているその下の地盤が砂なのか硬いのか、という違いの反映だった。 三宮から元町まで歩いて一番印象に残っているのは、街に立っている「電柱」が1本1本、全て別々に傾いているので、自分の方向感覚として「垂直」というのが失われたグラグラ感だった。 行く時にまだ傾いて残っていたビルが、帰りには完全に倒れていたのも目撃した。
そして、それよりもさらに印象に残っていたのは、三宮から梅田まで戻ってきたときの、梅田地下街である。 これからJRに乗って梅田から神戸方面に向かうという人たちは、両手に水タンクを携えているのだが、逆方向の人たちは、もう震災1ヶ月後ということで日常の通勤通学の混雑だった。 梅田地下街にたくさんある居酒屋やパチンコ屋などの繁華街も通常の賑わいであり、被災地がまだまだヒイヒイ言っているのに、そこから数十分だけ電車に乗ってきてみれば猥雑な日常がある・・・というのはなかなかショックな風景だった。
この年には、上のように単著としては4冊目の「はじめて学ぶ情報セキュリティ」という本も出したが、震災直後から自動復旧したIndyにリモートログインした話とかは、この本をテキストとして行ったセミナーでもまずまず、ウケた。 現在では何という事もないのだが、それが30年前のことだったのである。 合掌。
そんな思いが去来する1月17日だが、ネットでは Nintendo Switch 2 の予告映像が出てきて、いろいろと盛り上がっているらしい。 僕はまぁ、KAWAI時代やSUAC時代に任天堂と関係したマル秘な話についてはまだ自粛したいのでここでは書かないし、Nintendo DSは上のように 「数独」 のために買ったものの、スーファミとかWiiとかNintendo Switchについては触れたこともないので、まぁ静観するだけである。 ネット記事によれば注目ポイントは「世界的にどう価格設定するのか」・「転売対策」・「あっと驚く"隠し玉"は?」だそうだが、まぁこれも、任天堂のお手並み拝見というところだろう。
朝からメイルが2往復ほどして、テルミン竹内さんに関しては、何故か急転直下、「仕事の進め方が違っていて協働できない」とのことで、今回はプロジェクトに入らないまま「終了」という感じになってしまった。 ただし、僕とすれば久しぶりに「楽器」について色々と考えるきっかけになったし、実験のために白木マトリューシカ筐体(小)をいただいたので、今後もまだまだ実験は続けられる。 ME04マニュアル もスキャンしてみたが、「ME04 マトリョミン マニュアル」と検索するとネットで色々と出てきたので、そっちでも入手可能なもののようだ。 来週には竹内さんのイベントに一般来場者として参加する(そこで借用したME04マトリュミンを返却する予定)ので、それまでに時間を作って、アンテナや基板など、内部の写真でも撮ってみよう。 マトリュミンの操作性(ゼロ点調整ボタンとゼロHzから鳴ってくる様子)については、あらためて動画記録するまでもなく、 この動画 の最初の1分間を見れば十分で、他にとりたてて動画に撮るべき情報は無い。 まぁ、人いろいろ、人生いろいろ、色んなことがあるのだ。2025年1月18日(土)
昨日の晩の某バイト[2]では、いつもはアドバンス4人を相手にしている教室なのだが、同じ部屋で一緒にミドル4人を相手にしている先生が別の教室に代打で行った関係で、臨時に8人の2コースをまとめて担当するという日(過去にも2度ほどあったパターン)になった。 生徒の一人が前回作ったロボットを自宅に忘れてきてパーツ不足で満足に作れなかったり(→僕の電子工作セットの体験を6種類みっちり)、キットに4枚しか入っていない「ギヤL」が何故か3枚しか無かったために、僕が作ったサンプルを壊して貸し出した際にサンプルがバラバラになってしまったり・・・とあれこれドタバタしたのだが、新作の改訂ArduinoシューティングGameはなかなかにウケた。 そんなわけで今日は明日の教室(午前ミドルと午後アドバンス)に向けて、再度、新たにサンプルを製作する必要が出てきて、さらに2日前に起きた奥さんの親戚のおばさんの自宅トラブル(転んで骨折→救急車)の介護フォローの運転手で出かけたりという予定もあり、何かと忙しい週末となった。
ネットではちょうどAbemaTVで「朝日杯」の本戦トーナメントが今日から始まって2局同時に生中継されていて、明日には藤井七冠なども登場するのだが、ちょっとじっくり見ている余裕はなさそうだ。
そして何とかサンプル教材を完成させて(テキストに無いオリジナル両極LEDを付加)、明日の準備を完了してみると、AbemaTVでは午前の2局の勝者同士(永瀬拓矢 vs 佐々木勇気)[←佐々木という棋士は何人もいるので勇気まで書く必要あり]の戦いが始まっていた。 これをBGVとして構想していたアイデアの続きなどを考えたり、ややペースが落ちてきたものの週一はキープしている「Martinを愛でる時間」などで過ごす午後となった。2025年1月19日(日)
昨日の「朝日杯」の「永瀬拓矢 vs 佐々木勇気」戦は、さすがに秒読みの終盤ではAI評価値も劇的なアップダウンを繰り返す激戦となって、なかなか見応えがあった。 このところのタイトル戦で藤井聡太七冠と対決している二人なので、さすがの実力である。 今日は藤井七冠の入っている4人ブロックの「2局同時」→(休憩)→「勝者同士」というライブ中継がAbemaTVであるのだが、午前と午後に某バイト[2]があるので、残念ながらライブ観戦は出来ないのだった。
昨日と今日は、大学入試共通テストというのもやっているのだが、去年までは試験監督の当事者として毎年、緊張感と充実感のあるお仕事を担当してきたが、今年はもう無縁となって、「情報」という科目が登場したなどというニュースも、他人事として通り過ぎるだけである。 まぁ、某バイト[1]の方では、ローテーションによってはたまに高校生も担当するという意味ではまだ関係しているのだが、やはり過去に担当していた「出題(作問)担当」というお仕事が、まぁ何と言っても最高の「緊張感と充実感」なのだ。 ただし残念ながら、ここでは詳しく書けない。
考えてみれば、過去には定番だった「大学院」→(就職せず)「大学講師/助手」→「助教授」→「教授」というように大学教員コースを進んだ人と違って、僕は会社員から退社独立して、フリーとして非常勤講師として複数の大学で教えているところに(技術士仲間の勉強会の縁から)お呼びがかかってSUACの助教授としてスタートしたので、ここからして既に例外的である。
前身の静岡県立大学浜松短期大学部(看護学科)を膨らませた文化政策学部(国際文化・文化政策・芸術文化)とは別に、デザイン学部(生産造形[工業デザイン]・技術造形[メディアデザイン]・空間造形[建築/都市デザイン])を新設するために、2000年4月の開学よりも2年前ぐらいから、静岡県の新大学設立準備財団に呼ばれて何度も東京に行って会議を重ねて、ゼロから「デザイン学部」・「技術造形学科」のカリキュラム作成に関われた、というのも、数多い大学教員の中でも稀有の貴重な体験となった。
55歳頃から、修士課程をスキップして大学院博士(後期)課程に社会人入学して新たな勉強を出来た、というのも得難い経験だし、学歴として「博士(後期)課程単位取得満期退学」までという大学教員もかなり多いのに、3年間の博士課程でなく期限一杯ギリギリの6年間で博士号まで取得できたというのは、これまた得難い経験となった。 このチャレンジが無かったら、僕の人生に「哲学」「美学」という芳醇な領域は無縁のままだったのだから。 そして最後にフリーに戻る時には、意識していなかった(学科長とか委員長などの肩書き職を全て忌避してきた)のに、「名誉教授」という肩書き(実質的には看板だけで何も実体は無い)を得られたので、まぁ、全てに感謝しかないのだ。2025年1月20日(月)
昨日の朝日杯は、決勝トーナメント第1局で勝ち上がった藤井七冠が次の対局で服部慎一郎六段に負けた、という結果だった。 僕の過去の日記のどこかに、タイトル戦で七冠まで取って、あと1つという時に、タイトル戦以外の一般棋戦(朝日杯を含む)4つも全て藤井聡太、という凄い「絵」となったのを上げていた・・・と探したのだが、上のようにようやく発掘できた。 この藤井聡太が負けた、という事だけでニュースになるが、これは彼の衰えではなくて、同世代の強者が上がってきたこと(服部慎一郎六段は棋士レーティングで藤井2121.3、永瀬1946.2、に次いで3位の1905.6、で伊藤叡王1900.3、よりも上)、悉く対局者がスペシャル「藤井対策」を練ってきている、という状況でのことなので、まだまだ藤井進化は続くのだ。
昨日は大学入試共通テストの2日目で、初めて「情報」という科目が登場したようだが、なんとその中のプログラミングの問題は上のようなものだったらしい。 これは受験生を舐めているというのか、こんなのがプログラミングだという悪しき「常識」を定着させようというのか、まぁ驚いた。 「ロボット教室」の小学生の方がずっと上のアルゴリズムをやっている・・・と言いたいが、残念ながらSCRATCHっぽいプログラミング環境には「変数」という概念が無い(「定数」というのはあって、ループ回数とかモーター回転強度とかセンサ閾値などは設定できる)ので、あまり面白いものは作れない。 「ロボット」という名前があるので、どうしても「制御」という部分に力点を置かざるを得ないのは仕方ないのか。
現在、 この動画のシステム はさらにオリジナルの「両極LEDモジュール」を2つ増設して、「一定間隔で白と青が交互に点滅」しつつ、「ボリュームの推移でドレミファソラシが鳴るのに対応して赤と青が交互に光り、その輝度は音階が上がるほど明るい」という動作まで同時並行しているのだが、「ifループ」しかないので、ifループの出力にまたまたまifループがある・・・という7段階の異常に「横に広がった」フローチャート(プログラム)になっている。
そして午前中にまず、今週中に竹内さんに返却する予定のマトリュミン「ME04」について、とりあえず外観(と筐体上部を開けた状態の内部の外観)の写真を このように 記録した。 借用のみで返却することから、底部と側面の多数のビス等を外して「基板を取り出して眺める」ことはググッと堪えたが、スポンジを出して電池ケースを引き出して、再び格納しただけなのに、稼働させてみると「ゼロ点補正」が動かなくなったのには驚いた。
電池ケースには「ここが上面」というシールがあり、「ここ(底部)まで押し下げること」とも書かれている。 この電池ケースを、指示通りにかなり底部(筐体下部の内側に「ここまで」というシールが貼られている)に押し込むと正常動作に戻ったのだが、この電池ケースをその正規位置から1センチほど上に上げる(押し下げ不足)だけで、基本動作の「ゼロ点補正」が出来ない(OKのブルーLEDが光らない)というほど、筐体内部の金属体の質量と位置関係がクリチカルにアンテナ/周波数発生部に影響しているのだ・・・というのは大きな収穫だった。
買い物にちょっと出掛けて午後に帰宅してみると、「1967年創刊の老舗鉄道雑誌『鉄道ジャーナル』が休刊することが分かった。21日発売の2025年3月号誌面で休刊することを発表した。ウェブ版へ移行する予定はなく、4月発売の6月号で休刊する」というニュースが届いた。 「鉄道ファン」という雑誌があるのは知っていたが、まぁ「鉄道ジャーナル」というのも、名前だけはどこかで見かけたかもしれない。 しかし思い出してみても、過去に購入した記憶は「鉄道ファン」すら無いのだから、まぁ仕方ない。 「撮り鉄」が多い鉄道マニアは、僕ですら こんなページ を置いているぐらいだから、自分で鉄道写真を撮ること自体が面白いので、プロであっても他人の撮った写真を求めて毎月こういう雑誌を購読するという行動にはいかない気がする。 お約束の「休刊」というのも、まぁ「廃刊」だろう。 「休刊」と宣言したのに「廃刊」にならずにしばらくしてから「復刊」した、という実例があるのであれば教えて欲しい。
2025年1月21日(火)
今日は予定が何も入っていない、という久しぶり(前回がいつだったか記憶にない)の日である。 ちょっと「Arduinoテルミン」の次の実験に取り組むmotivationが低減してしまったし、このところ1週間ほど断片的に構想妄想している新しいArduinoモノの実現にはまだ着想到達していないし、何をしようかな・・・とネットニュースを見ていると、「ロックといえば米国?英国? 英国のロックは、本当に「ビートルズからすべてが始まった」と言ってしまっていいのか?」というYAHOO記事へのリンクのある5ちゃんニュースに行き着いた。
あまり「実はロック少年だった」などと積極的に公言していないものの、やはり僕のルーツには「ロック」があり、特にBrithsh Rock、さらに言えばProgressive Rockというのは骨身の芯まで染み付いた、ある意味で僕の音楽的根幹なのだ。 それは、これまでに公演してきた僕の Computer Music作品の記録 を観て/聴いていただければ分かるように、「なんや、ワレ、プログレやんけ」と簡単に看破されてしまうのである。 音楽情報科学する諸氏(国内・海外問わず)の多くが、「実は根がプログレ」というのは完全に事実であり、これまでの音楽情報科学研究会やICMC/NIMEなどで何度となくお互いに実感し合ってきたものだ(ただしここでは、僕とPink FloydやYESなどの付き合いについて長々と語ることはググッと堪えておく)。
この記事の最後は、「したがって未来の音楽=ロックンロール/ロックが生まれる可能性は、アメリカにもイギリスにもあった。(続く)」などと思わせぶりに終わって、上のように「第2回を読む」〜「第6回を読む」のなかなか挑発的なタイトルの記事へのリンクが並んでいる。 ここまでは、YAHOOニュース内の記事なのだが、このリンクからはいよいよ外に出るというのが上手い仕組みで、もともとこの記事は「※本記事は『ロックの歴史』(中山康樹)の抜粋です」ということで、いわば一種の「呼び込み広告」でもあったのだった。 そしてとりあえず「第2回を読む」をクリックしてみるとYAHOOを離れて、「今なら無料登録でお得なクーポンをGET! 無料会員に登録すると、会員限定記事が毎月2本読めるようになります」という以下の広告丸出しのページで、ミックジャガー(僕はとりたてて好きではない)が迎えてくれた。
ここの「米国にとってジャズは自国の文化だが、英国には外来文化にすぎない」というキャッチーな見出しはまずまず魅力的だが、ここから読めるのも全て「『ロックの歴史』(中山康樹)の抜粋」であり、『30年代には米国の音楽が「禁止」に… イギリスが「ジャズ後進国」になったわけ』・『世界大戦後の徴兵を免れた若者たちが「英国ロック」を築き上げた』・『ロックの分母? 50年代の英国で流行った音楽「スキッフル」とは何か』・『キース・リチャーズ「俺たちは、空爆の残骸と瓦礫に囲まれて育った」』・『1960年に徴兵制度が廃止されたことで、英国からビートルズが誕生した』・・・と断片的に並ぶトピックを見ていると、なんだか「抜粋」でなく、いっそのことこの本の全部を読みたくなる。 そこで『ロックの歴史』(中山康樹)をAmazonで調べると、以下のように出てきた。
このページには<本書の内容>として、第1章「イギリス・ロック史とアメリカ」から第15章「ロックが帰っていく場所」までの内容がキチンと並んでいるし、「エルヴィス・プレスリーの限界」・「なぜリヴァプールだったのか」など著者の立ち位置も明確である。 ただしこの本が出たのは10年以上も昔であり、以下のようにAmazonでは「新品」としての購入メニューが無くて、いずれも定価990円に500円ほどの送料を足した「新古本(未読の状態で10年ほど熟成)」である、と気付いた。 大人がポチッて購入するのは簡単な廉価本なのだが、どうも「Brithsh Rock」という言葉で僕が求めているものとは違う、と判明した。 著者を調べてみると、この本を出した翌2015年に悪性リンパ腫のため死去したようで、基本的にはジャズに基盤を置く音楽評論家だった。 この本のような掘り込みで「プログレ」ものがあれば、2-3倍しても即購入なのだが、ここまで来て冷静に「断念バーグ」となった。
ここでしばし、ちょっとした外出などのお仕事が飛び込んできて中断したが、考えてみれば正面から「プログレ」というのを検索したことが一度も無かった・・・と気付いて、さっそくAmazonで検索してみると、上のように最上段には何故か「カロヤン プログレ」などの育毛剤が並んで動揺した(ちなみに僕の親父は若くして頭髪に不自由していたのを垣間見て、小学生だった僕は親父の「カロヤン ハイ」という育毛剤をこっそり風呂上がりに頭に振っていた。祖父(親父の親父)もスキンヘッドだったからなのだが、結果的にはこの歳まで頭髪に不自由しないことになった遠因かもしれないので、感謝感謝)。 しかしよく見ると、次の段からはようやく「プログレ本」が出てきたので、「カテゴリ」に「本」を選択して「プログレ」にすればいいのだ、という結論に達した。 まぁ、プログレというのはProgressiveということで、「進歩的な」という真っ当な意味があるので、Progressiveの意味として「まるでプログレ」という風に反応してしまうのは、一部のオタクだけなのだった。
そこで改めてAmazonの「本」カテゴリから「プログレ」と検索して出てきたもののAmazonページのリンク集を、以下のようにリスト化してみた。 これを順に眺めて概要をチェックして、ピンときた、ググッときた、というものを注文すればいいのだ。
イマドキというのか、Kindle版しかないものも3点ほどあったし、もはや中古本としてしか入手できないものもいくつもあったが、まぁプログレなんて言って通用するのはもはや老人だけなので、これは仕方ない。 このリストを作った段階でピンときたのは2番目の「1970年代のプログレ --- 5大バンドの素晴らしき世界 ---」なのだが、これは「キング・クリムゾン」・「ピンク・フロイド」・「イエス」・「エマーソン・レイク&パーマー」・「ジェネシス」を扱っていて、まぁ僕にとってプログレとして崇拝する「ピンク・フロイド」・「イエス」が入っているのは当然、そして「キング・クリムゾン」・「エマーソン・レイク&パーマー」についてもよく知っているものの「並」水準、さらに「ジェネシス」についてはバンド名しか知らないという品揃えなので、ちょっとだけ不満もあるが、結局この中古本を注文した。
- もうすぐエピタフ どうしてプログレを好きになってしまったんだろう♯9第三印象 ¥2,310
- 1970年代のプログレ --- 5大バンドの素晴らしき世界 --- (ワニブックスPLUS新書) 中古品: ¥780
- どうしてプログレを好きになってしまったんだろう ¥1,980
- PROG MUSIC DISC GUIDE プログレッシヴ・ロック/メタル/オルタナティヴの現在形 ¥2,420
- プログレッシブ・ロック入門 中古品: ¥1,663
- ピンク・フロイド VS キング・クリムゾン プログレ究極対決 --- ロックの未来を変えた2大バンドの両極 ¥2,420
- プログレのパースペクティブ: Cdbest100 : Music Magazine増刊 中古品: ¥980
- プログレ百物語: プログレッシヴ・ロック名盤百選 Kindle 価格: ¥300
- プログレ百物語: プログレッシヴ・ロック動画百選 Kindle 価格: ¥300
- ヒプノシス ロック名盤デザイン秘話【2000部完全限定】 ¥8,800
- 聴いとけ!名盤 --- 博士とケンタと名盤研究所:ソウルからプログレまで、時代を映す名盤たち(22世紀アート) Kindle 価格: ¥880
- プログレ「箱男」 中古品: ¥3,330
午後には、あれこれArduino界隈を調べ物して、上のようないくつかのメモ(順不同)を今後に向けて残した。 空欄は、今後の加筆によって加えられる余地である。 これが何かに結実するのは、まぁ、ぼちぼちこれからとなる。
- Seeeduino Lite(中身はLeonardoコンパチ)では、たぶんLeonardo対応のMozziは走る? → 実験すべし
- MozziのControl Rateのタイムスロットで個別点灯LEDテープの駆動が可能かどうか実験すべし
- MozziのControl Rateのタイムスロットで3軸加速度センサのアナログ入力の積分が可能かどうか実験すべし
- Arduinoテルミンの周波数帯域マッピング → 指数関数的重み付けの実験
- 超小型OLEDモジュールを使って何か出来ないか検討
2025年1月22日(水)
朝イチでAmazonから届いていたのは発送済み:「1970年代のプログレ - 5大バンドの素晴らしき世界...」というメイルだった。 ところが、その「配送状況を確認」というボタンを押すと、以下のようにアマゾンのページに飛んで「注文済み」→「発送済み」まで色が付いて、その先に→「配達中」に進む(ここに来るとクロネコヤマトから「配達時間の問い合わせ」というメイルが来て指定できる)・・・という状況だったのだが、問題はそのウインドウに続いている「その下」だった。
さすがAmazonと言うべきか、「1970年代のプログレ - 5大バンドの素晴らしき世界 - (ワニブックスPLUS新書) に基づいたお客様へのおすすめ商品です」ということで以下のように4冊並んでいるうちの左の2冊は、昨日チェックしていた。 そして何と3冊目には、「ピンク・フロイド・アンソロジー」という本があるではないか!!!
これはもう、絶対にクリックして以下の商品ページに進むこと「必定」である。 しかしこの段階では、「主な収録記事」の項目は2冊目あたりから薄く隠れていて、見えない。 そして当然ながら、その一覧を見ることになる。 注文クリックに向かって一直線、Amazon商法、全開の展開である。
しかしこの「主な収録記事」の全貌を以下のように確認してみると、断捨離を極めて本棚を空けてきた僕にとって、1870円でそこに加えるには不満が多い内容だった。 プログレおっさんが求めているのは、「狂気」(ぎりぎり「ザ・ウォール」)までOKとしても、それより前の、「おせっかい」や「原子心母」こそが欲しいのである。 「おせっかい」(Meddle)の1曲目の「吹けよ風、呼べよ嵐」(One Of These Days)やB面マルマルの「Echoes」を語らずして「ピンク・フロイド・アンソロジー」と名乗るとは、片腹痛い限りなのだった。
若い人には分からないだろうが、昔はレコードというものがあり、中学生の僕は「おせっかい」(Meddle)のレコードを毎日聴いて、遂には聞き潰して(レコード針に擦られる磨耗によって、レコード盤というのは寿命を迎える)、このアルバムは2枚目(もしかすると3枚目)まで、お小遣いをはたいて同じものを買い直して、毎日聞き狂っていた(骨の髄までプログレに染まった)のである。・・・ということで、この本の購入をググッと断念バーグして一日が始まった。
- 特集 ピンク・フロイド[2002年1月号]
- 特集 ピンク・フロイド/狂気[2006年3月号]
- 特集 ピンク・フロイド『狂気』の真実[2011年10月号]
- 特集 ピンク・フロイド『ザ・ウォール』[2012年4月号]
- 特集 ピンク・フロイド『対(TSUI)』[2014年9月号]
- 特集 ピンク・フロイド『永遠(TOWA)』[2014年12月号]
- 特集 シド・バレット[2006年10月号]
- 特集 ロジャー・ウォーターズ[2017年7月号]
- 特集 ピンク・フロイド 進化の夜明け[2016年12月号]
- 特別復刻 「ピンク・フロイドを語る」一柳慧×宇野亜喜良×石坂敬一×中村とうよう[ニューミュージック・マガジン1971年8月号]
ちなみにまだ書いていなかったと思うのでここで書いておくと、僕の葬式(があるとしたら)で流して欲しい音楽は次の2曲のうちのいずれかでお願いしたい。 せっかくなので、現在YouTubeで生きているリンクも添えておこう。 第一候補についてはここ45年ほど、第二候補についてもここ30年ほど、不変である。 第一候補はPink Floydのアルバム"Meddle"の最終曲(B面マルマル、23分30秒ほど)の"Echoes" ★ ★ ★ 。 第二候補はマーラー「復活」の第1楽章(希望としては小澤征爾かバーンスタイン。こちらも22-23分ほど) ★ ★ ★ ★ 。 ちなみに葬式では第1楽章だけで終わり、最後まで流さないこと(復活してしまうので)。
そして午前にクリエート浜松であった「いきいき人権講座」(全体は3部構成)というのに出掛けて行き、竹内さんのテルミン演奏や講話を体験してきた。 第1部は竹内さん(+2人)による、テルミンやマトリュミンの演奏/合奏というミニコンサートであり、全ての曲は事前録音のピアノ伴奏の再生を伴っていた。 いずれも簡単な曲なのだが、3パートの合奏の時に気付いたのは、「これは合唱よりも超難しい」という事だった。 合唱であれば、他パートの「聞こえてくる音」と、自分の身体で鳴っている「自分の音」とは違うので、アンサンブルとして合わせるのは慣れれば簡単なことなのだが、テルミン/マトリュミン3重奏(ユニゾンでなく)の場合、他パートの「聞こえてくる音」と、自分が鳴らす「自分の音」とが、全て同じ音色なので、「自分を見失わない」という音楽的タスクの難易度は遥かに高いものとなる。
第2部は「マトリュミンの体験」というコーナーだが、会場に持ってきたマトリュミンは2台であり、竹内さん以外の2人がそれを持ってあちこち移動して・・・と行うので、実際に体験できたのは数人に一人だけ(僕はパス)だった。 第3部は竹内さんの「講話」ということで、実際には司会者が質問して竹内さんが語る、というスタイルで進んだ。 全体としては上のチラシを見ても分かるように、浜松市の事業の枠組みで「無料」で開催しているものの、中身としては「マトリュミン教室の生徒を発掘したい」という強い意志に満ち溢れたイベントになって、今回の場合には主催者の「人権」というテーマとの接点(障害者の人権尊重)がだいぶ希薄になっていたが、まぁ仕方ないのだろう。
このイベントに参加したことで、「テルミン」という楽器のさらに新しい可能性と課題について知ることが出来たので、だいぶpriorityは後退したものの、おいおいArduinoテルミンを再開した時には、そこに生きていくであろう収穫を得た。
そして午後になって気付いてみると、AbemaTVでは「将棋 西山女流三冠 編入試験第5局へ 勝てば初の女性プロ棋士」というライヴ中継をやっていた。 奨励会からプロ四段棋士になったばかりのピチピチの5人と対戦する五番勝負というのはなかなか過酷なのだが、よくここまで2勝2敗で合格に王手をかけたものだ。 最終局のラスボスは柵木幹太四段(26)ということで、「奨励会時代の三段リーグで1度も勝てていない」相手らしい。 そんな後ろ髪をひかれながら予約したJoyJoyに出掛けるので、結果は帰宅してからor明日に知ることになりそうだ。
2025年1月23日(木)
西山女流三冠は2勝3敗でプロ棋士編入ならずだった。 忖度なく戦った柵木四段もプロなのだ。
昨日のJoyJoyヒトカラでは、今回はいつものように漢方薬の助けを受けたが、6時間で59曲を完走した。 なんと今月は、8日15日22日と、3週連続の水曜日で3回とも「たまたま」(全く選曲が違うのに)59曲ということになった。 ただし来週の水曜日は日赤に行って「自宅のCPAPを装着しての検査入院」という予定があるので、JoyJoyは木曜日の予定である。
米国では「トランプ米大統領は20日、連邦政府が男性と女性の2つの性別のみを認め、変更はできないとする大統領令を出した」ということで、5ちゃん(「引き続きハゲとデブは差別されるのか」との苦情も)には上のような謎の「バイデン政権が認める性別一覧」という画像が貼られていた。 知らない単語が続出しているし、天気記号のようなそれぞれの意味もなかなか謎なのだが、こんなに多様な多様性がある・・・というのは知らなかった。 スポーツの世界でも色々と問題が起きているし、これはなかなか簡単にはコメント出来ないのだ。
午後イチには、「2025年1月21日(火)」のところの最後にリストしていた項目の実験をしてみた。 手元には何枚かの6軸センサを搭載したSeeeduino Lite(中身はLeonardoコンパチ)があり、この6軸センサ(加速度3軸、ジャイロ3軸、実はさらに温度センサの計7チャンネル)は非常に優秀なので、これを使ってボードを傾けた状態に応じてMozziを鳴らしたい、という着想である。 そして結論から書くと、「このボード(Leonardoコンパチ)はMozziが走る」というpositiveな結果と、「この6軸センサはMozziと相容れない」というnegativeな結果が同時に得られた。 上のArduinoスケッチでハイライトしている「Wire.h」というのが曲者で、アナログでなくシリアル通信をしてセンサ値をゲットしているのだが、どうもMozziが内部的に行っている処理とバッティングする模様である。 エラーメッセージには、割り込みベクトルが二重に定義されている、と書かれていたので、そこそこ厳しい割り込み処理をダブルで使うのは無理なのだろう。 これで、当初の構想はそのままでは駄目、と判明したが、まずまず大きな収穫でもあるのだ。
そして遂に「1970年代のプログレ --- 5大バンドの素晴らしき世界 ---」が届いた。 中古といっても完全に美品であり、得した気分である。 これから読むのだが、とりあえず著者紹介を見てみると、やはりと言うべきか、僕より1歳だけ若い、もろ同世代だった。 やっぱり、プログレはそうでなくっちゃ。
・・・そして約1時間ほど集中の時間を経て、あっという間にこの本を読み終えてしまった。 なんせジェネシスを無理やりに加えて「5大バンド」と著者が言っているものの、やはりプログレと言えば「キング・クリムゾン」・「ピンク・フロイド」・「イエス」・「エマーソン・レイク&パーマー」の4大バンドというのが定番であり、ジェネシスのところは完全にすっ飛ばした。 さらに多少は知っているものの、クリムゾンとELPについても僕としてはそれ程の思い入れは無いので、この2バンドについても斜め読みモードとなる。 結局、Pink FloydとYESの部分についてはフムフムと頷きつつじっくり読んだのだが、全体としてはこの本の半分ぐらいは不要だったので(それでも本棚に残すことになった)、1時間ほど、僕自身も著者と同じような中学生時代だったなぁ・・・と思い出しつつの読書となった。 これはまぁ、片面20分超で1曲というプログレのレコード盤にドキドキしながら針を置いたという経験の無い、最近の若い人にはちょっと無理かもしれないなぁ。
読了した「1970年代のプログレ --- 5大バンドの素晴らしき世界 ---」を本棚に入れる時に、上のような本がある事に気付いた。 これは2006年に「復刻版」が出たというニュースで衝動買いしたものの、一度も開いたことが無かったのだが、久しぶりにみっちり「本を読んだ」という充実感の残滓のためか、手が伸びたのである。 そしてここからまた約2時間半、集中してこの分厚い本「復刻版 大宇宙の旅」を、終わりまで一気に読み切ってしまった。 こんな素晴らしい本を、読まずに本棚に置くだけだった事を恥じたが、まぁ、これで一つは功徳を積んだような気もする。 しかし疲れた。
2025年1月26日(日)
一昨日の金曜日は朝から孫の幼稚園での参観会に行き、一緒に遊んだり園庭で運動した。 昨日の土曜日は このように 大井川鉄道・SLの旅(新金谷〜川根温泉笹間渡)に行った。 終点の川根温泉笹間渡から千頭までは台風被害で不通のままだが、その川根温泉笹間渡にある「道の駅」併設の温泉(露天風呂からは鉄道が見える)も堪能した。 この「鉄旅」は当然、 「乗り鉄」の記録 にも付記したが、最近の「旅」頻度の低下は僕にしてはなかなかのもので、ちょっと寂しいところもある。
AbemaTVでは王将戦第2局の2日目の中継をしていたが、たしかこれは午前中で無料が終わりになって、あとは有料となるので前回も視聴を投了した記憶がある。 Arduinoテルミンに関しては、2月2日が日本音楽即興学会大会の発表応募期限であり、その後に(形式的な)採択プロセス[採否は大会実行委員会が審査します]があって、結果の通知が「2月中旬ごろ」とあるので、そこでGOサインを受けたら再開するとして、当面は棚上げすることにした。
某バイト[2]の生徒向けにあれこれ作っては遊んでもらっている「Arduinoモノ」については、けっこう生徒から「また次を期待します」的なリクエストを受けているので、これは定期的にupdateしていかないといけない。 そこで午後に、まだ最終形態が未定のまま、やりかけていた「Seeeduino Liteに6軸センサが載っているボード」(Mozziとの共存はNG)を使って、上のような項目に従って実験を進めてみた。 続きは明日以降にやっていこう。
- Seeeduino LiteのオンボードSWに「ポートの電圧を+5Vと+3.3V」に切り替えるものがある
- 6軸センサボードが「+3.3Vシステム」のため、現状ではこのSWが「+3.3V」になっている
- ボード上のコネクタとしては「+5Vと+3.3V」の両方が出ている
- ブザーを繋いだところ、+3.3Vポート出力でも十分に鳴った
- NeoPixel_LED_Strip(個別駆動LEDテープ)の電源は+5Vが必要なのでボード上から+5Vを供給
- NeoPixel_LED_Stripのデータは+3.3Vでもスレショルドを超えているのでOKではないか・・・と想定
- 実験してみて、想定通りと確認できた(^_^)
- 今日のところは「加速度(1軸)をシリアル出力」と「45個のNeoPixel_LED_Stripの駆動」を並行する動作まで確認した
- このLEDテープとSeeeduino Liteを、ちょっと幅の広い30cmのプラスチック定規の両面に貼った
- この定規を傾けると、加速度(1軸)のデータは -16000〜+16000 あたりの値で大きく変化する
- この定規を正確に水平にするのは、なかなかに難度が高い → ここをゲーム的にしたい !!
2025年1月27日(月)
昨日はライヴ中継が見られないので晩にチェックしてみると、やはり藤井七冠が王将戦第2局も勝利していた。 軍曹・永瀬九段の研究を打破する棋譜を眺めてみたが、やはり、流石と言うしかない。 これまでのタイトル戦、京都で負けなしとのことだが、伏見稲荷大社で美味しいいなり寿司を食べたのが効いたようである。
そして今日は午前中から午後にかけて、昨日から持ち越した新Arduinoシステムのプログラミングに没頭する、という幸せな時間を過ごした。 その結果、遂に、およそ1週間ほど懸案だった「傾きセンサ」もののアイデアが、「30cmプラスチック定規」という土台を得て、完成した。 使い方については YouTube動画 を見れば分かるようにシンプルであり、タスクとしては、「輝点の表示ポイントを移動させ、定規の中央点(ここでは白色になる)を3秒以内に10回通過させる」というのが目標である。 3秒を超えるとレッドLEDの「失敗」結果がサウンドと共に表示され、カウントはクリアされる。 また、定規の両端にあるレッドゾーンに入ると通過カウント数はリセットされる。
上のArduinoスケッチで工夫したのが「傾きと輝点ポイントの移動速度との関係」であり、大きく傾けると速度が低下して、ほぼ水平に近いところでは高速で移動する、というのが、このGameの面白さとなっている。 6軸センサのうち1軸加速度だけを使って、およそ「-16000〜+16000」のデータを現在値に加算するための重み付けを変えて、普通であれば大きく傾ければより高速に移動する筈のところ、「逆感覚」で水平近傍で高速に移動、というのが「売り」である。 これをロボット教室の生徒たちがどう感じるのか、今から反応が楽しみとなった。#include <Wire.h> #include <FastLED.h> #define LED_PIN 9 #define NUM_LEDS 45 CRGB leds[NUM_LEDS]; const int MPU_addr=0x68; int16_t AcX; int i, musicScale[] = {523,587,659,698,784,880,988,1047}; int points, old_flag = 0; long sum_point = 22000, sum_point2, differ, score = 0; unsigned long myTime1, myTime2, myTime; void setup(){ Wire.begin(); Wire.beginTransmission(MPU_addr); Wire.write(0x6B); // PWR_MGMT_1 register Wire.write(0); // wakes up the MPU-6050 Wire.endTransmission(true); for(i=0; i<9; i++){ tone(11, musicScale[i]); delay(40); noTone(11); delay(60); } Serial.begin(9600); FastLED.addLeds<WS2811, LED_PIN, RGB>(leds, NUM_LEDS); for(i=0; i<NUM_LEDS; i++) leds[i] = CRGB::Black; FastLED.show(); } void loop(){ Wire.beginTransmission(MPU_addr); Wire.write(0x3B); // starting ACCEL_XOUT_H Wire.endTransmission(false); Wire.requestFrom(MPU_addr,2,true); // 2 registers AcX=Wire.read()<<8|Wire.read(); // ACCEL_XOUT if(AcX != 0){ if(-10 < AcX && AcX < 10) differ = 500 / AcX; if(-20 < AcX && AcX < 20) differ = 1000 / AcX; else if(-100 < AcX && AcX < 100) differ = 20000 / AcX; else if(-300 < AcX && AcX < 300) differ = 40000 / AcX; else differ = 80000 / AcX; sum_point2 = sum_point + differ; if(sum_point2 > 44000) sum_point2 = 44000; else if(sum_point2 < 2) sum_point2 = 0; else sum_point = sum_point2; points = sum_point / 1000; } check_and_display(); } void check_and_display(){ for(i=0; i<NUM_LEDS; i++) leds[i] = CRGB::Black; if(points == 22){ leds[22] = color_set(4); if(old_flag == 0){ tone(11, musicScale[5]); delay(45); noTone(11); delay(45); tone(11, musicScale[3]); delay(60); noTone(11); old_flag = 1; if(score ==0) myTime1 = millis(); score++; if(score > 9){ myTime2 = millis(); myTime = myTime2 - myTime1; if(myTime < 3000){ for(i=0; i<15; i++) leds[3*i+1] = color_set(3); FastLED.show(); melody_end(); delay(1500); old_flag = 0; score = 0; points = 20; return; } else{ for(i=0; i<23; i++) leds[2*i] = color_set(1); FastLED.show(); for(i=40; i>10; i--){ tone(11, i*50); delay(50); } delay(300); noTone(11); delay(1500); old_flag = 0; score = 0; points = 20; return; } } } } else if(points < 2){ leds[0] = color_set(1); leds[1] = color_set(1); tone(11, 100); delay(50); noTone(11); delay(200); score = 0; } else if(points > 42){ leds[43] = color_set(1); leds[44] = color_set(1); tone(11, 200); delay(50); noTone(11); delay(200); score = 0; } else{ leds[points] = color_set(8); old_flag = 0; } FastLED.show(); } CRGB color_set(int color){ if(color<1 || color>8) return(CRGB::Black); switch(color){ case 1: return(CHSV(96, 255, 127)); // Red case 2: return(CHSV(0, 255, 127)); // Green case 3: return(CHSV(160, 255, 127)); // Blue case 4: return(CRGB::Gray); // White case 5: return(CHSV(60, 255, 127)); // Yellow case 6: return(CHSV(128, 255, 127)); // Pink case 7: return(CHSV(87, 255, 127)); // Ogange case 8: return(CHSV(random8(), 255, 127));// Random } } void melody_end(){ tone(11, musicScale[0]); delay(120); tone(11, musicScale[2]); delay(120); tone(11, musicScale[4]); delay(120); tone(11, musicScale[7]); delay(400); noTone(11); }2025年1月28日(火)
「フジテレビ記者会見10時間23分」などというニュースで溢れた今朝は、以下の新しい錯視「拡大する穴」の情報とか、QRコードのピクセルをさらに分割して2種類のURLを盛り込んだ 2つのURLを読み取れるQRコード などという面白い情報も飛び込んできた。
今日は何も予定の無い日なのだが、月末ということで某バイト[2]のテキスト(たいてい月末に翌月分のテキスト情報がアップロードされる)の作業に時間を費やす日となった。 なんせ、提供されるテキストは「電子ブック」の形式(Webブラウザで見て、ページを繰って参照する)なので、以下のような作業を、テキスト1本ごとに、いちいち手作業にてPDFにまとめないとイケナイのだ。 まるまるダウンロードで持って行かれるのが嫌なのだろうが、この作業は月イチとはいえ、まずまず苦痛でもある。
そして午前から午後まで、淡々とこの単純作業を続けたのだが、途中で出てきた「8*8ドットマトリクスLED」のところで、最近ではLOWとCOLUMNでマトリクスを組んで表示するという古典的なテクニックというよりは、コントローラ「MAX7219」という便利なものを使っている・・・と知った。 そこでちょっと調べてみても ここ とか ここ とか ここ とか ここ とか ここ とかに情報があり、価格もかなり安いことが判明した。
- ヒューマンのサイトにログインする
- 教室指定のログインでさらに進む
- タブメニューから「ロボット教室」or「ロボプロ教室」のテキストページに行く
- テキスト集ページにずらーーーっと並ぶテキスト(アイコン)から選ぶ ★
- 画面が「電子ブック」になる(表示は見開き2ページ単位)◆
- ツールバーの「印刷」ボタンを押すと、そのページの「左側」「右側」を選ぶサブウインドウが出る
- これで左右のどちらかを指定して「プリント」ボタンを押す
- MacOSのプリント設定ウインドウが出てくるので、この下にある「PDF」プルダウンメニューから「PDFに書き出し」を選ぶ
- PDFに書き出す(行き先はdefaultでdesktop)サブウインドウが出てくるので、ここに連番で 01, 02, ・・・という数字を入れる
- 「電子ブック」をめくって次のページに進む (→以下◆ループ)
- この作業を最後まで繰り返すとデスクトップに 01.PDF, 02.PDF, ・・・ というのがずらりと並ぶ
- 最後まで連番PDFが揃ったら「電子ブック」を閉じて、MacOSのPreviewで「01.PDF」を開く
- ウインドウ左側のツールバーにサムネイルを表示するようにする
- デスクトップの02.PDFをツールバーの01.PDFの下にドラッグドロップして入れる
- これを最後のPDFまで繰り返す
- 最後にPreviewの「印刷」を指定して、プリント設定ウインドウの下にあるメニューから「PDFに書き出し」を選ぶ
- 最終的に書き出すテキストPDF名を入力して全ページが一体となったPDFを書き出す
- このPDFを必要箇所に移動させて、最後にデスクトップに並んだ01.PDF, 02.PDF, ・・・ を消去する
- 「テキストを選ぶ」の画面★に戻って次のテキストの作業を行う (→以下★ループ)
そこでついついAmazonに行って「Arduino 8*8 LED matrix MAX7219」と調べてみると、出るわ出るわ、マトリクス1個だけでなく「4連」や「8連」や「4連2列」などというのも出てきた。 とりあえず、コントローラで楽をしてLEDマトリクスを点灯させたことは無かったので、これは実験だ・・・とさっそくポチってしまった。 明日の晩から明後日にかけて、日赤に行って「CPAPを装着しての生体計測」検査があるのだが、なんとその検査から帰ってきた木曜日には届いてしまうらしい。 ライブラリ等を調べたりの実験はそれ以降として、さらにひたすら、夕方までテキストPDF化の単純作業を続けたが、それでも今日だけでは半分にも届かず、作業は終わらなかった。 というのも、毎月の新しいテキスト(Basic/Middle/Advence)だけでなく、今回はこれから新たに受け持つかもしれない「ロボプロ」の過去のテキストも(合計80本ほど)残っていたためである。 過去の全てを手元にPDF化(→自分のiPadに入れて教室に持参用)してしまえば楽になる(あとは毎月の差分 * コース数)ので、ここは頑張るしかないのだ。
2025年1月29日(水)
今日は夕方に日赤に出かけるまでに何とか・・・と、昨日から続くテキストPDF化の作業を進める一日となったが、あまりに相手が厖大なため、「ロボプロ3年目」の4テーマ(計24ファイル)を後回しに作業するとして、まずはその前までを一日がかりで進めた。 ネットからは「すごすぎて鳥肌…歩き方が人間そっくりな中国製ロボットが話題」という、素晴らしい動画(アニメGIF)も届いたが、伝説の 先行者 から遂にここまで来たか・・・と感慨深いものがある。
「日記」シリーズ の記録