RRR日記(10)

長嶋 洋一


→ RRR日記(1)

→ RRR日記(2)

→ RRR日記(3)

→ RRR日記(4)

→ RRR日記(5)

→ RRR日記(6)

→ RRR日記(7)

→ RRR日記(8)

→ RRR日記(9)

→ RRR日記(11)

2025年11月1日(土)

11月になった。 ちょうど1年前の今日は、思い立って RRR日記(4) の冒頭の「2024年11月1日(金)」のところに、この日が誕生日だった僕の親父について、初めてみっちりと書いていた。 そしてその最後には、以下のように書いていた。
さて、これで終わりではないのである。 発掘してきた「JR1UDK」という圧縮ディレクトリの中には、親父の遺品などを処分の前にスキャナで取り込んだ
「records」というディレクトリがあって、ファイル総数145個、合計45MBの厖大なデータ類、それもなかなかに貴重なものがサッと見ただけで豊富に
あった。 これを今日のうちに吟味してここに追記するのは不可能なので、とりあえず「仕掛かり作業」というところに置いてみて、おいおい時間がある時に
きっちりと発掘(再発見)してみることにした。 
しかしこの予告は全く実行されずに1年が経過していたのだった。 まぁ、そんなものだろう。
1年間で「RRR日記」はpart4からPart9まで進んだことになるが、どれだけ生産的だったのか、自分として満足度は75%ほどだろうか。

今日は竜王戦第3局(仁和寺)の2日目であり、50手目の封じ手を開くところから観戦である。 ロボット教室には14時〜18時あたりに出掛けるので、たまにある「あっさり終局」でない限り、帰宅してから終局までの瞬間に立ち会える可能性に期待したい。

ネットニュースからは Adobe対抗「Affinity」が無料に デザイン、写真編集、レイアウトツール統合「本当に無料です」 というのが流れてきた。 僕はもっぱらこれまで「Graphic Converter」一択で来たのだが、これはちょっと試してみるかもしれない。

そしてロボット教室に行って、無事に生徒のロボット制作が進むように支援した。 自分のサンプル教材のプログラミングは教室の合間に行ったが、今回のものは「リモコンで操縦するだけ」ということで、一発で動いた。 YouTube動画 のように、なかなか可愛い動きなのだった。

そして帰宅してみると、「藤井曲線」が順調に進展していて、ロボット教室のお仕事(家族宛に報告メイルを出す)をしている最中に、「投了」の瞬間を見届けることになった。 今回は仁和寺だったが、第4局も同じ京都で、何故か会場は「京都競馬場」なのだという。 空港というのもあったが、色々と話題作りに頑張っているようだ。

2025年11月3日(月)

昨日はワールドシリーズ最終戦を「1分遅れテキスト中継」で細々と堪能した。
文化の日に相応しいというのか、 【絵画が動く】世界初公開『Moving Paintings』福田美術館とGoogle Arts & Cultureがコラボ というのがニュースで流れてきた。

YouTube動画 を見てみると、成る程とも思えるが、やや不気味だとも思えるボーダーラインだった。 これも「文明のAI病」の一つと言えそうだ。

「成り行き即興」と「作り込み即興」についての考察 ー EXPO2025に参加して ー

情報処理学会・音楽情報科学研究会において、「EXPO2025プロジェクトに参加して」というタイトルで報告した★(https://nagasm.org/ASL/SIGMUS2509/)。
本発表では、この体験(詳細は報告★を参照のこと)を契機として再発見することになった、即興における対極的な特性 : 「成り行き即興」と「作り込み即興」に注目して
考察した事項について報告すると共に、即興の本質に関する問題提起を試みる。
筆者がこれまでComputer Musicの領域で行ってきた作曲/公演活動において、即興性を「環境として作り込む」ことは公演を事故なく成立させるために不可欠であり、
個々の音楽要素を即興的にライヴ生成するアルゴリズムにしても、演奏者の即興的身体表現のセンシングにしても、音響/映像を聴衆に提示するシステムにしても、
事前に十分に作り込んで会場に持ち込み、トラブルに対する安全装置を二重三重に準備することは常識だった。いわば「お釈迦様の掌の空間内で即興する孫悟空」と
いう世界観である。
一方、成功裏に終わったと言われる大阪万博2025において筆者が参加した「伝統文化未来共創Project(The Future in Tradition)」の中の「伝統の中にある未来 
ー Japanese Experience ー」など多くの企画については、公演の「場」としてのパビリオンは建設し割り当てられたものの、時間的・運営的・財政的などの要因から個々の
公演内容の準備は直前まで不透明なまま当日を迎えた。これは従来手法での即興の実現というよりも、「場」そのものの存在や運営が即興的という対極的な皮肉となり、
関係者を翻弄した。この貴重な体験から「成り行き即興」と「作り込み即興」という視点、「どんな時でも揺るがない即興」について体験した事例を報告すると共に、改めて
即興について見つめ直してみたい。
これまで漠然と構想していた内容を上のようにまとめて、来年2月に日大で開催される「日本音楽即興学会 2025年度第17回大会」への発表応募として出してみた。 具体的なEXPO2025の報告は ここ にあるのでそこはパスして、あのEXPOイベントそのものが、行き当たりばったり(「高校の学園祭みたい」と言われていた)の運営だったところを「即興」と捉えての発表としてみたい。

2025年11月4日(火)

今週はロボット教室の「谷間」なので予定が空白の日々が続く。 そこで、うまくいかないままだった RRR日記(9) の「2025年10月29日(水)」の最後あたりに置いた Matrix.swf について、決着を付けるべく実験してみた。 元々は以下( この動画 )のように、「FlashコンテンツをFlashPlayerで走らせる」というだけの事である。

ところがここには重大な問題があった。 上の環境は、「Intel Macで、Flash Playerアプリが存在する」という時代のものだったのである。 新しいMacBookAirはApple Siliconになっていて、これだと「Flash PLayerアプリ」というものが存在しない。 Flashの位置付けが「時代の寵児」から「悪しき者」へと激変した結果なのだ。
そこでネットを調べてみると、2つの解決法が提示されていた。 まず「Riffle」というエミュレータがあり、これは簡単にゲット出来たのだが、Matrix.swfを指定して開こうとすると、以下のように「arm64.dylib」が未認定のために使えない、とメッセージが出てきた。

これを構わず「Done」連打で続行すると、一見して以下のようにFlashが開いて、動作としてもマウス操作は正常に動いているように見えた。 ところが、肝心の「リアルタイム動作」と共に「サウンド」が出なくて、このFlashの持っている機能は実現できていないのだった。

そこでもう1つの解決法、Flashが走るという「Elmedia Video Player」をダウンロードしてみた。 ところがこれも、そのままではMatrix.swfを認識せず、駄目だった。 ただしさらに検索してみると、Intel対応アプリをApple Silicon環境で走らせるための「Rosetta 2」というものがあり、さらに このページ に従って、ターミナルから「$ softwareupdate --install-rosetta --agree-to-license」と打ってみると、それだけで「Rosetta 2」をダウンロードしてインストールまで完了してしまった。

そして「Elmedia Video Player」の情報の中の「Rosettaで開く」check boxを入れると上のように、見事にMatrix.swfが本来の機能で走ってくれた。 これは素晴らしい。 そのあたりの顛末を この動画 に記録してみたが、これでこの件は無事に決着した事になる。 Windowsの人については、たぶんAdobeあたりからFlash Playerがゲット出来るだろうという推測で、これにて、来年の京都精華大での新しい講義の中に、「 Matrix.swf を皆んなで体験する」というメニューが実現できることとなった。

2025年11月5日(水)

ほぼ毎日届くKickStarterからのカタログMLだが、今日のはちょっとソソラレてしまった。コンパクトに畳める机上スキャナで、アーム先端のカメラでA4サイズをきっちりスキャン出来るという 優れもの である。

デモのアニメGIFの「スキャン作業」そのものは、昔からある高額な「プリンタのように自動読み込みするタイプのスキャナ」と違って旧態依然とした姿なのだが、コンパクトに畳んで持ち運びできて、価格がEarlyBirdで HK$770、約15,261円 というのは凄いことで、送料もなんと「Free Shipping - United States, European Union, Canada, Australia, United Kingdom, Japan」と無料なのだ。

思わず「バックする」をクリックしかけたのだが、僕の部屋には昔からCanonの薄型A4スキャナがあって活躍中なので、この可搬型を嬉しそうに持ち歩く局面もなさそう・・・と気付いて、ググッと堪えた。 ムービーの最後にあった「A4サイズのカメラとしてフロジェクタにも繋げる」というのも、まぁ大抵は「紙原稿」でなく電子化されたドキュメントとなっているので、考えてみるとあまり用途は無いのだった。

それよれも驚いた(納得した)のは、上の「人工知能(AI)が予測した25年後の人類の姿。腹部肥満や肌の老化など、現代人が今の生活習慣を続けた場合に現れるかもしれないさまざまな身体的変化を示している」という画像である。 こういうところに生成AIの役目があったのか、というのも細やかな発見である。 僕はこういう姿勢でスマホに没頭する日々ではないものの、色々と思い当たるような痛いところもある。 これはもう「他山の石」ではなく、「明日は我が身」と思っていかなければ。

米国のポイ活アプリ「WeWard」は「今のように座りっぱなしの生活を続ければ、2050年の私たちはどうなるのか」というテーマでAIモデルを提示した。
このモデルは、世界保健機関(WHO)や米疾病対策センター(CDC)などの関連資料を収集し、それをChatGPTに入力して生成したものだ。
WeWardは、AIが予測した人物を「サム(Sam)」と名付け、「運動不足が身体の外見と健康に及ぼす影響を医学的に視覚化した結果」と説明した。
公開されたサムの姿は、長時間の座式生活で消費カロリーが少なく、新陳代謝が低下して腹に脂肪が蓄積し、腹部肥満になっている。長時間、前かがみの
姿勢でスマートフォンを使ってきたため、背中は丸まり、頭部が前方に傾き、いわゆる“猫背”の状態だ。目は充血している。
臀部や膝などの関節も硬くなり、血液循環が悪いため足首や足はパンパンにむくんでいる。また、座りっぱなしの生活による疲労や血行不良、栄養バランスの
乱れによって髪の毛は細くなり脱毛が起こり、血管の健康も悪化して肌のハリを失い、色素沈着が進んでいる様子だ。
WeWardは「WHOの調査によれば、青少年の80%が推奨される身体活動量を満たしていない」とし「食事の注文、会議、友人との会話まですべてソファの
上で済ませ、SNSでコンテンツを見る時間まで合わせると、私たちはほとんどの時間を画面の前で座って過ごしている」と指摘した。
さらに「身体活動の不足は、心臓病、脳卒中、糖尿病、がん、認知症の発症リスク増加などの健康問題と直接的に関係しており、睡眠、筋肉・骨の発達、
うつや不安に至るまで、日常生活の質に影響を与える」と強調した。
そして「今回のプロジェクトは、単に恐怖をあおるためのものではなく、現代人がいかに動かない生活をしているかを警告する試み」とし「もし動かなければ、
私たち全員が“サム”のようになってしまう」と警鐘を鳴らした。 
そしてネット記事としては、 ChatGPTを使ったAI学習は「浅い理解」しか生まない:最新研究が解き明かす知の危機とは というものもあった。 まぁ、中身としては「当たり前田のクラッカー」なのだが、研究者が行った実験のプロセスは明瞭で、「(1)LLMグループ: ChatGPTのような大規模言語モデル(LLM)を使い、AIが生成した要約から情報を得る、(2)Web検索グループ: Googleのような従来の検索エンジンを使い、表示された複数のWebサイト(リンク)を自分で閲覧して情報を集める」という2群で行った。
その結果、「LLMグループの参加者は、Web検索グループに比べて、情報収集に費やす時間が大幅に短かった」という予想通りのものだったのだが、被験者のアンケートとして「LLMグループの参加者は、Web検索グループの参加者よりも『トピックについてあまり学べなかった』・『得られた知識に対する個人的な納得感や所有感が低い』と主観的に報告した」というところは、まず興味深い。
報告が面白いのはその後で、LLMグループが作成したアドバイスには、(1)内容が短い: 全体的な文字数が少なく情報量が乏しい、(2)事実の引用が少ない: 具体的なデータや根拠となる事実への言及が少ない、(3)内容が画一的: 他のLLMグループの参加者が書いたアドバイスと内容が酷似していて独創性に欠ける、という特徴があったという。 それだけでなく、このアドバイスを受け取った第三者グループの評価として、LLMグループによって書かれたアドバイスを、Web検索グループのものと比較して、「役に立たない」「情報量が少ない」「信頼できない」と明確に評価した、という部分が面白い。 つまり、能動的な「探求」 vs 受動的な「消費」という問題点が明確に出てきたわけである。 これを教育の場に関係する者はしっかりと認識すべきだろう。 僕が日頃、あれこれ検索する時に「AI検索」を使わずにWeb検索しているのは、正解だったのだ。

2025年11月7日(金)

昨日は週一のルーティンのJoyJoyヒトカラ6時間で60曲を完走したのだが、ちょっと新しい展開があった。 その一つは、これまで6時間(15-21時)だったパターンを変更して、翌週の予約を「5時間」(14-19時)としたことで、まぁ、色々と身の丈を考慮したものである。 もう一つは、今回の6時間飲みっ放し歌いっ放しの最中「No Drug」だった、という画期的な事実である。 別にDrugと言っても怪しいものではないが、これまでいつも必ず、マルチビタミンとか葛根湯とか「のどぬーる」、そして必殺の「響声破笛丸料」などを途中で補充することで乗り切ってきた。 ところが、どうも昨日は調子が良さそう・・・という事で、長らく続けてきたヒトカラ歴史上、初めての事として最初から最後まで「No Drug」だったのだ。 これはかなりレアな事で、新しくプリントした このリスト の第1欄(以前とのカブりを気にせず好きな曲を入れる)ということでなかなか強めの60曲を押し通した回なので、完全に個人的体験であるものの、その感慨はひとしおである。
2025年10月19日にルーブル美術館で発生した盗難事件をきっかけに、美術館のセキュリティがずさんだった可能性があることが指摘されています。過去には
監視カメラのパスワードを「ルーブル(Louvre)」にしていたことがあるなど、特にITシステムの脆弱(ぜいじゃく)性は特筆に値するとのことです。
10月19日、ルーブル博物館に目出し帽をかぶった4人の強盗が侵入し、複数の美術品を盗み出しました。犯行時間がわずか10分未満と短いことから、周到に
計画されていた可能性や、美術館側の警備体制があまりにも脆弱だった可能性があることが指摘されています。
強盗事件の直後、フランス文化大臣のラシダ・ダティ氏は繰り返し「セキュリティ装置は故障していなかった」と主張しましたが、10日後にその口調は変わり、
「警報は作動した」と主張しつつも「確かにセキュリティ上の欠陥は存在した」と強調。そして「欠陥、過失、責任について徹底的に解明する」と述べ、セキュリティ
上の欠陥を監査し、修正するための最初の緊急措置を発表しました。
こうしたセキュリティ上の欠陥は、10年以上前から存在し続けていたことが、現地メディアのLiberationが確認した資料から明らかになりました。
上のようなニュースも流れてきたが、流石に「パスワードをLouvreにしていた」というのは、超一流のジョークだろう。 その代償はあまりにも大きかった。

夕方からのロボット教室に出掛ける前には、ミドル教室の生徒にも「ロボプロ」という世界を見せようか・・・と思い付いて、リンクロボットの上に搭載した8×8マトリクスLEDに「芸」をさせつつ、プレステのリモコンで操縦するというversionに改訂してみた。 狭い部屋の半分くらいを使って、 記録動画 も撮ってみた。

#include <RPlib.h>
#include <PS2X_lib.h>
#include <Sprite.h>
#include <Matrix.h>
RPmotor mcl(MC2);
RPmotor mcr(MC1);
PS2X ps2x;
Matrix myMatrix = Matrix(11, 13, 1);
float ll, rr;
int x,y,x1,y1,x2,y2,counter,mode;

void setup(){
    myMatrix.clear();
    myMatrix.setBrightness(3);
    ps2x.config_gamepad(13, 11, 10, 12, true, true);
    x1=1; y1=6; x2=6; y2=1;
    counter=0;
    mode=2;
}

void loop(){
    rx_controller();
    matrix_led_display();
    delay(10);
}

void rx_controller(){
    ps2x.read_gamepad();
    ll = ps2x.Analog(PSS_LY);
    rr = ps2x.Analog(PSS_RY);
    ll = constrain(ll, -127, 127);
    rr = constrain(rr, -127, 127);
    mcl.rotate(-2 * ll);
    mcr.rotate(2 * rr);
}

void matrix_led_display(){
  if(++counter < 8) return;
  counter = 0;
  mode = ++mode % 3;
  switch(mode){
    case 0:
      myMatrix.write(x1, y1, LOW);
      myMatrix.write(x2, y2, LOW);
      x=x2; y=y2;
      area_check();
      x2=x; y2=y;
      myMatrix.write(x2, y2, HIGH);
      x=x1; y=y1;
      area_check();
      x1=x; y1=y;
      myMatrix.write(x1, y1, HIGH);
      break;
    case 1:
    case 2:
      myMatrix.write(x1, y1, LOW);
      x=x1; y=y1;
      area_check();
      x1=x; y1=y;
      myMatrix.write(x1, y1, HIGH);
      break;
  }
}

void area_check(){
  if( x>0 && x<7 && y>0 && y<7 ) dice(0);
  else if( x==0 && y==0 ) dice(1);
  else if( x==7 && y==0 ) dice(2);
  else if( x==0 && y==7 ) dice(3);
  else if( x==7 && y==7 ) dice(4);
  else if( y==0 ) dice(5);
  else if( x==0 ) dice(6);
  else if( x==7 ) dice(7);
  else dice(8); 
}

void dice(int z){
  int i;
  switch(z){
    case 0:
      i = random(4);
      if(i==0) x = x + 1;
      else if(i==1) x = x - 1;
      else if(i==2) y = y + 1;
      else y = y - 1;
      break;
    case 1:
      i = random(2);
      if(i==0) x = x + 1;
      else y = y + 1;
      break;
    case 2:
      i = random(2);
      if(i==0) x = x - 1;
      else y = y + 1;
      break;
    case 3:
      i = random(2);
      if(i==0) x = x + 1;
      else y = y - 1;
      break;
    case 4:
      i = random(2);
      if(i==0) x = x - 1;
      else if(i==1) y = y - 1;
      break;
    case 5:
      i = random(3);
      if(i==0) x = x + 1;
      else if(i==1) x = x - 1;
      else y = y + 1;
      break;
    case 6:
      i = random(3);
      if(i==0) y = y + 1;
      else if(i==1) y = y - 1;
      else x = x + 1;
      break;
    case 7:
      i = random(3);
      if(i==0) y = y + 1;
      else if(i==1) y = y - 1;
      else x = x - 1;
      break;
    case 8:
      i = random(3);
      if(i==0) x = x + 1;
      else if(i==1) x = x - 1;
      else y = y - 1;
      break;
  }
}
上がそのArduinoスケッチである。 単に「LED芸」を改訂して、「リモコン操縦」と合体させただけだが、これでメインloopでは10msecのdelayしか無いように仕立てたので、さらに色々な処理を増設することが容易になった。 これがミドル教室の生徒にウケるのかどうか、荷物が増えて大変なのだが、今回は「電子工作」セットを持参する代わりにこれを持っていくことにした。

2025年11月8日(土)

この週末はロボット教室も無く、来週月曜にはリベンジ献血で浜松駅に行くぐらいの予定なので、サンプル教材ロボットの改訂とか週一routineのMartin弾きぐらいで緩く過ぎていく。 Amazonで仕入れて手元に置いて眺めていたブツに関して、次第にイメージが湧いてきたので、ぼちぼち何かを作り始めるかもしれない。

ネットからは「富士吉田市で撮られた富士山」という上の写真が流れてきた。 僕のいる浜松からは、空気が澄んでいる時に11階の研究室から微かに見える富士山が限度だったので、こういうクリアなのは珍しい。 とりあえず以下のように、過去の 研究室ページ から「富士山」という写真を発掘して並べてみた。 ちなみに一部、 NIME2011(オスロ) からの帰途に上空から見た富士山とか、たまたま出張の新幹線から撮った富士山も混じっている。

SUAC開学の2000年から数年間は富士山が当たり前に見えていたので記録など残しておらず、上の先頭の写真は2007年4月だった。 しかし中国から「PM2.5」とか「黄砂」が来襲するようになり、どんどん見える頻度が低下して、2020年頃には冬季シーズン全期間で一度か二度、という感じになっていった。

ロボット教室・ミドルクラスでは1回目で「ロープウェイ」のようなロボット(紐をピンと張ったところにぶら下がって移動)だったのだが、2回目に向けて大幅な改訂作業を行った。 今回の「肝」となるのは、ちょっと小学生には理解が難しい「重心」なのだが、実際に作ってみると、どうも左右に長く伸びた「脚」でバランスさせても、重心が微妙に支点(ロープ)と同じような高さのために安定しなかった。 そこでテキストに書かれていないが「脚」ブロックをさらに1本追加して、ようやく倒れない「やじろべえロボット」が完成した。 またまた狭い部屋の半分くらいを使って 記録動画 も撮ってみたが、これでだいぶ雑然とした僕の部屋が丸見えになってしまった。

2025年11月10日(月)

今日は 午前からバスに乗って浜松駅前に行き、(1)「みゅうず」で66回目の400cc献血、(2)ABCマートで靴の受け取り、(3)「坐・茶土家(ざ・ちゃっと)」でのいつもの「飲みランチ」、(4)JoyJoy駅前店で3時間ほどのヒトカラ、という予定を粛々とクリアした。 献血センター「みゅうず」では約1ヶ月前に行ったところ、 この日記のPart9 の「2025年9月26日(金)」のところに書いていたように、ヘモグロビン濃度が「12g/dl」ということで「献血NG」となっていたのだが、リベンジの今回は「15.1g/dl」ということで通常に戻っていて、問題なく献血できた。
そしてJoyJoy駅前店でのヒトカラでは「季節外れ特集」の選曲(春もの/夏もの)で冒頭からマル1時間、かなり「攻めた」曲を選んでちょっと喉が枯れてきたのだが、そこで投入した「響声破笛丸料」が予想外に効いて、その後2時間、全力で絶唱しきった。 これは最近の自分の体調(声帯)について、また一つ、新たな実感を獲得したという意味で、単なる打ち上げ以上の成果となった。 今週は、明日に耳鼻科[火]、明後日に内科[水]、そして新たな5時間ヒトカラ体制[木]、さらにロボット[金][土][日]、と実質的にはスカスカなのだが、予定的には埋まって過ごしていく感じである。

2025年11月11日(火)

予定では今日は耳鼻科に行って、明日に内科に行くつもりだったが、考えてみれば朝イチで耳鼻科に行くとまだ薬局がopenしていないものの、その足でさらに内科に行けば薬局がopenしていて両方を一日で終えられる・・・と気付いて、そのようにした。 内科ではコレステロールの詳細な情報のために2日連続の血液検査となったが、僕は注射とか採血は全く気にならないので無問題である。

過去には献血日から1ヶ月ほどして届いていたハガキだったのが、現在は翌日には献血の結果がスマホや「ラブラッド」で過去3回分まで見られる。 上のように今回の結果はこれまでで一番良好で、内科のコレステロール血液検査結果も、「総コレステロール=166mg/dL」・「善玉コレステロール=72mg/dL」・「悪玉コレステロール=75mg/dL」・「中性脂肪=95mg/dL」と、これまで出たことの無い良好な結果だった。
1項目だけ、「アルブミン」が規定外だったのだが、以下のようにギリギリ低いだけであり、それ程、心配は要らないらしい。 昨日も盛大に「飲み歌い」してきた事もあり(医師には言わなかったが(^_^;))、まぁ肝臓に負担がかかっていたのは自覚ありなのだ。

これで明日に予定していた内科通院も無くなって、耳鼻科と内科からの常用処方薬も満タンになった。 手元には、Amazonで仕入れたブツがずっと置かれたままになっているのだが、まだアイデアが熟していないので、着手をググッと堪えた状態である。 いつものパターンだと、そのうち具体化のアイデアが「夢に出てくる」ので、それまで焦ることなく熟成を続けていこう。

2025年11月12日(水)

午前にちょっと買い物の運転手をしたりしていて、午後になってから気付いたのだが、今日と明日の2日間は、第3局(仁和寺)に続いてまたまた京都にて、竜王戦の第4局だった。 以下の巨大な「馬」にあるように会場は京都競馬場ということで、いつも素晴らしい「書」や「絵」が背景にあるのだが、来年の干支が関係しているのかどうか、この立派な「馬」というのも面白い。

角換わりから藤井竜王が「右玉」という展開でじっくりと進んでいきそうで、明日のJoyJoyヒトカラ(パターン変更)は19時までなので、もしかすると帰宅直後に終局を見届けられるかもしれない。

竜王戦は午後も両者の評価値が50%のまま、夕方までじりじりと推移していった。 途中で藤井竜王の右玉が初期位置の51に戻って、さらに両者の4枚の桂馬が全て上のように「桂馬繋がり」で繋がったり・・・と、競馬場対局らしく「馬」が主役で推移していった。 そして結局、AbemaTVで隣のチャンネルで並行していた麻雀LIVE中継の2件をCMの時間中に見たりしつつ、85手での封じ手まで見届けた。

2025年11月13日(木)

そして竜王戦第4局2日目の朝となった。 考えてみればここで勝つと、藤井竜王は単にタイトル保持というだけでなく、5期連続の「永世竜王」となり、それも渡辺九段の記録を抜いて最年少永世竜王という記録となるのだった。 AbemaTVの生中継を見てみると、なんと立会人の並びにレジェンド武豊騎手の姿もあった。

そんな竜王戦を眺めつつ日々のroutineでネットニュースをチェックしていると、「まるで老人...ロシア初の「AIヒト型ロボット」がお披露目会で「情けない大失態」...「衝撃映像」がSNSで拡散」というのが流れてきた。 最近では中国のロボットがその場でバク宙したり、ロボットらしからぬ人口筋肉/皮膚を纏ったり・・・というニュースが多かったが、遂にロシアも出てきたか、と身構えた。 なんせ中国もロシアも高齢化が著しく進んでいて、もはや介護の人材は絶対的に不足して、「ロボット介護」は必須となっているのだ。

問題の動画はYoutubeでなくTwitterに上がっていたのだが、なんと このように 簡単に「MacX YouTube Downloader」で手元にゲット出来てしまった。 荘厳にロッキーのテーマで始まる動画は、二度見どころか三度見にも耐える内容であり、ウクライナ侵攻で色々と脆弱になっているロシアの科学技術/経済の現状を見事に示していた。 倒れたロボットをスタッフが舞台裏に引きずっていくのを別のスタッフが慌てて隠すカーテンが裏返っているところも含めて、たった40秒間でこれだけ笑わせてくれる動画というのは、ちょっと久しぶりだったかもしれない。 狙って作ろうもとして作り上げられない「演出」であり、これぞ「ライヴ記録動画」の醍醐味だろう。

一方、ハイテク成長の著しい中国で、今年の1月に完成したばかりの巨大な「橋」(上の写真は建設中)が「竣工わずか10ヶ月」で壊れた・・・というニュースも流れてきた。 広大な谷間の両側の山と山を一直線に結ぶ「橋」で、上空に何も「吊り構造」が無い(大丈夫???)という驚くべき設計なのだが、これが このように 崩れてしまったのだという。 ちょっと日本では、「道路と脚部だけ」というこんな構造の「橋」は設計されないだろうという確信があるのだが。
佐々木勇気八段が僅かに優勢か・・・という状況で昼食休憩(12:30〜13:30)時間となったのだが、Abemaの画面はいつも豪食する佐々木八段が離席せずにずっと盤面を見つめ続ける、という異様な風景となった。 果たして昼食抜きで午後〜晩の終盤戦に向かうのか??という謎を残しつつ、これまでより1時間ほど早くJoyJoyに向かう時間が迫ってきて、いつものように後ろ髪を引かれつつの外出となりそうだ。 果たして帰宅まで対局が続くのかどうか、それは京都競馬場だけが知っている。

2025年11月14日(金)

昨日は今シーズン初めて「冬うた」・「雪うた」を解禁する日となり、JoyJoyヒトカラ(新パターン:14-19時)で5時間で52曲を完走した。 これまでの6時間(15-21時)では、後半の2時間が夜の「アルコール類フリー」で時間単価が高くなるのに対して、新パターンでは昼間価格帯(ノンアルのドリンクバーだけ)で、さらに5時間フリータイム(満員退出ナシ)も適用されて、費用はなんと半額以下となる事が判明した。 JoyJoyには申し訳ないが、今後はこのパターンで歌唱密度を上げていく方針である。

竜王戦第4局(佐々木八段は昼食を摂らず指していた)は、帰宅すると既に「感想戦」となっていたのだが、改めて棋譜を見てみるとなかなかの熱戦だった。 いつも翌朝には出ている「ひふみんEYE」が無かったので、ちょっとひふみんの体調が心配である。 今日は朝のテレビニュースから「藤井永世3冠」とのことで盛り上がっていた。 藤井6冠といっても現在のところ、「永世竜王(5期)」・「永世王位(6期)」・「永世棋聖(6期)」に加えて「名人3期」・「棋王3期」・「王将4期」継続中であり、さらに現在はタイトルから外れているものの「叡王3期」・「王座2期」のカウントがあるのだ。

僕の日記シリーズに「藤井」の名前が出てきたのは、調べてみると2017年8月からの 続・Max7日記(1) に遡る。 ここに発掘してきた3枚の写真(藤井聡太6段と師匠の杉本昌隆7段との初めての公式戦対局・千日手指し直し)は、 続・Max7日記(4) の「2018年3月9日(金)」のところにあった。 公式記録 によれば、2016年12月24日に加藤一二三九段に勝利してから公式戦連勝記録が始まり、2017年6月26日に増田康宏四段に勝って「29連勝」という記録を樹立した。 そして2017年7月2日にこの連勝記録を止めたのが、昨日の竜王戦で対局した佐々木勇気八段(当時は五段)だったのも因縁深い。

このような前人未到の壮大な記録が現在進行形でさらに積み重ねられているものの、そこからまだ10年も経っていないのだ。 こういう記録と同時代に生きて、それも2011年4月の 将棋名人戦・永世名人vs永世名人 の時のように実際に会場に行かなくても、AbemaTVでライヴ観戦できる、というのは「幸せ」の一言しかないのだ。

僕は経済や政治のことは詳しくないので、自分の手で真実を求めて検索するしかない。 たまたま、YAHOOから「集英社オンライン」の「投資の神様・バフェットが株を大量売却し市場騒然「これから日本は本当の地獄に向かう」世界的投資家がみる「株価大暴落の日」」という記事を見る機会があったので、「見出し」だけ上に列記しておくことにした。 冷静に読んでみるとなかなか怖いことを言っているのだが、説得力は十分にあり、真実かどうかは、これから歴史が証明することになるのだろう。 ここにきちんと反論する「経済」「政治」の専門家が出てきて欲しいものだ。

今日は晩にロボット教室に出掛ける予定しかないので、上のように、新MacBookAir(MacOS 15.7.1)にProcessingを入れてみた。 最新のProcessingはVersion4.4.10となっていたが、適当にサンプルスケッチを呼び出すと、ちゃんとライヴ・グラフィクスが走ってくれた。 ウインドウの外見(色)などが変わっていたものの、まぁProcessingのIDEはArduinoと似たようなものなので、操作性は変わっておらず安心した。

そこで調子に乗って上のように、新MacBookAirにSuperColliderも入れてみた。 最新のSuperColliderはVersion3.14.10となっていたが、過去の SuperCollider日記(1) からサンプルスケッチを呼び出すと(「選んで+コマンド+リターン」で鳴る、「コマンド+ピリオド」で鳴り止む、というのを10秒ほどで思い出した)、ちゃんとサウンドが鳴ってくれた。

ちなみに現状の「お仕事Mac mini」では上のように、ProcessingはVersion3.5.4であり、SuperColliderはVersion3.9.3ということだったが、まぁとりあえず両者の環境に大きなスキップは無かったので、今後もプログラミングは同じように進められそうだ。
午後には「双子の男女の赤ちゃんをシングルマザーが15年間にわたって同じ場所で撮影」という こんな 素敵な動画も流れてきて、思わずゲットしてしまった。 背景の風景が15年間、ちっとも変化していないところが最高なのだった。

2025年11月15日(土)

昨日のロボット教室でアドバンス[3]回目をやったものの、明日の教室ではアドバンス[4]回目をやるという事で、今日の午前中には慌てて「A3→A4」サンプル教材改訂作業を行うことになった。 実は[3]回目のロボットは、木琴を移動しながら叩くものなので、移動距離の誤差は光センサで抑えられるものの、移動時間のために「音楽の長さ」は移動の遅延で確保できずに、durationはボロボロになるという欠点があった。 [4]回目のテーマは「複数のロボットで輪唱」ということで、ダサいのだが「かえるのうた」のメロディーを全曲、演奏させることになるため、モーターを全て外して移動しない「孤立ロボット」をオリジナルデザインする、という方向に進めることにした。 モーター移動のループが無ければ、「かえるのうた」全曲のデータに2種の「PWM-LED」オプションを点灯させても、マイコンにプログラム転送できるサイズ(1024bytes以内)である事も確認した。 上手くいけば、僕のロボットと生徒(今回は振替が多くてたぶん2人)のロボットの計3台での「輪唱」を実現できるかもしれない。

2025年11月16日(日)

朝イチでAmazonから届いていたメイルは、ちょうど1ヶ月前、10月15日に予約注文していた以下のブツなのだが、これがなんと「注文時の価格から¥491安くなりましたのでお知らせいたします」とのことだった。 今日はロボット教室(ミドル+アドバンス)に出掛ける予定なのだが、上手く進展すれば、帰宅するとガスメーター(配送指定先)にこれが届いていることになった。 Amazonも、ちゃんとやる時にはやるのだなぁ。

  

帰宅すると上のブツは届いていたのだが、家庭宛のレポートを出すまでは触れないので、実際には明日になったら遊ぶことにした。 そんな今日のロボット教室の午前には、ミドルの3人がなんとか「やじろべえロボット」を時間内に完成させる事が出来た。 メロディーを奏でるマイコンのプログラミングまでは到達できなかったものの、皆んな、よく頑張った。
ところが午後のアドバンスは、振替のため2人だと思っていたところ、朝の出掛ける直前に家族から「体調不良のため本日欠席→振替」というメイルが届いて、珍しく「たった1人」となる事が確定した。 3人いれば輪唱になるが、2人ではちょっと寂しい。 そこで、 この動画 のシステムを急遽、会場に持参して、作っていたロボットのプログラムを書き込んで、会場のパーツを適当に組み立てて「もう1台」を臨時に制作した。

  

そして生徒はホワイトボードに僕が書いた長大な「楽譜」プログラムを打ち込んで、そのマイコンブロックを使って「自由にロボットにしよう」という特別テーマで制作してもらった。 その結果、上のように、僕のロボットと臨時組み立てロボットと生徒のロボットでの3体による「輪唱」が成立することになった。 現場で2回、一発撮りしたのが この動画この動画 である。 まぁまぁ、特殊なケースとなったのだが、この生徒には持参したロボプロRP1の リンクロボット も特別に操縦してもらったりして、「特別な日」を無事に乗り切ることが出来た。

2025年11月17日(月)

上のように、「矜持」という言葉の重みを久しぶりに感じるニュースが届いた。 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 。 なんという明確で真摯な言葉だろう。 素晴らしい。

「天気が良ければ台湾が見える」という、与那国島の西崎灯台に行ったのは、2012年の 13回目の沖縄 の時だったが、この時には見えなかった。
僕が最初に台湾の地を踏んだのは、2005年のバンクーバーでの NIME2005 の時に、珍しく チャイナエアラインの台北経由のフライトとなり、往路と復路で以下のように綺麗な台北空港で乗り継いだ。

そして何より2007年3月には、 2007台湾ツアー として6日間、国際会議の基調講演や特別講演、コンサートでの公演とフルに「台湾」を行き来した。 僕を招待してずっと同行してくれた Shing-kwei Tzeng教授 はもう天国にいるのだが、教授の台湾愛も素晴らしいものだった。 また機会があれば台湾にも行ってみたいものである。

  

昨日のロボット教室では、また生徒のスライドスイッチが「断線故障」となったために、教室のスライドスイッチを貸し出して、親御さんには「新しいスイッチを注文して下さい」とメイルした。 故障となったスイッチを僕はこのように 簡単に修理できるのだが、ロボット教室の方針として「故障の場合には買い直し」というルールがあるので、僕の手元には故障品として引き取ったスイッチやモーターなどが修理された完動品としてどんどん増えている。 今回は写真は同じなので撮らず、スライドスイッチの「断線故障→修理」の ビフォアーアフター の動画を撮ってみた。

そして午後には、届いたばかりのTAMIYAのリモコン走行ロボットを作ってみた。 制作はとても容易なのだが、どうもマニュアルにはバグがあって、「リコモンを逆さまに持つ」という対応でないと、全ての操作が反対だった。 左右のモーターの配線の部分の間違いなのだが、まぁ誰でもこれは簡単に見破って修正できるだろう。 アタッチメントを付け替えると、そこそこの坂道とか障害物を乗り越えるようで、せっかくなので こんな動画 も撮ってみた。 まぁ、ロボット教室の生徒にとっては、駆動部分もリモコンもマイコンのプログラムも全て「メーカお任せ」なので(自分で改造できない)、ちょっと物足りない感じだろう。

2025年11月18日(火)

今日も今日とて、KickStarterの新製品広告MLが届くが、けっこう以前に来たものとの重複もあって、なかなかここに取り上げるものは出てこない。 最近の傾向として、「Made in Japan」というのが増えてきていて、ベンチャー以下の「工房」的なプロジェクトが進出しているようだ。 Cycling'74からは「12月1日までのキャンペーンでMax9+RNBOがお安いでっせ!」というのも届いた。

そして今日はフト思い付いて、 こんな動画 を撮ってみた。 defaultでgoogleのアカウントだけは残しているものの、他は「履歴をクリア」(キャッシュもクリア)した状態で、ブラウザFireFoxを強制終了してから再起動して、YAHOOとか5ちゃんに行った時に、アクセスの裏でcookieとかキャッシュが増殖している様子である。

なお、僕の環境は上のようなものでかなり古風であるが、メカニズムとしては最近でもこんなものだろう。 5ちゃんからあちこち「裏路地」に立ち寄ると、このcookieは謎のアドレスのものがズラズラと数十個も並んでいて、こっそり裏でそんな事がされているのか・・・と、ちょっと慄然とするのだ。

2025年11月19日(水)

病院でも薬局でも「マイナ保険証」は活躍している・・・と思っていたのだが、なんと 「マイナ保険証」で年収がバレる!? というニュースが届いた。 この情報の信憑性は、けっこう下世話なニュースが並ぶ ここ の信憑性に依存する。

僕は自分の収入については全く知らない(1985年に結婚して以来ずっと、給与明細は開けずに奥さんに渡してきたので年収も不明、SUAC退職金も知らない)が、たしかまだ年金を受け取っていない「無職」なので、ロボット教室のバイト程度ではカテゴリ「エ」かもしれないし、奥さんのパートも合わせると何とか「ウ」かもしれない。 それにしても、病院はともかく街の処方薬局の人にまで自分の収入モロバレというのは、ちょっと気持ち悪い気もする。

ネットニュースからは こんな動画 と共に、<観光名所「天国への階段」で自動車メーカー「奇瑞汽車」が起こした大事故にSNS騒然。7年前に同じスタントを行った英メーカーとの残酷な対比も> という以下のような情報も流れてきた。

中国を代表する自動車メーカー「奇瑞汽車(Chery Automobile)」が、湖南省・張家界にある天門山国家森林公園での宣伝スタントが失敗に終わったことを受けて謝罪した。
同社は11月12日、新型SUV「風雲X3L(Fengyun X3L)」のプロモーション動画を撮影中に予期せぬ事態に直面した。
プロモーションでは、風雲X3Lが天門山の象徴である「天門洞」へと続く999段の階段を駆け上がる姿を撮影する予定だった。天門山のこの石段は「天国への階段」とも呼ばれ、
2018年には英ランドローバーの「レンジローバースポーツ(Range Rover Sport)」が、PRで同様のスタントを行った。
しかし今回は、まったく異なる結末となった。
2018年にレンジローバースポーツが傾斜60度超とされる石段を見事に登り切ったのに対し、風雲X3Lは途中で勢いを失い、ついには後方へと転落した。
映像には、斜面を転落した黄色の風雲X3Lが保護用ガードレールに衝突する様子が映っている。観光名所の一部を破壊した衝撃の瞬間に、現場にいた見物客は驚いている。 
ただしこれは、EVという「重くてパワー少ない」車と、ランドローバーのエンジン車との比較、というちょっと「無理ゲー」だったような気がする。 EVというのはスポーツ用途(速度やパワー)の対極にあるものなので、この企画そのものに無理があったと言うべきだろう。 「天国への階段」などというのは、簡単に触れてはイケナイのである。 僕は将棋を指さずにネット/TVで観戦するだけの「観る将」なのだが、AbemaTVの無料中継では、途中にCMが入るので、その時間は隣の「麻雀チャンネル」に行くことが多い。 そして僕は麻雀を打たずにネット中継/記録動画で「観る雀」なのだが、その中でも面白いと思うのは「役満」の瞬間を記録した動画である。 結果が分かっているとしても、ライブ中継をしていた時の司会者と解説者の叫びは臨場感を煽るのだ。 今日の午後にはそんな「役満集」をちょっと楽しんだついでに、今後のちらほら鑑賞に向けて上のような役満記録のリンク集も置いてみた。

2025年11月21日(金)

昨日のJoyJoyヒトカラでは、2度目となる「No Drug」で5時間51曲を完走した。 Totalとして飲む酒量もやや減って、費用は半分になって、中身がこう充実すれば、これは今後も基本ペースとなりそうだ。
今日は晩にロボット教室の日なのだが、なんと朝から「インターネットが繋がらない」という状態がずっと続いた。 僕は自宅に「浜松ケーブルテレビ ウィンディ 光回線」を契約しているのだが、これがトラブルで途絶するのは2度目である。 電話しても「障害の復旧に努めています」との自動音声だけで、結局、数時間も途絶していて、午後13時過ぎになってようやく復旧した。

自宅で飛んでいるWiFiは掴めるものの、インターネットに繋がれていないので、上のような障害情報を見ることも出来ないのだ。 スマホで(WiFiでなく)Gmailだけ接続して、緊急性の高いメイルが届いていない事だけは確認していたので、午前中はオフラインの作業などをずっと続けることになった。 まぁ、地方のごく限られた地域のインターネットサービスなので、途絶しても騒ぎになる事もないのだろうが、午前9時を過ぎると電話が繋がらなくなってきたので、使っている企業から「どうしたんだ??」という電話が殺到した模様である。 インフラは空気のように「繋がっていてナンボ」の世界なので、このようなトラブルが肝心な時に起きないことを祈るしかない。

traceroute to nagasm.org (157.7.245.215), 64 hops max, 72 byte packets
 1  192.168.11.1 (192.168.11.1)  2.853 ms  2.313 ms  1.987 ms
 2  100.68.0.3 (100.68.0.3)  3.247 ms  2.276 ms  2.194 ms
 3  10.212.254.122 (10.212.254.122)  2.366 ms  2.151 ms  2.021 ms
 4  10.212.254.106 (10.212.254.106)  3.416 ms  2.382 ms  2.089 ms
 5  * 219-100-244-73.catv.winde.jp (219.100.244.73)  2.938 ms  2.653 ms
 6  219-100-244-66.catv.winde.jp (219.100.244.66)  1.852 ms  2.357 ms  2.081 ms
 7  210.171.224.65 (210.171.224.65)  7.328 ms  8.331 ms  7.289 ms
 8  * * *
 9  * * *
10  157.7.173.66 (157.7.173.66)  8.061 ms  7.262 ms  7.275 ms
11  nagasm.org (157.7.245.215)  7.664 ms  7.513 ms  7.482 ms

PING nagasm.org (157.7.245.215): 56 data bytes
64 bytes from 157.7.245.215: icmp_seq=0 ttl=53 time=7.551 ms
64 bytes from 157.7.245.215: icmp_seq=1 ttl=53 time=7.594 ms
64 bytes from 157.7.245.215: icmp_seq=2 ttl=53 time=8.409 ms
64 bytes from 157.7.245.215: icmp_seq=3 ttl=53 time=8.371 ms
64 bytes from 157.7.245.215: icmp_seq=4 ttl=53 time=8.942 ms
64 bytes from 157.7.245.215: icmp_seq=5 ttl=53 time=8.757 ms
64 bytes from 157.7.245.215: icmp_seq=6 ttl=53 time=8.057 ms
64 bytes from 157.7.245.215: icmp_seq=7 ttl=53 time=8.673 ms
64 bytes from 157.7.245.215: icmp_seq=8 ttl=53 time=7.678 ms
64 bytes from 157.7.245.215: icmp_seq=9 ttl=53 time=8.287 ms
--- nagasm.org ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 7.551/8.232/8.942/0.473 ms
ちなみに、僕のドメイン[nagasm.org]にtracerouteとpingをかけたところ、上のようになって、ちゃんと「catv.winde.jp」を経由していた。 かつてはアメリカ西海岸にサーバの実体があったのだが、最近は神奈川県あたりにサーバの実体がある筈で、まぁ使っていると違いはわからないのだった。

ネットニュースによれば、上のような画像が中国軍の広報SNSに上げられたらしいが、どうも生成AIの使い方としてはイマイチだ、という意見がネット上には多かったようである。 こういうのを出すと、5ちゃんとかあちこちでこの画像をおちょくり改変した「ネタ画像の大喜利」大会に発展するのではないかと思われるが、ちょっと様子見してみよう。
・・・と思っていたら、さっそく5ちゃんでは生成AIの大喜利が始まっていた。 とりあえずいくつか、以下に並べてみた。

           

           

           

           

           

こういうネタを投入してくれるところが、流石の中国軍である。 大喜利大会の顛末は、そのうちどこかに「まとめサイト」が出来てくると思われるので、これぐらいにしておこう。 それにしても、かつてはこの手の大喜利大会では「絵師」が活躍したのだが、もはや誰でも生成AIで簡単に作れる状況になってしまった。

2025年11月22日(土)

通常だと毎週金曜日にはロボット教室があるのだが、昨日から次回まで、会場の都合でぽっかり2週間もの空白がある、という珍しい期間となった。 手元には「何かを作るパーツ」を置いたままなのだが、まだアイデアは熟成されていない。 来月のテキストを眺めてみると、12-1月のアドバンスの教材がちょっとタイトルだけ「思わせぶり」なのだが、実態はなかなかトリッキーなもので、これは同時進行というよりも、一旦、最終形まで作り上げてしまいたい・・・という衝動にかられたので、着手するかもしれない。
今日は当初予定では「七五三」だったのだが、主役の孫が発熱ということで何もない連休3日間となった。 このところ進めていた某作業をまとめるぐらいで、あとはのんびり過ごすことになりそうだ。

2025年11月23日(日)

久しぶりにKickStarterのカタログMLから「おぉぉっ!?」と思わせる ブツ の情報が届いた。 壁に蜘蛛などを発見した時に、これを戸外に出すための算段では結構、苦労するのだが、このブツはその解決法であり、電気など使っていない。

我が家のマンション(3階建ての3階)の周りはちょっとした「森」なので、そこから無害な益虫であるものの巨大な蜘蛛(アシダカグモ)がときどき3階の部屋まで侵入するのだ。 ただしこのブツは日本円で5000円ちょっと、という事でボタンをクリックするのは踏みとどまった。 これがダイソーとかで1000円台で出て来れば、迷わず購入する気がするのだが。

いつも日曜日の午後のテレビというのはスポーツ系の番組が多い。 ただし僕は基本的に、その時間帯にはテレビに没頭しない(CMタイムという奴が嫌いなので)生活を続けてきた。 ところで今日は上のように、各局でスポーツの見どころがギュッと凝縮されている事が判明した。 それも大相撲は、両横綱と安青錦の3人が3敗で並んで、安青錦が勝てば(両横綱の勝者との)優勝決定戦が確実に「ある」・・・という状況で、これだけは見ないと・・・と思っていた。
ところがお昼のニュースに「横綱・大の里が休場」というのが流れてきて、一気に大相撲への期待が低下した。 そこで、逆に、今日は夕方まで奥さんはパートに出ていて不在ということもあって、テレビのあるリビングにMacBookAirを持ち込み、CM時間帯は他局にザッピングしつつ、合間の時間(ゴルフや競馬はこれが多い)にはYouTubeの「役満特集」を待機させておいて、自室でなく「日曜午後をずっとリビングで過ごしてテレビ漬け」、という稀な一日にする事にした。 まぁ、たまにはこういう日もいいだろう。

2025年11月24日(月)

たまたまテレビの録画で「美ら海水族館」というのを観たのだが、そこで思い付いたのが、僕のサイトの 「美術館」・「博物館」などの記録 のページに「美ら海水族館」を載せていたかな?? という不確かな記憶だった。 そして調べてみると案の定、載せていなかった。
そこで 「沖縄行き」の記録 のページで「美ら海水族館」と検索すると、どうも過去3回、行っていると判明した。 そしてブラウザの「ページのソースを表示」とかテキストエディタ(JeditX)の編集機能などを駆使して、ものの10分もせずに 美ら海水族館 (2009) のページと 美ら海水族館 (2017) のページと 美ら海水族館 (2018) のページの増設作業を完了してしまった。

     

せっかくなので、それぞれ同行した学生たちの写真を並べてみたが、もうなかなか沖縄も行けないなぁ・・・とちょっと淋しくなった。
午後には、大阪万博2025で このように ご一緒していた東野珠実さんからメイルが届いた。 来月初旬にIRCAMでレクチャー(トーク)をするのだが、「笙ブレスセンサ」IBUKIを機内持込み手荷物で持っていけるか? との質問だった。 そこで、僕はずっといつも怪しいブツを機内持ち込みしているのでOKですよ、と回答しておいた。 セキュリティチェックの透視装置はしっかりしているので、何か聞かれても「楽器です」で大丈夫なのだ。

2025年11月25日(火)

「レゲエ界の大御所、ジミー・クリフさん死去 81歳」というニュースが流れてきた。 さっそく検索して、 Many Rivers to Cross のライヴ動画を発見して、味わいつつ視聴して手元にも保存した。 20年前のライヴ(61歳)映像ということになるが、実に素晴らしい。

僕は大学に入ってスグ、3月末の身体検査から4月上旬の入学式までの期間に、確か7つのサークルに入っていた。 「バロック(リコーダー)音楽サークル"いびつな真珠"」・「11月祭(京大の学園祭)事務局」・「生協組織部」・「現代数学研究会」の4つは1ヶ月もしないうちに辞めて、残ったのは「京大合唱団」と「フォークサークル」と「京大軽音」との3つだけになった。 京大軽音では1回生だけのバンド"軟性下疳"でドラム/コーラスを担当していたが、写真も録音もなく夏までに解散して、軽音での活動は冬眠状態に入った。

残ったうちの一つ、京大フォークサークル"ZET'S"が6月あたりに開催した、我々新入生を歓迎(勧誘)する「京文コンサート」で、僕はトップバッターの3人グループ"WINCLE"の1人として、さらにトリの"JALLA"のメンバーとしてステージに乗っていて、この曲"Many Rivers to Cross"のドラムを叩きながらコーラス(一番上)を担当していた。 "JALLA"の写真は残っていなかったが、上は"WINCLE"の写真(左から4回生、3回生、1回生)、この3人はそのまま"JALLA"のメンバーでもあり、4回生がキーボード、3回生がギター/バンマスを担当した。 ちなみにサウンドだけだが、"WINCLE"と"JALLA"のライヴ録音が ここ の上半分にある。
その後、1回生の夏休みの時期に京大合唱団の合宿(1週間)と"ZET'S"の合宿の日程がカチ合うという二択の葛藤の末に、初めての合唱曲作曲などでハマッてきていた京大合唱団を取り、"ZET'S"を「退部」した。

そこから約2年間の僕は、完全に合唱だけの人となった。 このあたりの写真を発掘したページが 「古き写真」シリーズ(音楽活動編) にある。
京大合唱団の演奏会のPOPSステージではギターを弾いたりドラムを叩いたりしつつ、指揮者をして、さらにおよそ100曲の 合唱曲 を作曲した。 上の写真は3回生、京大合唱団(混声・女声・男声で活動)で「男声指揮者」をしていた時に、京都会館に東北大と九州大を招いて3団で行ったジョイントコンサートの合同演奏で指揮をしている様子である。 翌年4回生の春には、京都合唱祭の「大学部会」演奏で、市内のいくつもの大学合唱団の合同演奏(400人)の指揮者を依頼されて、限られた練習で本番まで乗り切った。
そして京大合唱団定期演奏会を男声指揮者として終えた3回生の冬あたりから、フォークサークル"ZET'S"のバンド"JALLA"でベースを弾いていたわたなべひろゆき氏(ずっと軽音と"ZET'S"の二刀流を継続)と再び繋がって、京大軽音でのバンドを再開して、そこから卒業までは、「合唱団と軽音」という二刀流で過ごした。

ひろゆき氏がバンマスを務めた軽音のバンド"Dancin' Bomb"は、京都市内のライヴハウスなどにも出演したが、我々が出演するとそのライヴハウスが潰れる・・・というプチジンクス(2件)も生んだ。 ここの写真は、僕が4回生の夏ころに、銀閣寺のライヴハウス「サーカス&サーカス」でのライヴの模様である。 2回生のツインボーカル(カメ&ヤマ)、ベースは3回生のホースケ、ドラム/コーラスは4回生の僕、さらに写っていない隅でピアノを弾いていたのは、3年前に軽音バンド"軟性下疳"で一緒だった4回生イシグマくん、ギター/コーラスは5回生のバンマスひろゆき、さらにゲストとして軽音レジェンド7回生のスガ氏まで加わった大所帯だった。
ちなみにサウンドだけだが、ライヴ録音が ここ の下半分にある。

そして注目すべきは、京大フォークサークル"ZET'S"のバンド"JALLA"の演奏曲と、京大軽音"Dancin' Bomb"の演奏曲とで、唯一、 Many Rivers to Cross だけが共通に重複しているのだった。 これは、R&Bやレゲエにハマッていたバンマスひろゆき氏の嗜好が大きく影響しているのだが、僕はなんとマル3年のインターバルを経た2つのステージで同じこの曲のドラムを叩きつつコーラス(一番上)をしていたのだった。 (関連情報 )
それだけに思い入れが深い曲であり、ジミー・クリフの「魂」も受け継いでいるつもりなのだ。 「レゲエのジミー・クリフ」ではあるが、この曲"Many Rivers to Cross"演奏の「肝」はR&Bテイストの「タメ」にあり、僕のドラムのスネアも3年積み上げた音楽経験とバンマスひろゆきに鍛えられて、タメタメていた。
合掌。

午後には、今週はロボット教室が何もない事もあって、来月のミドルクラスの「チクタクロック」サンプル教材を作り上げてしまった。 ただし、これまでロボット教室では基本的に、「テキストそのまま」を製作してサンプルとして生徒に提示してきたのだが、今回はテキストを読んでみると、ちょっと不満が残ってしまった。
ミドルは1テーマを2回/月で完了するのだが、1回目テキストは全体の造形と「モーターでゆっくり針を回す」内容で終わっていた。 そして2回目には、(1)マイコンとブザーでモーターを間歇動作させて音も鳴らす、(2)モーターを外してしまい、重り(プーリーの軸に糸を巻き付け)によって針を駆動し、自由運動の振り子を増設する、(3)モーターを外した駆動ギアに「 脱進機構 」を付けて振り子を往復させる、というアンバランスに盛り沢山の内容となっていた。

これまで(約1年半)の講師経験からすると、2回目のテキスト内容(1)(2)(3)を全て実現することは、時間的にも生徒の力量/負担からもちょっと困難である。 一部内容のスキップ(前回の「やじろべえロボ」ではモーターで動くまでで、テキスト後半の「マイコン搭載で声でスタートしたりメロディーを鳴らしたり」の部分は未達だった)となりそうな予感がする。 しかし最後の脱進機構だけは、このところ何度か登場してきた「ラチェット機構」の発展系として教育的意義が大きい(針を回転させるエネルギー源としてモーターと重力の2種類がある、という意図も重要ではある)。 作戦としては、どうせモーターを外すので(1)をスキップしてまず (2)へ、そして必ず(3)へと進める方がよさそうだ。
そこで今回初めて、僕が作って持参する「サンプル」としてテキストを逸脱して、最終形の「モーターとブザーとLEDを間歇動作させて、針の回転と振り子の往復を同時に駆動する」というものに仕立て上げたのである。 生徒にとっては「そのまま真似する」サンプルにならないが、全体としては今回のテーマは製作が容易なので、少なくとも僕の担当クラスではこれもアリ、という判断である。
せっかくなので記録した YouTube動画 のように、ぐるっと一周してみたが、新たなモーターの位置はテキストに無い下部の内側に隠れていて、そこから柱沿いに上まで駆動ギアが連なっているのが、作った当人としても気に入った。

2025年11月26日(水)

今日のネットニュースで届いたのは、「AI Goes Legit」というタイトルの、 AIが合法化された というものだった。 サブタイトルは「AI音楽界の重鎮Sunoが訴訟和解後、ワーナーミュージックグループと提携」とのことで、概要としては「3大レーベルのうち1つがAI音楽との戦いを正式に終了した。ワーナーミュージックグループは代わりに、最大のAI音楽プラットフォームであるSunoと提携する」とのことだった。 これはかなり大ニュースなので、原文をコメント内に隠しつつGoogle翻訳に大活躍してもらって、大部分を日本語化して置いておこう。
世界最大級のレコードレーベルがAIを採用しつつあることを示す最も強力な兆候として、大手AI音楽プラットフォームのSunoは火曜日、Sunoのトレーニングデータに
おける同グループの楽曲の使用をめぐるワーナー・ミュージック・グループとの訴訟を和解し、SunoとWMGが「次世代のライセンスAI音楽」で提携すると発表した。
「Sunoとのこの画期的な契約は、クリエイティブコミュニティにとっての勝利であり、すべての人に利益をもたらします」と、ワーナー・ミュージック・グループのCEOは声明で
述べています。「Sunoはユーザー数と収益化の両面で急速に成長しており、私たちはこの機会を捉えて収益を拡大し、新たなファン体験を提供するモデルを構築しました。
AIは、ライセンスモデルへのコミットメント、プラットフォーム内外における音楽の価値の反映、そしてアーティストやソングライターに対し、AIによる新作楽曲における氏名、
画像、肖像、声、楽曲の使用に関するオプトインの提供という、私たちの原則を遵守することで、プロアーティストとなるのです。」この契約は、Sunoが先週発表した
2億5000万ドルの資金調達ラウンドに続くものです。
2024年6月、ワーナー・ミュージック・グループはユニバーサル・ミュージック・グループとソニー・ミュージックエンタテインメントに加わり、Sunoとそのはるかに小規模な
ライバル企業であるUdioの両社を相手取り訴訟を起こし、AI企業による大規模な著作権侵害を訴えました。レーベル側は、両プラットフォームが膨大な著作権保護された
録音データを許可なく使用してモデルを学習させていたと主張しました。AI企業はこれをフェアユースとして擁護しました。ユニバーサル・ミュージック・グループは10月
下旬にUdioと和解し、それに続きワーナー・ミュージック・グループも先週Udioと和解しました。
伝説的なアーティスト・マネージャー、アーヴィング・アゾフ氏が設立した非営利団体「ミュージック・アーティスト・コーリション」は、AIとの最近の一連の契約を慎重に歓迎
する一方で、その条件について鋭い疑問を投げかけている。「誰もが『パートナーシップ』について語る一方で、アーティストは結局、わずかな利益しか得られないという
状況は、これまでにも見てきました」と、アゾフ氏は先月のユニバーサルとオーディオの和解後の声明で述べた。「アーティストはクリエイティブ・コントロール、公正な報酬、
そして自身のカタログに基づいて行われる契約の透明性を確保しなければなりません」。(契約に関するローリングストーン誌のコメント要請にすぐには応じなかった)
UdioとUniversalの契約により、ユーザーはプラットフォームから作品をダウンロードできなくなり、ユーザーから激しい抗議が起こりました。しかし、SunoはWMGとより
有利な条件で合意しました。有料ユーザーは引き続きダウンロードできますが、月間制限は後日発表されます。(パワーユーザー向けのSuno Studioは引き続き無制限
ダウンロードが可能です。)「Sunoで作成した曲をダウンロードできることはSunoコミュニティにとって非常に重要であり、この機能は今後も継続されます」と記しています。
SunoとWMGの提携により、Sunoは「ファンエンゲージメントのための新たな体験」と表現する機能も導入される。ユーザーは、参加するワーナーのアーティストの声、楽曲、
肖像を使ったコンテンツを作成できるようになる。両社によると、アーティストとソングライターは参加するかどうかを選択できるという。
買収の一環として、SunoはWMGからコンサート情報プラットフォームSongkickを買収した。同社のプレスリリースによると、その狙いは「インタラクティブ音楽の力とライブ
パフォーマンスを融合すること」だという。両社とも、今回の和解における金銭的条件や継続的な提携関係については明らかにしていない。
最後にSunoユーザーに対し、「私たちは、ユーザーが単に再生ボタンを押すだけでなく、音楽を楽しむ世界に向かっています」と約束した。
これに対応して世界の各社が、あるいは日本のあちこちがどう反応するか、ちょっと「見もの」である ( ←「みもの」・「見物」では意味が伝わり難い? )。 ここは注目していきたい。

ここでせっかくなので新MacBookAirで、その「suno.ai」に行ってみることにした。 上はスクリーン、以下はその経過メモである。

この結果、ブラウザ版では全て全滅したものの、WebCatalogを経由してMac版のsunoアプリケーションをゲットできた。 これを立ち上げると、3種類のレイアウトを聞いてきたのでdefaultの「Minimalist」として画面が出てきて、適当に作曲プロンプトを入れて「生成」に進もうとすると、またまたサインアップを聞いてきたのだが、このアプリ(suno専用ブラウザ)でも4つのブラウザによるWeb-based accessと全く同様のCAPTCHAエラーが出て、結局、入れなかった。
仕方がないので、駄目モトでsunoのhelpにメイルを出してみた。 結果は明日以降にチェックしてみることにしよう。

このところ各地で「熊」の出没や被害が頻出しているが、上のように生成AIで簡単にフェイク画像が作られることで、ますます混乱に拍車がかかっている。 細部には現実離れして色々とツッコミどころがある画像なのだが、これは駄目なやつである。

2025年11月27日(木)

僕はCPAPをしている事もあり(CPAP装着時間[≠睡眠時間]は毎日9〜10時間)、晩には19時を過ぎると眠くなって20時あたりから布団に入り、朝は6時頃に目覚める。 そこで、毎週、ほぼ欠かさず観ている3つのテレビ番組(「月曜から夜ふかし」・「水曜日のダウンタウン」・「全力・脱力タイムス」)は全て睡眠時間帯のために、この3つだけ tver で観ている。 そんな昨夜の水ダウでは、「電気イスゲーム」の「ひとりvs津田」がなんと「名探偵津田シリーズ」のイントロになっている・・・という「全員ドッキリ」だった、という見応えあるものだった。 調べてみると 「名探偵津田」新章が電気イスゲームから開幕!流行語「長袖をください」と2025年末の水ダウを総まとめ という解説記事があった。 なかなかやるもんだ。

ぼくは「名探偵津田」というのは観たことが無かったが、関連記事から『水曜日のダウンタウン』人気企画「名探偵津田」過去回全5本をTVerで無料配信「長袖をください」は流行語大賞ノミネートというページに行ってみると、上の5本が「配信終了まで1週間以上」として並んでいた。
そして1本目を何とか全部、観たところで、「もういい」となった。 僕は「ドッキリ」系は好きではない(水ダウでも「クロちゃん」関係はallスルー)ので、「電気イスゲーム」はいいのだが、これは、もういい。 第2弾と第3弾は、たぶん観ないし、年末にあるというこの続きは、たぶん tver でも観ないだろうと思う。

2025年11月28日(金)

今朝、ネットニュースから流れてきた下の画像は、別に「仲間はずれ」を探す錯視画像ではない。 米データ分析サイト「Codify Baseball」が2025年のワールドシリーズで先発投手が記録した球速ランキングトップ40の選手の顔写真を並べて紹介した、というものである。 球速ランキング上位40件のうち39件が大谷翔平だ、ということで、また伝説が加わったのだった。 流石なのだ。

昨日のJoyJoyヒトカラでは、5時間で50曲を完走(今回は冒頭不調だったのでDouble Drug)したが、ちょっと驚くべき体験をした。 今回は2階の部屋だったのだが、同じフロアのちょっと離れた部屋で歌っている人(達?)が、凄いことをしていたのである。 マイクのボリュームを上げ過ぎると「ハウリング」が起きるのは誰でも知っている。 しかしこの部屋の人は、なんと「ずっとハウリングしっ放し」という音響セッティング(音楽より歌より漏れ聞こえるピーガーの方が大きい)で数時間ずっと(たぶん5時間フリータイム)、歌い続けていたのだ。 最初、機器の操作を知らない人が困っているのでは・・・と店員に言ったのだが、店員によれば「あれが普通」だということで、どうもいつもの事らしい。 ミラーボール設置の部屋でキラキラしながら楽しむ(僕は嫌)、という演出の部屋もあったりするが、巨大音量のハウリングを言わば「環境音響」演出として鳴らせ続ける、というのは、まぁ「好き好き」とはいえ、初めて知った世界だった。

というわけで今月の成果としては上のようになった。 先月の成果およびそれ以前の記録へのリンクは RRR日記(9) の最後、「2025年10月31日(金)」のところにある。
ちなみに、ちょうど月の区切りで このリスト の5つの欄が埋まって新しくプリントする事になったので、久しぶりに配置を全面改訂してみた。 かつては「PV観賞用(誰か歌って下さい)」が冒頭にあったのだが、これはアカペラの学生と一緒にカラオケに行った際に、僕がお気に入りのPVが出る番号リクエスト用のリストなので、現在では無意味なので最後に移動させた。 また、冒頭その次にあった「アニソン(^o^)」も最後に移動してみた。 どうせあちこち探しつつ歌うので、これはたぶん早々に慣れるだろう。
そしてついでに、過去を伝っていき、 我が「ヒトカラ」の歴史 のページにも追記してみた。 まぁ、我ながら、よく歌っているもんだ。

2025年12月1日(月)

日々、いろいろな事が起きていて、時にはトントン拍子に進むこともある。 先週から今週はそういう期間(訳あり)なのだが、この日記にあれこれ書くこともなく進んでいったりするのも、まぁ、面白い。 そのうち結果だけ、書くことになりそうだ。
今日は朝イチで ロボット教室について というページを作ったり、 ASLのページ の内容の微修正(項目の移動)などをしてみた。
先週はロボット教室がスキップした週だったので、今週金曜日までまだ空いているのだが、昨日は遂に我慢できずにアドバンスのロボットサンプル教材を作ってしまった。 ただし今回の「2足歩行ロボット」は、全4回コースの内容がかなり薄くて、どうやっても1回目で終わらずに2回目まで作ってしまった。 本当は最後の4回目が面白いのでそこまで一気に作りたかったのだが、それだと今月の1回目と2回目は、まるで生徒に見せる「姿」が違ってしまうので、そうもいかない。 なかなか悩ましいのだった。

そして、CAPTCHAエラーでまだサインアップ出来ていなかったsunoについて、「sunoもどうせ生成AIなんだから生成AIのChatGPTに質問する」という王道の解決方法を思い付いて、やりとりしてみたのが上の様子である。
結論として、どうも日本はsunoに怪しまれているというのか、僕がアクセスしているIPアドレスが疑われて上手くいっていない・・・という懸念が生じてきたので、ChatGPTが作ってくれた問い合わせメイルをコピペして送ってみた。 また結果が変化するのはしばらくしてからになりそうだ。

2025年12月2日(火)

この日記の「2025年11月18日(火)」のところに書いていたように、いろいろなところで「Black Friday」絶賛キャンペーン中のいま、またまたCycling'74から「Cyber Monday Deal: 50% Off Max and RNBO」というのが届いた。 どうやら僕の手元にあったMax8.5あたりでも「RNBO」は付いていたのだが、これはあくまでDemo版であり、フルセットのRNBOを使うには「Maxライセンスとは別にRNBOライセンスを買う」というものだと知った。

まぁ、僕の持っている大部分のMacBookAir(+お仕事Mac mini)は全てOSX 10.11.6で止めている(上げると使えなくなるアプリケーションが多い)のだが、新しく仕入れたMacBookAir(M4)はmacOS 15.7.1なのでMax9にも対応していて、ちょっと気になってきた。 そして Max9 のページを見たものの、Max歴30年超の僕にとって、まぁこれはほぼ既知だった。 ところが、 Introducing RNBO のページを見てみると、これまで以上に凄いところを知ってしまった。 Raspberry PiやLiveのコードを書き出すのはそれ程ソソラレなかったのだが、以下の「Web版」にはマイッタ。

これは楽しい。 思わず YouTube動画 にも撮ってしまったが、これがWebページに置ける「Embed your RNBO sound engine into a website using Web Export」というのだとすると、それだけでも価値がある。 そこで以下のようにMax9をダウンロードして(RNBO本体もフルセットで入っているが、有償activateしない限りDemo版の機能だけが有効になるという素晴らしいビジネスモデル!)、さらに一気にSHOPに行って半額で永久ライセンスを購入してしまった。

こうなれば、漠然と「Max/MSP/jitterで作ったサウンドパッチをターゲット環境にコンパイルしてアップロード/インストール出来る」と理解しているものの、実際にどうやるのか謎だった「RNBO」のWeb版を、ようやく実験できることになった。 これは音楽生成AIなどよりもずっと面白そうだ。 今日の午後には、理由ありで1日また1日と変更/移動してきてJoyJoyヒトカラの予定なのだが、おいおいRNBOを実験してみよう。

2025年12月3日(水)

朝からカラフルな写真がネットニュースで流れてきたが、これは「転売ヤー」・「MLBファン」・「カプセルトイ収集家」にとっては衝撃的な朗報らしい。 別に僕はこの手の収集癖は無いので心配ないのだが、相当に貢ぐ人とか、転売ヤーにとっては大きな経済効果があるのだろうか。
米大リーグ球団の公式キャップを多数手掛ける帽子メーカー「NEW ERA」の日本版公式Xは1日、日本の大手玩具メーカー「バンダイ」とコラボした
ガシャポンシリーズの販売を発表。
同公式Xは「株式会社バンダイ ベンダー事業部が製造・販売するオリジナルカプセルトイブランド『ガシャポンR』とのコラボレーションコレクション」と記して、
各チームの帽子のミニチュアにMLBの公式ロゴのタグがついた商品写真を公開した。
続けて「今回の企画ではMLBナショナルリーグの全15球団をフィーチャーしています」として、ナ・リーグ球団全チームの収録を発表。過去発売されたものは
大谷翔平投手らが所属するドジャースや今永昇太投手らのカブスなど人気球団のみだった。

昨日のJoyJoyヒトカラは5時間で51曲を完走した。 先週に比べて歌い出しの体調が絶好調で、むしろ油断しないように抑え目にして快走した。 まぁ、こういう日もあるのだろう。
さらに余勢をかって、SFTPクライアントのCyberduckも新MacBookAirに入れてみた。 10ドルのdonationで正規にregistration keyもゲットした。 RSA Keyの設定にちょっと難儀したが、過去の設定ログを発掘して何とか出来た。 こういう作業は久しぶりなので、「メモ命」という感じだ。

そしてCycling'74のページに行って(勝手に日本語サイトにリダイレクトされるので、いちいち「ja」を削らないといけないのが手間)、まずは Introducing RNBO のページの一昨日の続きとして、上のような解説を眺めた。 ただしこのページの一番下あたりには、「To get started using RNBO, download and install Max 8.5. RNBO will run in a trial mode.」とあり、ちょっと古いversionのページだと判明した。

そこで次に、新しく出来たらしい、その名もずばり RNBO というページに行ってみると、上のように「Get Started」として、以下の4つの項目が並んでいた。 このページはこの4つの入り口に導くだけなので、実質的には何も無い。

上の4項目のうち、後ろの2つは当面、対象外なので、基本的には1つ目の「解説」を眺めてから、2つ目の「Quickstart」に進むことになりそうだ。 だいぶ御無沙汰しているのだが、これを機に、久しぶりにRaspberry Piと遊ぶ・・・というのも、おいおいアリかもしれない。

ということでやってきたのは、上の「Learning Synths and RNBO」のページなのだが、ここはかなり本格的できちんとした解説のようである。 最初の解説のリンクをちょっと辿っただけで、これはじっくりやるべきだ・・・と確信したので、これからじっくりとなぞって行くことにした。 何より、新MacBookAir(M4+15.7.1)でなくても、お仕事Mac mini(Intel+10.11.6+Firefox78.0)でもキチンと動くのだから、かなり凄いことなのだ。 第1段落の「We've seen several groundbreaking milestones in Web Audio, including Patatap, Typatone , Gibber , Pink Trombone , Leimma & Apotome, and Google's Shared Piano. To that list I’d also add Learning Synths, released by Ableton in 2019, a completely free, interactive tool for learning about sound synthesis. When you first navigate to Learning Synths, you’re presented with a big, inviting XY pad with a one-word prompt: drag.」の中には8つのリンクがあるのだが(一部は消えている)、その一つ一つが素晴らしいことになっているので、以下に登場順に整理してみることにした。

つまりは、これまで僕はあまり対象としてこなかったのだが、Web Audioという技術がどんどん進化してきていた、という事である。 上のサンプルではそれぞれ、ブラウザ上のマウス操作やキー入力に対応して、サンプル再生でなくリアルタイム・シンセシスを実行しているのであり、どうも Learning Synths のページも「お勉強」しておく必要がありそうだ。 なかなか凄い世界のようなので、手間をかけても「動くYouTube動画」を記録する意義があるとみて、 Patatap + Typatone + Pink Trombone という動画と、 Google's Shared Piano + Learning Synths という動画の2本を撮ってみた。 「Learning Synths」は冒頭のデモサンプルだけである。
いつも安易に「Google翻訳」にコピペしてしまうのだが、このあたりの話は流石にそのまま英語で読み進めたいので、「Google翻訳」を封印して読み進めてみた。 上のサンプル達は「WebAssembly and Audio Worklets」という技術によって実現されているのだが、 Learning Synths and RNBO ではそこに深入りせずに、RNBOでこれを実現する話に進むとのことだった。

背景となっている技術については、 WebAssembly (highly efficient machine language that can run in a browser)と Audio Worklet (browser technology that lets sound processing happen in its own high-priority thread) という2つが重要であるものの、とりあえず体験するためにはこっちに来い、と誘導されたのは、どこかで見たことがあった(おそらくこの日記シリーズのどこかに画像だけは置いた気がする)、上の Learning Synths Playground のページである。 ここは重要なので、またまた時間をかけて全てのPresetsをなぞって、 YouTube動画 を撮って記録してみた。
Audio Worklet というのはどうもGoogleがChromeをベースとして開発した技術らしいが、ちゃんとFirefoxでも動くところが素晴らしい。 まぁ名前からして、JavaのApplet(ブラウザ上で動く一種のプログラム)を意識しているのだろう。 オーディオに限定することで、JavaやShockwaveが解決できなかったセキュリティ懸念を回避しているのだろうか。

解説の中にあった、上のイラストは印象的である。 左上では「FLASH」が海に沈みかけているのだが、「Audio Software Mainland」のためには幾多の技術が開発されていたのだ。 「ブラウザのcompatibility」という怪物が暴れているのも面白い。 この地図で、大海に面したところ(先端)にいるのがMaxやPuredataやSuperColliderということで、正にRNBOは「Maxで作ったものをWebに実現する」という時代の要請を受けたものだったようである。 あまり深入りせずに行きたいのだが、インターフェースとしてはJavaScripかTypeScriptということになるので、 RNBO.js というのも重要らしい。
次のトピックは「The Poli Synthesizer」である。 ここまでの話は全て「単音」のシンセサイズに限定されていたが、音楽であればポリフォニック音源は必須であり、ここが楽器メーカーの技術の拠り所だったのだ。 ただし半導体技術の進展は、楽器メーカのDSPを必要とせずにSoft SynthesiserやWeb Synthesizerをポリフォニック化させているのだ。 Maxでは「Poli」というテクニックがあるので、まぁコンピュータpowerさえOKであれば、Max→RNBO→Webでもポリフォニック音源は容易ということになるのだろう。

ここまでの解説(次に続くのは「Technical Demo」となる)の「まとめ」的なところの3項目については、全体はなんとなく理解できたが、用語の正確性も必要なので、ここでようやく「Google翻訳丸投げ」を活用することにした。 上のように、メカニズムとしてはきちんと踏まえて全体が構成されていることがわかった。
今日は「訳あり」の関係で、晩に孫(+その両親)が来訪するという事もあり、RNBO探検はここまでである。 この続き( Learning Synths and RNBO の「Technical Demo」から)はおいおい、進めていくことにした。

2025年12月4日(木)

先週からドタバタしているのだが、どうも今週で収まらずに来週あたりまでドタバタしそうである。 そんな今日、KickStarterから届いたのは、「USB-Cで受けて」→5Gで飛ばして→「HDMIで出力する」というアダプタだった。 初期投資だと54%offの59ドル、ということで、そこそこのコストでよく頑張っている。 研究室にいれば即決で申し込むところなのだが、残念ながら現在では「使う場」も殆どなくなっているので、これはスルーした。

ここで一旦、床屋に出かけて速攻で散髪して帰ってくると、昨日の続きを進めることにした。 ただし、昨日は「お仕事Mac mini」だったものの、いよいよ今日からは新MacBookAirになるので、まず最初にブラウザFirefoxでやっておかないといけない事があった。 これまでのFirefoxでは、以下のような設定で、リンクURLの下の「アンダーライン」を消すことが出来たのだが、これが最近ではPreferncesメニューに見当たらなくなってしまったのである。

そこで、当然だがChatGPTである。 質問してみると、現在ではPreferncesメニューには無くて、defaultではURLの下線は消せないのだった。 そしてCSSの設定で出来るよ・・・というので、その通りにやってみると、アッサリと設定が出来てしまった。 以下がそのChatGPTとのやりとりであり、ちゃんと僕は「Thanks!」と御礼を言ってからChatGPTを終えた。

そしていよいよ、 Learning Synths and RNBOTechnical Demo から始めることになった。 ここは頑張って「Google翻訳」の助けを受けずに自力で読み進んでいこう。
要するに、「ブラウザ内でインタラクティブなアニメーション」を実現する機構があり、RNBO(Max9)で作った RNBO JavaScript API を経由して、そのインタラクティブ・パラメータをRNBOのサウンドモジュールに投げてやる・・・という事らしい。 RNBO側はともかくとして、ProcessingでもなくJavascriptでインタラクティブ・アニメーションを記述する必要がありそうだ。

その後、視界に入ってくるあちこちに寄り道して深入りしているうちに「本日終了」となった。 Learning Synths のページは、昨日見たのは最初のページのデモだけだったものの、実はその後に延々と「Continue」で続くダンジョンであり、WebSynthでアナログシンセサイザーの概念を全部、網羅して実装している凄い世界だった。
JavaScript Webpage Template とか、GitHubの The JavaScript Webpage Template とかにも行ったりした。
そして上のように、初めて開くMax9から「rnbo~」というのを発見して、とりあえず「Webにexport」というメニューにまでは到達した。 ただしまだまだ間隙が埋まっていないので、また改めてここらを訪問することになりそうだ。

ネットからは、今年も「ももいろ歌合戦」という情報も届いた。 基本が「フルコーラス生歌唱」といい、この「濃い顔ぶれ」といい、これは注目である。 松崎しげるの名前もあってヨカッタ。 「笑ってはいけない」が無くなった昨今、この他に大晦日を過ごすアテがない。 どうせCPAP生活(良好な睡眠の日々)の睡魔に襲われて、21時過ぎには限界を迎えて寝てしまうような気もする。

2025年12月5日(金)

今日は晩に久しぶりのロボット教室に出掛ける予定があるだけという日なので、さっそく朝から昨日の続きに取り掛かった。 机の上はちょっと混雑するが、お仕事Mac miniの前に新MacBookAirを置いて、 Quickstart から開始して、そのscreenshotは自分から自分宛にGmailで送ってここに置く、という段取りである。 Maxサンプルを即座にMaxで起動する、というメカニズムがあるので、正にQuickstart、簡単に開始できた。

追いかけてみると、単に Quickstart の内容をなぞるだけだった。 Maxの環境で、「rnbo~」というGENのようなオブジェクトがあって、それをダブルクリックするとGENのように、内部に見慣れたMaxオブジェクトやサブパッチ、GENブロックなどがあるのだが、そのウインドウ右側のsidebarには「export」というのがある・・・というのがポイントで、「C++ Source Code Export」・「Web Export」・「Devices」(defaultでは何もない)・「Audio Plugin Export」・「Max External Export」などが並んでいる。 当面は「Web Export」が目的なのだが、むしろ最後の「Max External Export」というのが非常に気になった。

そして約1時間ほどかけて、「RNBOからExportする」という部分が出来てしまった。 上のscreenshotを見ると、左側のパッチは「rnbo~」を使ったサンプル(簡略版)なのだが、それを右側のように「feedback_synth~」という名前のMax ExternalにExportしたものになっているのだ。
ここで行った作業は、(1)RNBOオブジェクト「rnbo~」をダブルクリックして開く、(2)その右側sidebarの「export」から「Max External Export」を選ぶ、(3)ウインドウ右下隅をクリックしてexportコンパイル開始、(4)コンパイルはオンライン(Cloud)でCycling'74のサーバ上で行うのでじっと結果が出るのを待つ、(5)export成功すると「mxo」ファイルが出来る。(6)それをMaxパッチから直接呼び出すと動く(^_^)、というものだった。 せっかくなので、大部分が「じっと待つ」という時間なのだが、その模様を YouTube動画 として記録してみた。

これはおおいなる進展で、これまで「Maxプロ」の方々、赤松さんとか平井さんとかがサクッとXcodeで作っていた「Max External」が、RNBOによって誰でも(僕にでも)このように簡単に作れてしまうのである。 VSTプラグインでのexportは、別に僕はDAWを使わないのでそれほどソソラレナイのだが、これまで作った色々なパッチやGENがオリジナルのMax Externalオブジェクトに出来る、というのは涙が出るほど、嬉しいことである。
考えてみれば、今回「Max(RNBO)のコンテンツをWeb上で走らせる」というのをやっているわけだが、Webコンテンツのユーザインターフェースと言えばマウスぐらいなので、NIME peopleである僕とすれば、これは「新楽器」というわけでもなく、priorityとしては2番目であり、ここで成功した「rnbo~ → Max External」が最大の収穫という気がする。
これで「Quickstart」はオシマイなので、続いて RNBO Basics に進んでみた。 重要なのは「Patching in RNBO (differences from Max/Gen)」という部分である。 「rnbo~」というのはまさに「gen~」と似ているので、コロナ禍の時期にGENを勉強していた事がおおいに役立つことになった。 「The work flow is very similar to gen~. You create an interface to the RNBO patcher by using special input and output objects for signal, event, and MIDI messages. Use the in~ and out~ objects for audio signals, the in and out objects for events, the param and param~ objects for event input, the inport and outport objects for event input/output, and an assortment of MIDI objects for MIDI input/output.」 と書かれて即時にハイハイと理解できるのは嬉しい。

Audio signal processing in RNBO is vector-based, just like in Max. If you do wish to patch on a per-sample basis, then you can use codebox~ or gen~. Gen is fully functional inside of rnbo~. All you have to do is put a gen~ object in your RNBO patch. You can take filters, delays, reverbs and other audio effects that work inside of gen~ in Max, and use them in RNBO without any changes.」というのも嬉しい。 要するにRNBOはMax/MSP/GENの音響信号処理関係(jitterのグラフィックは除く?)を全て包含しているのだ。
ただし注意点もあった。 「Some RNBO objects are slightly different from their Max counterparts」とのことで、Maxで重宝する「zl.」ファミリは、「list.」に置き換わるなど、いくつかの変更点もあるらしい。 RNBOオフジェクトwindowの下段ツールバーには「Auto Compile」トグルがあり、基本的には何かするたびに自動コンパイルしてくれるらしい。
GENと同様に、パラメータはその名前で参照されることになる。 Exportされた場合には、そのホストから、パラメータの名前でインタラクションを実現するという。 このあたりが、ここから始まる「Web版」(Javascript)での主題となっていきそうだ。

「Dynamic and Fixed Attributes」については、「RNBO objects support attributes, just like Max objects. However, in RNBO these actually break down into two categories: those that are settable after compilation (such as changing the loop points on groove~), and those that can only be set at instantiation, like the @min and @max attributes of a param object. Settable attributes are called "dynamic attributes", while those that can only be set once at initialization are called "fixed attributes".」 とのことで、ちょっと注意が必要のようだ。 まぁ、基本的には起動時にどうせ全てのパラメータを初期設定するので、「ライヴ屋」にはこのあたりは釈迦に説法である。
ここまでで RNBO Basics はオシマイとなったが、次の Key Differences (想像するだけで色々と皺寄せもあれば制限もありそうなので、実際かなり厖大なページ)こそ、重要なのだろう。 冒頭「Many things in RNBO work like they do in Max, however, there are some key differences that are important to understand.」ということで、以下に、部分的にGoogle翻訳の助けを受けつつきちんと整理しておくことにした。

いやー、なかなか大変であるが、これは重要だ。 Max経験者であるからこそ、ここの記述の重要性がよく分かるし、それぞれ、苦渋の決断として生じた「差異」も理解できる。 特に「Send and Receive」は重要なので、上のリストの階層を上げて記載してみたが、ここは走りながら考えることにしよう。
「Getting Started」という大きな括りでは、あと2件、 Why We Made RNBOCoding Resources というアーティクルだけとなった。 前者はなかなか「熱い」文章だが、要するにMaxのデザイン思想をより広い世界に拡張していきたい、ということだった。 後者はいよいよこれから僕も勉強すべき情報源がずらりと並んでいた。 RNBOからexportするターゲットのうち(Max externalは今日、ものにした)、後半にあった「Plugin/Standalone Development」はとりあえずは不要なのだが、前半の「Web Export」こそ、まさにここから学ぶべき世界である。 「Tasks」として8項目(これは項目のみ)、「Tutorials」として6項目★、「Tools」として8項目★、そして★は全て厖大な世界へのリンクなのだった。

Tasks

Tutorials

Tools

せっかくなので全部、上に置いてみたが、その大部分は、何となくこれまで、「Max使い」として僕が避けてきたものだった。 これをMax-RNBO絡みでここから勉強するというのは、いやー、こんな楽しい世界に入っていくのか・・・と感慨深い。 今日はここまでなのだが、ぼちぼち、頑張っていこう。

2025年12月7日(日)

昨日は金指に出掛けて、孫の幼稚園の「なかがわコンサート」に行ったりしたので、帰宅してMatrinを愛でたりのroutineをこなしたものの、RNBOお勉強には着手できなかった。 今日も実は午後に「ジュビロJ2プレーオフ」とか色々なテレビ番組があるので(殆ど見ないのだが)、あまり細かいところには入っていけそうもない。 年内にはもう、AbemaTVでの藤井聡太タイトル戦中継が無いだけマシなぐらいである。

一昨日の日記の最後に、RNBOの「Coding Resources」を列記していたが、実は このページ の左側のメニューが凄いのだ・・・と気付いて、タブの内容まで表示して上のようにscreenshotを撮ってみた。 ここまで見てきたのは、単に「Getting Started」だけであり、その後には以下のような、それぞれ厖大なドキュメントが待ち構えているのだった。

これをMaxの初学者が眺めたら卒倒しそうなボリュームだが、これまで30年もMax/MSP/jitter/Genに慣れ親しんできた身から見ると、こうやってキチンとdocumentsが揃っていることに安心する。 さらに、上から順にというよりは、取捨選択でパスしていい項目も明確で、「Advanced」の中の見慣れた項目とか、「Templates」なんていう手抜きの援軍も発見したので、このリストをここにコピペした意義があった。 見出しからの印象として、例えば「Fundamentals」なんてのはサラッと確認の読み流しで済ませられそうだし、「Export Targets」については既に「Max External Target」は完了、そして「VST/AudioUnit」・「Raspberry Pi Target」・「The C++ Source Code Target」はパスでOKなので「The Web Export Target」を精読すればいい・・・と作戦も見えてきた。

そして午後には、いろいろな合間に このページ の左側メニューから「つまみ食い」程度に読み散らかしてみた。 予想通り、「Fundamentals」の各項目はこれまでのMax文化をRNBOが継承していることの確認であり、「Audio IO」から「Messages and Ports」あたりまでは実際に試すほどのことも無かった。 流石に「Polyphony and Voice Control」・「Audio Files in RNBO」・「Using Buffers」・「Using the FFT」あたりは実験もしてみたいが、先に読んでみたい項目も多いのだ。

RNBO Web Exportは、ブラウザでパッチを実行するために必要なすべての情報を含む単一の.jsonファイルを生成します。このファイルを使用してブラウザで
RNBOパッチを操作するには、別途用意する必要があるコードのコンテキスト内に配置する必要があります。このコードには@rnbo/jsライブラリを含める必要が
あります。このライブラリは、エクスポートされた.jsonファイルからRNBOパッチのロジックをWebオーディオノードにラップするために使用されます。
@rnbo/js とエクスポートしたJSONファイルをWebコードに統合する方法は、完全にあなた次第です。つまり、エクスポートされたRNBOパッチを操作するための
インターフェースを作成するのは、完全にユーザー次第です。
「Export Targets」の中の今回の本命の The Web Export Target を読んでみると、やはりここでの基本は Web Assembly (WASM)Audio Worklet Node にあると確認できた。 「RNBO In The Browser」には上のように全体の説明があり(by Google翻訳)、さらに続く「Minimum Version」によって、実際に動作するブラウザ環境の要請バージョンも確認できた。 僕のお仕事Mac miniは著しく古いのだが、Firefoxは78.0なので、ギリギリ、はみ出ているものの動いていたのだった。 詳しいお勉強をパスしてとりあえず「実験しながら考える」というスタンスであれば、「Web Export ― Quickstart」を見てみると、まずは RNBO Webpage Template からやってみて・・・というのも発見した。 このページはどこかで辿り着いて見ていたような気がするので、どうやら、ここらで準備は出揃ったようだ。

午後にはリビングのテレビには行かずに、Yahooスポーツの「J2リーグ昇格プレーオフ」LIVEテキスト中継ウインドウを上のように開いていたが、前半を終えてアウェーのジュビロが辛うじて「1-0」で勝っていた。 そこからAbemaTVに行ってみると、なんと「第3回達人戦立川立飛杯(満50歳以上の棋士)」の準決勝で「羽生vs佐藤(康)」の熱戦の終盤を目撃して、さらにその後「羽生vs森内」の決勝戦がある・・・というのを知ってしまった。 「羽生vs森内」といえば2011年に、わざわざSUACから市内のホテルコンコルドの大盤解説会に行った 将棋名人戦・永世名人vs永世名人 を思い出した。

J2リーグ昇格プレーオフはその後、上のように後半に徳島が同点に追いついた。 調べてみると「試合は通常のリーグ戦同様に前後半45分ずつの90分間で実施される。90分で勝敗が決まった場合:勝利クラブが次ラウンドに進出。90分を終えて引き分けの場合:年間順位の優位性を保つために上位クラブが勝者となる。そのため、延長戦やPK戦は実施されない」とのことで、そのまま試合終了、実力通りにジュビロは来年もJ2ということになった。

その一方、AbemaTVの「中継チャンネル」を見てみると、上のように「ハワイ島・キラウエア火山 38回目の噴火」というライヴ映像が流れてきた。 「溶岩は3カ所から同時に吹き出し、高さ150mを超えました。3カ所同時に噴火するのは珍しいということです。噴き上がった溶岩は最大で約370mに達しています」とのことで、これはこれで正に「世界のライヴ映像」である。

そして「来年もJ2ジュビロ」確定とほぼ同時、上のように「達人戦決勝」が始まった。 羽生九段が33金型という最新の角換わりを選択して、これはライヴ中継に釘付けで、どうやらMaxだRNBOだというのはオシマイという雰囲気になってきた。 持ち時間は30分ずつ(あとは30秒将棋)と短いので、これは見守るしかない。 まぁ、日曜の午後なんて、そんなものなのかな。

2025年12月8日(月)

昨日の達人戦「羽生vs森内」の終盤は、流石、達人の昭和将棋らしく、AI評価値は「+99%と-99%を激しく行き来する」という混迷の激戦となって、いつも漸増漸減する令和将棋の「藤井曲線」の穏やかなカーブを見慣れていた身には衝撃的で面白かった。 終盤、優勢だった森内の緩手から一転して羽生「39手詰」という筋をAIが示したものの、秒読み将棋に突入する中でそんなものは藤井七冠だって読めないのである。

  

ネットニュースからは、「 「AIが引用した参考文献」の約3分の2が存在しない文献だったり間違っていたりしたとの調査結果 」という記事に関連して、かなり古典らしいのだが、「生成AIの生成したガセ情報」だという、上のようなものも流れてきた。 まぁ、かなり既視感があるものだが、これまで置いてなかった気もするので置いておくことにした。

まぁ、この記事の末尾にあった「最近の関連情報」だけでも上のようにゴマンとあり、生成AIに関する雑多な「噂話」をどんどん生成するAIである・・・とも言えそうだ。

そして昼前からちょっと浜北の方に出掛けて、先々週からあれこれ「訳あり」で進展していた結果として、上のクルマに乗って帰ってくることになった。 ちなみにフロント部分が変な黄色になっているのは、僕がスマホの操作を誤ったためであり、こんな風にはなっていない。 クルマに乗り始めてから45年間ずっとマニュアル、直近でも先代から2台のデミオでも続けてマニュアルに乗ってきた僕のドライバー暦はこれによって、今日からオートマ時代に突入することになったのだ。 まぁ、SUAC公用車とか沖縄/宮古/石垣や利尻/礼文/稚内などのレンタカーは全てオートマだったので、違和感はウインカーのレバーが左右逆になっているぐらいで、ものの数分で慣れた。 「車の運転」というのはまぁ、万国共通のユーザーインターフェースなのだろうか。

2025年12月9日(火)

今日は午前に買い物(新・中古車の慣らし運転)に出掛けて、その後はロボプロのリンクロボットのサンプル教材の加工を進めた。 せっかく前回、プレステのリモコンで操縦できるように仕立て上げたのに、2つのレバースイッチによる「ヒゲ」センサを付けて、机の縁まで進むとバックする・・・という仕様にするために、テキスト/教材のArduinoプログラムは単に進むだけ、というものに退化してしまった。
もちろんこれでは面白くないので、前回の「リモコン操縦」Arduinoスケッチにレバースイッチのセンシングを加えて、ちょっと安易なものの「両方のスイッチがON(机に押し付けられている)の場合にはリモコン操縦データをモータにおくる」・「それ以外の場合にはリモコンから届いていたモータ制御データを反転して1000msecだけ移動してから元に戻る」という単純なアルゴリズムにした。 それでもまずまず動作したので、これを教室で生徒のPCに提供できるようにFATフォーマットのUSBメモリにコピーして、準備は完了した。

ネットニュースで流れてきた「集英社オンライン」の 「高市だけは許さん!」追い詰められた習近平が日本叩きに走る本当の理由…“ソ連化”する実体経済はボロボロ、共産党内部からも突き上げ という記事も読んだのだが、まぁこれが100%フェイクニュースではないのだろうが、うすうす同感できるところがあったとしても、やはりこの内容を100%是認するほど能天気でもない。 まさに「話半分」の典型だろうか。

そして午後には再び、 このページ の中から、やはり「テンプレを改良」作戦の好きな僕は Using the Web Page Template というのに惹かれて、まずは Why a local server? を読んだ。 そして続く「Prerequisites」からとりあえず「Node.js」をインストールする必要がある、と Download Node.js のページに行った。 上はターミナルから指定された文字列を入れたところ、さらに必要なものを求められてインストールなどやっているところである。 結果として、以下のように、必要なツールと共に、どうやら最新LTSの「Node.js」のインストールは完了した。

Last login: Fri Dec  5 09:20:03 on ttys000
nagasm@YoichinoMacBook-Air ~ % curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16631  100 16631    0     0   338k      0 --:--:-- --:--:-- --:--:--  345k
You may be on a Mac, and need to install the Xcode Command Line Developer Tools.
If so, run `xcode-select --install` and try again. If not, please report this!
nagasm@YoichinoMacBook-Air ~ % xcode-select --install
xcode-select: note: install requested for command line developer tools
nagasm@YoichinoMacBook-Air ~ % curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16631  100 16631    0     0  75240      0 --:--:-- --:--:-- --:--:-- 75253
=> Downloading nvm from git to '/Users/nagasm/.nvm'
=> Cloning into '/Users/nagasm/.nvm'...
remote: Enumerating objects: 384, done.
remote: Counting objects: 100% (384/384), done.
remote: Compressing objects: 100% (328/328), done.
remote: Total 384 (delta 42), reused 181 (delta 28), pack-reused 0 (from 0)
Receiving objects: 100% (384/384), 392.50 KiB | 9.34 MiB/s, done.
Resolving deltas: 100% (42/42), done.
* (HEAD detached at FETCH_HEAD)
  master
=> Compressing and cleaning up git repository
=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zprofile, ~/.zshrc, and ~/.profile.
=> Create one of them and run this script again
   OR
=> Append the following lines to the correct file yourself:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
nagasm@YoichinoMacBook-Air ~ % \. "$HOME/.nvm/nvm.sh"
nagasm@YoichinoMacBook-Air ~ % nvm install 24
Downloading and installing node v24.11.1...
Downloading https://nodejs.org/dist/v24.11.1/node-v24.11.1-darwin-arm64.tar.xz...
##################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v24.11.1 (npm v11.6.2)
Creating default alias: default -> 24 (-> v24.11.1)
nagasm@YoichinoMacBook-Air ~ % node -v # Should print "v24.11.1".
v24.11.1
nagasm@YoichinoMacBook-Air ~ % npm -v # Should print "11.6.2".
11.6.2
nagasm@YoichinoMacBook-Air ~ % 
しかしまだまだ壁は続く。 「If have heard about node and npm before but would like to know more about the included npx Package Runner」(ノードとnpmについて聞いたことはあるが、含まれているnpxパッケージランナーについてもっと知りたい場合は)ということで、 Node.js Documentation のページに行って、ザザッと眺めた。 しかしまぁ、これはとりあえずターミナルから入力する「おまじない」と断じて軽くスルーした。
「File structure」では、「export/」・「js/」・「index.html」についての説明があったが、まぁこれはOKである。 そしていよいよ本題の「Using this Template」である。 考えてみれば、僕はこれまでGitHubを避けてきた(自分のWebに日本語でドキュメント類を置いて「Open Sourceだ」と言ってきた)ので、まずはとにかく Creating a repository from a template という、王道のGitHub本家の中枢に進まないとイケナイことになった。

その後、GitHubにサインアップしたり、初めてのリポジトリというのを作ってみたり、Templateをコピって持ってきたりしたが、なんせ指示されている参照ページを全てすっ飛ばして進めているので、まだまだ密林を手探りで放浪している感じである。 最後に、とりあえず手元にZIPで持ってきたTemplateの中に「index.html」があったのでブラウザに投げてみたのだが、案の定、何もしていないのでエラーが出まくったところで今日はオシマイとなった。

まだまだ理解が進んでいない上に、最後の「Customizing your web page」のところには、上のようなまたまた新しい世界を紹介されて、いやいやこれは面白いものの、あまりソソラレナイ世界にどんどん進んでいく感じである。

そして、フト気付いてみると、GitHubからは上のようなメイルも届いて、「お前の活動は世界中のどこであっても監視されている」とのことだった。 こうやって、全てのアカウント(個人情報)は互いに紐付けられて網の目のように雁字搦めに人々を絡め取っていく時代なのだろう。 いやー、素晴らしい。(^_^;)

さて、突然に上のような写真を置いたのは、2012年の欧州ツアーで、前半には院生3人と一緒にウイーン/リンツを闊歩し、後半にはブラチスラバとリュブリャナとリエカ/オパティヤとを一人旅した このページ の中に、スロベニアの首都・リュブリャナの市庁舎前広場の風景をたまたま見付けたからである。 そして何故、このページを眺めたかと言えば、この旅が僕にとって「初めてのスロベニア」だったのだが、何故「スロベニア」なのかと言えば このページ を見ていて気付いたからなのだ。 そう、「訳あり」で僕のところに来たこの可愛いクルマ「Smart forfour」は、「メルセデス・ベンツ・グループ傘下の「スマート社」がかつて製造・販売していた小型(欧州市場におけるAセグメント)自動車」なのだった。

この「スマート」社というのは「1994年に設立されたドイツの自動車メーカー。2019年に中国の浙江吉利控股集団と合弁でSmart Automobileを立ち上げ、スマート・ブランドの車両を中国で生産し世界に輸出する体制となった」という会社であり、「Smart forfour」に関するところを抜き出すと「2014年10月にルノーとの共同開発となる第3世代が登場。2人乗りの"フォーツー"と4人乗りの"フォーフォー"がラインナップされ、日本市場では"フォーフォー"は2016年1月より発売を開始し、同年の日本での新規登録台数は4508台」とのこと。 そして僕のところに来たのは「2代目 W453」であり、「ルノーとダイムラーが開発費を等しく投資し、ルノーがエンジンを、ダイムラーがトランスミッションを担当した。生産は基本コンポーネントを共用する3代目トゥインゴとともに、スロベニアのルノー・ノボメスト工場にて行われる」とあって、ここに「スロベニア」というキーワードが登場していたのだった。 リッターカー(999cc)なのだがハイオク喰いという代物である。

2025年12月10日(水)

ネットニュースから届いたのは テスラの人型ロボット・Optimusに「人間が遠隔操作しているのでは?」疑惑浮上 という記事だったが、それよりもこの中で紹介されていた、Boston Dynamics社の Farewell to HD Atlas という動画が感動的であり、思わず手元にもゲットした。 ロボット開発などというのは昔から失敗の連続なのだが、それを笑うのでなく、脈々と「次」に繋がる試練として素晴らしいロボットを実現してきたBoston Dynamics社の本物の実力は圧巻だった。

午前中にはSmartのドライブを兼ねてクルマ屋に行って書類を渡したり、その帰途には始めて「サンストリート」に立ち寄ってみたりした。 マジックテープで簡易に取り付けられたカーナビが急停車のたびに外れて落ちるので、帰宅してから業務用両面テープを持って行って全面貼りに変更したりして、少しずつ自分のクルマになりつつある。

そして午後には再びRNBOの勉強に戻って、ここは基本からと RNBO Audio Input and Output から順になぞった。 シンプルに外部入力からMIDIノートナンバを受けて「cycle~」で鳴らすだけ、という超シンプルなRNBOをexportした。 ただし、ここからがまだ全く分かっていない暗中模索の世界なので、上のようにあれこれ行き来したりGitHubのデスクトップツールなどという謎なものをインストールしたり、RNBO出力のjsonファイルの中身を見たりする事になった。 まぁ、こういうのを続けていると、突然に霧が晴れることもあるので、もう少しジタバタしてみよう。

2025年12月11日(木)

人間、何事にも「きっかけ」は重要であると僕は思っている。 このところずっと、Amazonで仕入れたものの机の上に鎮座していたブツが、遂に動き出すことになった。 湧いてくるまで待っていたアイデアは湧いて来ず放置されていたのだが、昼前に突然、某所から届いたある電話の打診が「きっかけ」となった。 その電話の詳細は現実化していけばおいおいここで書くとして、まだ漠然としているその話が契機となって、突然にアイデアが(それほど凄いものでもないとしても)閃いたのは事実である。

今日は午後からJoyJoyヒトカラの予定があるので、とりあえず部品を机の上に並べた写真だけを撮ってみたが、何となく今回はArduinoUNOでなく、Nanoを使ってみる事にした。 ハンダ付けは明日の昼間に簡単に出来そうなので、まずは全体のベースとなる「段ボールの切れ端」を探したりした。 かつてはユニバーサル基板を使っていたのだが、 これら の大部分は「空中配線」だったり「段ボールの上」に配置されているのだ。 今週末は明日から金土日とロボット教室もあるので、楽しい楽しいプログラミングは来週あたりになりそうだ。

2025年12月12日(金)

晩にロボット教室がある日だが、朝イチから久しぶりに半田付けセットを出して、以下のような感じにサクッとハードウェアは完成してしまった。 午後には少しだけプログラミングをして YouTube動画 も撮ってみたが、本格的にはまぁ来週である。

そして、京都精華大の落先生からは来年に向けてある連絡が届いて、いよいよスタートする事になってきた。 その返信で、なんだかsunoがCAPTCHAエラーで困っている・・・と伝えたところ、これまでsunoに連絡した色々な手法を教えてくれたのだが、初めて見る「シークレットウィンドウ(Incognito)で試す」・「Arcの場合」などという情報があったので、Firefoxのプライベートウインドウ、さらに「Arc」という新しいブラウザをインストール、そしてsunoブラウザでのプライベートウインドウ、などを試してみたが、以下のように全て駄目だった。

Arduinoのプログラミングもいよいよ楽しいところに突入するのだが、sunoの方もやってみたいので、ここに来て突然に色々と慌ただしくなってきた。 相変わらずsunoへの問い合わせメイルには何の反応も無いのだが、そろそろもう1本、メイルしてみようか・・・という気になってきた。

2025年12月13日(土)

昨日、今日、明日とロボット教室3連荘の週末で、いつものペースが戻ってきた。 今日のKickStarterのカタログでは、ちょっとソソラレルものがあり、ロボット教室で毎回持参するSonyのデジカメ(ヤフオクで中古を何個も仕入れていた)もだいぶ減ってきたこともあり、「ノリ」でプレッジしてしまった。

さらにAmazonに行って「筒井康隆 自伝」もクリックしてしまって、こちらは予約注文なので新年早々に届きそうである。 手元の膨大な筒井康隆本で、これまで自伝的なエッセイもたくさん読んできたのだが、ここは「最後の文豪」の最後っ屁をきちんと読んでおかないと、高校時代に「筒研」で青春してきた僕としても納得できないのだ。

午前中には落先生とsunoのアカウント登録についてメイルをやりとりしたが、「スマホでテザリング」というのは、僕のスマホも奥さんのスマホもテザリング出来ない契約だった・・・という新発見(確認)と共にさらに引き継がれた。

そして午後に出掛けるまでの時間でArduinoプログラミングを少しだけ進めて、せっかくなので64個のLEDをRGB別々に点灯させるように変更して、さらにボリュームを輝度でなくスピードに変更してみたのが、この YouTube動画 である。
しかしこのスケッチでは、RGBそれぞれに「random(1,16)」の値を指定しているので、たまたま全部の成分がゼロで「点灯しない」LEDが無い代わりに、全体としてそれぞれRGBの成分がそこそこ含まれていて、「パステルカラー風」と言えば聞こえはいいが、全体として「漠とした綺麗」な色合いになってしまう。

# include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel pixels(64,6,NEO_GRB + NEO_KHZ800);
int rgb[64][3];
int sw_new, sw_old=1, disp_mode=0, mode=0, counter=0;
int mode_timer=0;

void setup(){
	pixels.begin();
	tone(4,880); delay(50); noTone(4); delay(50);
	tone(4,1760); delay(50); noTone(4);
	rgb_clear();
}

void loop(){
  int i, j;
  sw_scan();
  int tt = map(analogRead(A0), 0, 1023, 50, 1);
  if(++counter > 63) counter = 0;
  i = counter;
  if(i==0 || mode==0) rgb_clear();
  color_set(i);
  pixels.setPixelColor(i, pixels.Color(rgb[i][0],rgb[i][1],rgb[i][2]));
  pixels.show();
  delay(tt);
}

void color_set(int i){
  int j, dice;
  if(disp_mode == 0){
    for(j=0;j<3;j++) rgb[i][j] = random(1,16);
  }
  else{
    dice = random(1,8);
    switch(dice){
      case 1:
        rgb[i][0]=32; rgb[i][1]=0; rgb[i][2]=0;
        break;
      case 2:
        rgb[i][0]=0; rgb[i][1]=32; rgb[i][2]=0;
        break;
      case 3:
        rgb[i][0]=0; rgb[i][1]=0; rgb[i][2]=32;
        break;
      case 4:
        rgb[i][0]=20; rgb[i][1]=20; rgb[i][2]=0;
        break;
      case 5:
        rgb[i][0]=20; rgb[i][1]=0; rgb[i][2]=20;
        break;
      case 6:
        rgb[i][0]=0; rgb[i][1]=20; rgb[i][2]=20;
        break;
      case 7:
        rgb[i][0]=15; rgb[i][1]=15; rgb[i][2]=15;
        break;
    }
  }
}

void sw_scan(){
  if(++mode_timer > 1000){
    mode_timer = 0;
    disp_mode = (disp_mode+1) % 2;
    tone(4,1760); delay(250); noTone(4);
    rgb_clear();
    counter = -1;
  }
  sw_new = digitalRead(8);
  if(sw_new != sw_old){
    sw_old = sw_new;
    if(sw_new == 0){
      mode = !mode;
      rgb_clear();
      counter = -1;
      tone(4,1320); delay(50); noTone(4);
    }
  }
}

void rgb_clear(){
  int i, j;
  for(i=0;i<64;i++){
    for(j=0;j<3;j++){
      rgb[i][j] = 0;
      pixels.setPixelColor(i, pixels.Color(rgb[i][0],rgb[i][1],rgb[i][2]));
    }
  }
  pixels.show();
}
そこで上のように実験そのもののダサいプログラムではあるものの、一定時間ごとに(ただしボリューム操作でloop()の頻度を下げると滅多にやって来ない)2種類の表示モードを切り替えるようにした。 片方(default)は上のパステルカラーであり、もう片方は恒例の「RGBどれかだけ点灯」3種類と「RGBどれかだけ消灯」3種類と「RGB均等の白色」の計7種類で「いかにもカラー」となるmodeである。

実際には上の写真でも、この YouTube動画 でも、その色合いの感じはちょっとよく分からないのだが、実物を眼で見れば一目瞭然である。 せっかくなので、この途中versionのArduinoも今日のロボット教室(RP1)に持っていって、生徒に見せることにした。

2025年12月14日(日)

今日のロボット教室(アドバンス)では、一応「二足歩行ロボット」を目指すテーマの第1回だったのだが、テキストの範囲だと大きく傾いてギクシャクするロボットの下半身だけを作るというもので、生徒全員が早々に完成して時間を持て余した。 そこで「自由に改造してみよう」と呼び掛けたところ、大いに盛り上がる「改造大会」に進展した。 4人のうち2人の改造は、予想外に面白い出来栄えだったので、思わず動画に撮ってみた。 ここ にはリンクを置かないものの、せっかくなので2人の改造作品をくっつけた YouTube動画 をここにだけ置いておくことにした。

そして帰宅してから、落先生とZOOMで繋いで協力してもらって、懸案だった「sunoのサインアップ」を達成した。 上は僕の新MacBookAirで、sunoがサインインされた状態で起動している様子である。 要するに、落先生のパソコン(CAPTCHA認証を通る環境)からsunoサインアップ画面に行って、僕のスマホの番号で登録申請してもらい、sunoから僕のスマホに認証SMSが飛んできたのを伝えて手入力してもらった、という事である。 一旦サインアップ(アカウント設定)してしまえば、あとは僕のパソコンからsunoに「サインイン」すればいいので、また最初は僕のスマホに認証SMSが飛んできたのだが、その数字6桁を入れれば僕のパソコンもサインイン完了となった。 これ以降は、基本的にサインアウトしなければ、スリープしたりWiFiを切ったりしてもOKとなった。

2025年12月15日(月)

午前中は色々と出かけたりしたものの、午後にはいよいよ「suno初日」ということになった。 昨日の画面の他に以下のような画面がループしている構造となっていた。 「V5」と盛大にアピールしているのは、どうもこれまでのsunoのAIモデルがver4.5だったのが、新しいver5.0に進化したのだ(なのでサブスク登録して・・・)というものだった。

  

sunoは無料でも限られた条件で音楽生成が出来るのだが、そこはビジネスとしてサブスクに呼び込みたい。 生成できる曲数にも違いがあるものの、無料だとver4.5まで(ver5は1分間だけ)なのに対して、月額8ドル(1200円)の「Pro Plan」だとVer5がフルに使えるという差があり、さらにその3倍の「Premier Plan」では加えてDTM感覚の「Suno Studio」でパートごとに細かく編集操作が出来る・・・とのことだった。 そこで僕は打ち込みが嫌いなので「Suno Studio」は避けて、以下のように「Pro Plan」を1年間(discountあり)として登録した。

sunoの使い方はChatGPTと同様に「プロンプト命」であり、完全に「お任せ」なのだということで、メニューの「create」から、「Song Description」というプロンプト欄に「70年代プログレ」・「女声ボーカルはスキャットで歌詞なし」・「ソウルフルな声」・「スローテンポのバラード」などと入力してみた。 すると以下のようにv4.5で「星の影」というタイトルで2曲、v5で「夢の蜃気楼」というタイトルで2曲、の計4曲が自動生成されてきた。 希望していないタイトルが勝手に付けられているのも不思議だが、プロンプトは勝手に無視されて、歌詞が出ているわボーカルは歌詞を歌うわ・・・と流石のAIぶりだった。

「Pro Plan」では1ヶ月に500曲も作れるということのようなので、この日記に「今日のsuno生成音楽」をプロンプトと共に記録していく(別に毎日ではないにしても)、というアイデアを思い付いたので、初日の今日からこれを以下のように置くことにした。 以下のようなテンプレートの枠組みを作ってみたので、せっかくなのでsunoが勝手に付けたタイトルも記録してみよう。

●本日のsuno生成音楽(2025.12.15)●
Prompt : 「70年代プログレ風」・「女声ボーカルはスキャットで歌詞なし」・「ソウルフルな声」・「スローテンポのバラード」・「deep tone」
Result : 星の影(1) - 星の影(2) - 夢の蜃気楼(1) - 夢の蜃気楼(2)

僕がプロンプトでイメージしたのは、もちろん Pink Floyd の「狂気」(Dark Side of the Moon)の The Great Gig In The Sky(虚空のスキャット)なのだが、もちろん、だいぶ、違っていた。 sunoが解釈したのは「sweet soul voice, lush strings, deep, tone, deep tone, soul, slow tempo ballad, 1970s progressive rock-inspired, instrumental focus with female scat vocals, atmospheric synthesizers, and intricate guitar melodies」という事らしい。
「星の影(1)」は昭和ムード歌謡という感じで、まぁ70年代というのはそうなのだが、この勝手に作ってくれる「歌詞」は何なのか、甚だ不明なのだ。 「星の影(2)」はサビのところでボカリーズとなったものの、まぁスキャットとは違う。 これも昭和か平成かと言われたら昭和かなぁ。 「夢の蜃気楼(1)」は流石にver5で、これはもう令和バラードと言っても通用するかもしれないが、やはりこの歌詞は何なのか、というツッコミは出てきてしまう。 「夢の蜃気楼(2)」はハミングから始まっているところはいいのだが、やはりボーカルがあるし、歌詞もなんだかぼやっとしていてワケワカメだった。 結論として、v5の2曲はさりげにプロンプトを無視する具合が高い感じである。

そしてせっかくなのでもう1パターン、ボーカルや歌詞を作られるのを避けるために「Instruments」を指定して、今度はプロンプトを「7拍子のロック」・「80年代のフュージョン風」・「ソロはGuitar→Sax→Organとバトンタッチ」・「ハイテンポでテンション高め」と入力してみた。 僕がプロンプトでイメージしたのは、もちろん Jeff Beck の「Wired」の Sophieなのだが、やはり、だいぶ、違っていた。 sunoが解釈したのは「high-tempo, energetic with guitar, 7/8 time rock, sax, and organ solos passing the spotlight, 80s fusion vibe」という事らしい。

●本日のsuno生成音楽(2025.12.15)●
Prompt : 「7拍子のロック」・「80年代のフュージョン風」・「ソロはGuitar→Sax→Organとバトンタッチ」・「ハイテンポでテンション高め」
Result : 異次元ダンスフロア(1) - 異次元ダンスフロア(2)

「異次元ダンスフロア(1)」・「異次元ダンスフロア(2)」どちらもv5なのだが、とにかく普通のロック(8beat)だった。 リクエストの「肝」は「7拍子のロック」なのだが、そういうのはAI様の辞書には無いのだろうか。 まぁ、「ダンス」というタイトルが付く段階で7拍子を理解していないのは明白だったのだ。 さらに、ギターとサックスのソロは分かったのだが、リクエストのOrgan Soloも暖かく無視されていた。 このあたり、かつて2年半前に ChatGPTの新しいゲーム で気付いた事なのだが、「生成AIというのは勝手に間違う」ものだ、という事実を彷彿とさせる感じだった。

sunoのメニューには、「Explore」として、Suno V5で生成された膨大な音楽サンプルが上のようにズラッと並んで回っていて、どこをクリックしても「それっぽい」音楽が出てきた。 面白くてあれこれやっていると、あっという間に7分ほど経過してしまったが、その様子が このYouTube動画 である。
これはいくら遊んでも時間が足りないぐらい楽しい世界だが、ここで「来年1月2日にお届け」とされていた、Amazon注文の「筒井康隆 自伝」が届いてしまった。 これを無視して生成AIするというのもナンなので、あとは正座して読書の時間にした。 sunoの続きは明日以降となる。

2025年12月16日(火)

買い物の運転手とか通院などがあるこの月火水だが、時間としてはかなり空いているので、色々な実験とか開発に勤しむこともできる。
Smartに載っていたライト(発煙筒代わり)が、スイッチを入れても点灯しないので調べてみたが、なんと電池液漏れで完全に故障品となっていた。 底部のキャップが何としても開かず、レンチで挟んで(傷だらけ)相当に苦労してようやく回ったものの、出てきたのはあの白い粉で、キャップ部品自体がまず破損、内部が液漏れ被害で完全破損、さらに電池を抜いても分解できない状態までカチカチだった。 型番をネットで調べてみると、これはSmart日本代理店の「メルセデスベンツ GENTOS EL-1834 LED非常信号灯 発炎筒」と判明したので、以下のものをヤフオク(フリマ)で即決落札購入してみた。 出品者はgoldランクの手慣れた人らしく即応メッセージがあり、おそらく数日で届きそうなので、届いたらクルマに載せることにしよう。

昨日の夕方に届いて、前半2/5ほどまで読んでいた「筒井康隆 自伝」については、午後になってまず、速読で読破した。 老齢になっても筆致はいつもの筒井康隆節であり、途中の色々なトピックも過去に読んでいて既知だったりしたので、まぁスラスラと読めた。 これは「遺書」に近い感じもあるが、まだまだその後にも出版がある・・・と予告しているので、「生前遺書」みたいなものだろうか。 時間をおいてから、もう一度、味わいながら年末あたりに読み直してみよう。

昨夜は寝床で、sunoに音楽生成させるための色々なプロンプトが次々と浮かんできた。 上はその一例なのだが、まずはVocal(歌詞)の無い「Instruments」指定で色々と試してみることにした。 少ないPromptだと「Explore」にあるような、そういうタームで過去に生成した音楽が適当に出てきそうなので、とりあえずの作戦としては多数のキーワードを突っ込んで、いわば「チャンプルー」生成させる、という方針である。 また、「陽気な」とか「軽快に」とか「重厚な」とか「陰鬱な」などの情緒的曖昧表現を加えずに、あくまで既存の単語の連想からどれだけ抽出するのか様子を見たい、という感じだ。 このリストには今後も思いついたら追加していくことにして、実際に音楽生成したものには(済)と付記していこう。

  

さて、そういうわけで「本日の生成音楽」である。 せっかくなので上に並べたPrompt候補案リストの一番上の「琉球音階」・「沖縄民謡」・「カチャーシー」・「泡盛」・「島唄」・「三線」・「チャンプルー」と、2番目の「無調」・「ポリリズム」・「変拍子」・「現代音楽」・「プリピアードピアノ」・「偶然性」でやってみた。
ようやく分かってきたのだが、基本的にsunoの「Create」は「無料」だと、v4.5でフルセットを2曲と、v5で[1分間だけ]の2曲を生成して、その差を見せつけてv5に誘導する模様である。 昨日の最初に4曲あったのは、その時点でまだ「無料」だったためで、サブスク登録して「Pro」になると、低レベルのv4.5というのは生成しなくなるらしい。

●本日のsuno生成音楽(2025.12.16)●
Prompt : 「琉球音階」・「沖縄民謡」・「カチャーシー」・「泡盛」・「島唄」・「三線」・「チャンプルー」
Result : 島風の唄(1) - 島風の唄(2)

勝手に付けてくれたタイトルは「島風の唄」である。 たくさんPromptを並べたのだが、暖かく無視してくれるsunoが解釈したPromptは「traditional okinawan folk, kachashi dance」という事らしい。 ただし、何もメロディーの音色はパンフルートか尺八のようなものと琴のようなもので、「三線」は理解できなかったようだ。 2パターン作ってくれたもののビート感なりコード感は同一で、これでは沖縄の国際通りのBGMとしても失格という感じである。 ChatGPTであればもう少し日本的なものが深まるのかもしれないが、sunoはだいぶ手薄である、と感じた。

●本日のsuno生成音楽(2025.12.16)●
Prompt : 「無調」・「ポリリズム」・「変拍子」・「現代音楽」・「プリピアードピアノ」・「偶然性」
Result : 無題の夢(1) - 無題の夢(2)

勝手に付けてくれたタイトルは「無題の夢」である。 sunoが解釈したPromptは「unpredictable rhythmic structures, dissonant, avant-garde, prepared piano textures」という事らしい。 こちらは一転して、まぁこういうのを作るだろうなぁ・・・と思うものズバリが出来てきたので、初めて「イイネ!」を付けた。 つまり、現代音楽なんてのはこんなものなのだ、と共通認識してこの手のものを生成させている人が世界中にいるのではないだろうか。 これだと、音楽大学の作曲科で「現代音楽作品を作曲しました」なんてのは、もう生成AIで十分、満腹だ・・・ということになりそうだ。 厳密にはプロンプトの全てに反応しているのかどうか微妙なのだが、Maxで「現代音楽風」な音楽を生成するためのアルゴリズムって意外と簡単だ、という真実と対応していそうである。

2025年12月17日(水)

午前は2つの病院をハシゴ通院して終わり、午後はArduino電子工作の作りかけの続き(プログラミング)に没頭することにした。
suno生成は別にDailyである必要もないので後回し。 自分で「イイネ!」と思ったものだけ、 ASLのページ の上の方にmp3リンクを並べることにした。
このところ、ちょっとRNBOが止まっているように思えるが、実は「RNBOでWeb」というのは、一応インタラクティブではあるものの、僕のLive Computer Musicのスタンスからするとやや「外道」で、パソコンのデスクトップをプロジェクションしたところで、ちょっと「ライヴ演奏」には適しないという弱点がある。 実現するために残っている「壁」はチャレンジの甲斐があるものの、finalの結果が期待薄ということもあって、priorityはだいぶ低下して、「暇がある時に」という事になっているのだ。

5ちゃんでは「ミュージシャンの9割弱がAI活用 LANDR調査」というニュースから生成AIに関して盛り上がっていたが、まぁ 「 そりゃ使うだろうな 生活がかかっている。上手く行きゃ大金持ち、使わないわけがない」・「作家やエッセイストは全員使っとるやろ」・「それなりの曲は既存のパターンの組み合わせで作れるということが証明されてしまってる」・「アレンジもAIのほうが上手いでしょ」・「だからどれも似たり寄ったりになるのか」・「AIに作らせた曲を自分の作曲と言い張るソングライターはダサい」・「クリエイティブと言っても過去のパクリが多かったからな。AIに勝てるところがない」・「音楽業界はもうAIクリエイターがいれば他は不要だな。歌手もいらない演奏者もいらない楽器もいらない」・「一生懸命いい曲や詞書いてもどうせAI使ってんだろって評価されるのはきついな」・「素人はこれじゃ新しい音楽が作られないじゃないか!と思うかもしれないが昔から人力でこうやって作曲されてきたんだよな」・「もう既存の楽器から出る音はAI等で再現可能だからミュージシャンは新しい音作りたいなら楽器の開発からやらんと駄目になりそう」・「ライブハウスバンドしか勝たんな目の前で聞く演奏までは誤魔化せない」・「自分でつくれないならやめちまえよ」・「でも手作りの味というか人間が作ったものじゃないと心に響くものは作れない。AIに心が生まれるまではまだ人間は負けないよ」・「こうなってくると、別にお前らが作った音楽じゃなくてもいい。俺が作って俺が聴くから」・「素人でもプロ並みの音楽が作れるようになった時点で、商業的にはほぼ終了。自分好みの音楽を自分で作って聞く時代になる」・「音楽に限らず質の底上げの部分はAIでやればいいのよ」・「sunoで大量に生成して良いフレーズを切り取って打ち込みなおせば一曲出来上がる。なんかこれまでと全然違う曲調だなと思ったらそれ 」・「もうミュージシャンなんか要らないだろ」・「人がパクるか機械がパクるかで大差ないよな」・「現代における創作なんていかに上手くパクるかの勝負だしな」・「AIが作る曲に心が動かされる」・「音源は誰でも作れる時代。コンサートに客を集められるカリスマ性がある奴しか生き残らない」・「この作品もしかしたらAIかも?って疑う所から入る時代に生まれた世代がかわいそうだな」・「作曲家はもう選曲家になりつつある」・「AIに生成させて、メロディ、アレンジ、歌詞をどう選択するかというセンスと生成させた曲を実際にどのようにしてパフォーマンスするかという実力がアーティストの存在意義になるのだろうな」・「生成AIの誕生で真っ先に消えるのがクリエイティブな職業だとは想像できなかったよな?」・「そもそも軽音楽なんかパターンに限りあるコード羅列に鼻歌乗せて出来上がり」・「AIの歌詞は何度試してもうんち」・「曲を聴くと時代やその時の思い出も蘇るがそれもAIに汚されるのか」・「クリエイティブの民主化だよ。つまらない下積みは必要無くなった。 クリエイティブはAIに任せて俺たちは皿洗いをすればいい」 など、正論が大勢を占めた。
そんな中、 PPAPを「180通りのファンク」でカバーしたら、宇宙の真理に到達した という動画を知って、8時間35分のこの動画(スライドショーでBGM専用)を手元にもゲットしてみた。 これは、要するに、元がファンクなので、金太郎飴のようにどこを取っても、イイのだ。

# include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel pixels(64,6,NEO_GRB + NEO_KHZ800);
int disp, loop_speed, sw_new, sw_old=1, counter=0, loop_timer=0, target, conv_rot=0;
int table[98] = {0,9,18,27,36,45,54,63,62,53,44,35,26,17,8,1,10,19,28,37,46,55,
  62,61,52,43,34,25,16,9,2,11,20,29,38,47,54,61,60,51,42,33,24,17,10,3,12,21,30,
  39,46,53,60,59,50,41,32,25,18,11,4,13,22,31,38,45,52,59,58,49,40,33,26,19,12,5,
  14,23,30,37,44,51,58,57,48,41,34,27,20,13,6,15,22,29,36,43,50,57};
int rgb[64][3], convert[64][4], musicScale[] = {523,587,659,698,784,880,988,1047};

void setup(){
	pixels.begin();
	tone(4,880); delay(50); noTone(4); delay(50);
	tone(4,1760); delay(50); noTone(4);
  convert_setting();
  randomSeed(analogRead(5));
  target = random(64);
  rgb_clear();
}

void loop(){
  loop_speed = map(analogRead(A0), 0, 1023, 240, 1);
  if(++loop_timer > loop_speed){
    loop_timer = 0;
    dot_display();
    sw_scan();
  }
  sw_scan();
  delay(1);
}

void sw_scan(){
  sw_new = digitalRead(8);
  if(sw_new != sw_old){
    sw_old = sw_new;
    if(sw_new == 0){
      if(disp == target){
        rgb_clear();
        for(int i=0; i<9; i++){
          tone(4, musicScale[i]); delay(40); noTone(4); delay(60);
        }
        nice_clear();
        counter = 0;
        conv_rot = 0;
        delay(200);
        target = random(64);
      }
      else{
        tone(4,500); delay(500); noTone(4);
        delay(500);
      }
    }
  }  
}

void dot_display(){
  int i,j;
  if(++counter > 97){
    counter = 0;
    if(++conv_rot > 3) conv_rot = 0;
  }
  j = table[counter];
  i = convert[j][conv_rot];
  disp = i;
  rgb_clear();
  color_set(i);
  pixels.setPixelColor(i, pixels.Color(rgb[i][0],rgb[i][1],rgb[i][2]));
  pixels.show();
}

void rgb_clear(){
  int i,j;
  for(i=0;i<64;i++){
    for(j=0;j<3;j++){
      rgb[i][j] = 0;
      pixels.setPixelColor(i, pixels.Color(rgb[i][0],rgb[i][1],rgb[i][2]));
    }
  }
  i = target;
  for(j=0;j<3;j++) rgb[i][j] = 25;
  pixels.setPixelColor(i, pixels.Color(rgb[i][0],rgb[i][1],rgb[i][2]));
  pixels.show();
}

void color_set(int k){
  int i = k;
  int dice = random(1,7);
    switch(dice){
      case 1:
        rgb[i][0]=25; rgb[i][1]=0; rgb[i][2]=0;
        break;
      case 2:
        rgb[i][0]=0; rgb[i][1]=25; rgb[i][2]=0;
        break;
      case 3:
        rgb[i][0]=0; rgb[i][1]=0; rgb[i][2]=25;
        break;
      case 4:
        rgb[i][0]=15; rgb[i][1]=15; rgb[i][2]=0;
        break;
      case 5:
        rgb[i][0]=15; rgb[i][1]=0; rgb[i][2]=15;
        break;
      case 6:
        rgb[i][0]=0; rgb[i][1]=15; rgb[i][2]=15;
        break;
    }
}

void convert_setting(){
  for(int i=0;i<64;i++){
    convert[i][0] = i;
    convert[i][1] = 8*(7-(i%8)) + ((i/8)%8);
    convert[i][2] = 63-i;
    convert[i][3] = 8*(i%8) + (7-(i/8)%8);
  }
}

void nice_clear(){
  int i,j;
  for(i=0;i<64;i++){
    for(j=0;j<3;j++){
        rgb[i][j] = random(1,9);
        pixels.setPixelColor(i, pixels.Color(rgb[i][0],rgb[i][1],rgb[i][2]));
    }
  }
  pixels.show();
  delay(250);
  for(i=0;i<64;i++){
    for(j=0;j<3;j++){
        rgb[i][j] = random(1,18);
        pixels.setPixelColor(i, pixels.Color(rgb[i][0],rgb[i][1],rgb[i][2]));
    }
  }
  pixels.show();
  delay(250);
  for(i=0;i<64;i++){
    for(j=0;j<3;j++){
        rgb[i][j] = random(1,27);
        pixels.setPixelColor(i, pixels.Color(rgb[i][0],rgb[i][1],rgb[i][2]));
    }
  }
  pixels.show();
  delay(250);
  for(i=0;i<64;i++){
    for(j=0;j<3;j++){
        rgb[i][j] = 0;
        pixels.setPixelColor(i, pixels.Color(rgb[i][0],rgb[i][1],rgb[i][2]));
    }
  }
  pixels.show();
}

そして夕方には、懸案だった「8*8RGBマトリクスLED」のパネルを使った、Arduino電子工作の新作が完成した。 当初の構想とはちょっとだけ違うものの、なかなかトリッキーなプログラミングは気に入っている。 これは明後日のロボット教室で、生徒にお披露目となる。 YouTube動画 もここに置いて、 ASLのページ にもリンクを追記して、これで気持ち良く、明日はJoyJoyヒトカラに出掛けられる感じとなった。

2025年12月18日(木)

「見ない」つもりだったのだが、気になってtverで「水曜日のダウンタウン」に行ってしまい、一気に「名探偵津田」の前編90分を見てしまったのはまぁ、仕方ない。 芸人の学芸会的ドラマだと思うと見ていられないのだが、ワイプで突っ込みを入れるという仕組みが上手い。
そして昨日はスキップしていた「今日のsuno」は、promptとして「雅楽」・「笙」・「能楽」・「尺八」・「琴」・「三味線」・「琵琶」・「義太夫」・「歌舞伎」を並べて、どのぐらいsunoが日本語入力された日本文化/日本音楽のキーワードを解釈できるか・・・を見てみた。

昨日やっていなかったので、うっかり忘れて「Instruments」のボタンを押さなかったので、最初にv5で生成された2曲(タイトル「風のささやき」)には共通の「歌詞」(以下)が生成されてしまい、ボーカルが入ってしまった。 sunoが解釈したPromptは「atmospheric, shakuhachi, traditional japanese, and shamisen with ethereal vocal harmonies, featuring koto」という事らしい。 要するに、入力されたPromptをキーワードとして歌詞の中に織り込んでいるだけだ、と判明したのは収穫である。

[Verse]	風がそっと耳に触れる	山の声が心に響く	笙の音 遠く揺れて	夢の中で舞うように
[Chorus]	琴の弦が泣いている	琵琶の音が問いかける	何を探しているのか	何を忘れてきたのか
[Verse 2]	月明かりに影が揺れる	三味線が夜を描く	能楽の面が語り出す	過ぎた時を映す鏡
[Prechorus]	義太夫の声が深く	胸の奥に届く
[Chorus]	琴の弦が泣いている	琵琶の音が問いかける	何を探しているのか	何を忘れてきたのか
[Bridge]	尺八の息が風となり	歌舞伎の幕が開く	過去と未来が交わる瞬間	すべてがひとつになる

●本日のsuno生成音楽(2025.12.18)●
Prompt : 「雅楽」・「笙」・「能楽」・「尺八」・「琴」・「三味線」・「琵琶」・「義太夫」・「歌舞伎」
Result : 風のささやき(1) - 風のささやき(2)

まぁ、出来あがったのは「日本の伝統楽器」(尺八とか琴とか)をフューチャリングした「ムード歌謡」そのもので、こういうのは昭和でも平成でも、場末の商業施設のBGM(つまりは有線放送)で流れてきていた気がする。 ということは、有線放送というビジネスも、音楽生成AIによって消滅の危機にあるという事実を確認できた。
そして、仕方ないので全く同一のPromptのままで、defaultでOFFとなっている「Instruments」のフラグをONにして、ボーカル無しの音楽をさらに2曲、生成させてみた。 sunoが解釈したPromptは「traditional japanese, acoustic blend of koto, with atmospheric textures evoking nature, ethereal, and shamisen, shakuhachi」という事らしく、ボーカル無しとすることで解釈Promptが変わった・・・というのも収穫となった。

●本日のsuno生成音楽(2025.12.18)●
Prompt : 「雅楽」・「笙」・「能楽」・「尺八」・「琴」・「三味線」・「琵琶」・「義太夫」・「歌舞伎」
Result : 風の音色(1) - 風の音色(2)

しかし、こちらもボーカルが無いだけの「日本の伝統楽器」(尺八とか琴とか)をフューチャリングした「ムード歌謡」でしかなくて、それも不要なベースとドラムスによって、普通の和風POPS的BGMになっていた。 だんだん分かってきたのだが、sunoで生成される音楽は、特に指定しなければテンポやキーも同じになっていて、トラックごに切り貼り編集することが容易なようになっていて、つまりはbeatは必ず2の倍数となっているのだ。 まぁ、今回は生成された4曲のいずれにも「いいね!」は付けられなかった。

その後、朝イチで思い付いたアイデアで、昨日に完成したばかりのArduino電子工作の新作のArduinoプログラムの改定案に取り組んで午前〜午後まで頑張ったが、JoyJoy行きの時間切れとなった。 このアイデアは、当初に漠然と思い描いていたものに近いので、とりあえず昨日のversionを「暫定FIX版」(改訂に失敗したらこれをもって完成と言う)として保存しつつ、リネームして深い深いアルゴリズムの深淵に挑んだ。 中途半端なところで出掛けるのはちょっと残念だが、次第にロジックが明確になってきたので、出来れば今週末には完成させてみたいところだ。

2025年12月19日(金)

昨日のJoyJoyヒトカラでは5時間で54曲を完走したが、詳しい状況はあまり覚えていないのはいつもの事である。 そして今日の午前中かかって、一昨日にいったん完成していたArduinoシステムのプログラムをけっこう大幅改訂して、当初の構想に近いものを完成できた。 「標的」の白い点に対して、ランダム発色の輝点が動いてスイッチでヒットさせる、という枠組みは同じなのだが、単一の輝点が動くのでなく、数カ所の「残像」を引きずっていく、というのを組み込んだ。 プログラムとしては無駄に冗長だった部分を改訂して、以下の方がかなりスマートである。
# include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel pixels(64,6,NEO_GRB + NEO_KHZ800);
int loop_speed, sw_new, sw_old=1, counter, loop_timer=0, target, conv_rot;
int table[98] = {0,9,18,27,36,45,54,63,62,53,44,35,26,17,8,1,10,19,28,37,46,55,
  62,61,52,43,34,25,16,9,2,11,20,29,38,47,54,61,60,51,42,33,24,17,10,3,12,21,30,
  39,46,53,60,59,50,41,32,25,18,11,4,13,22,31,38,45,52,59,58,49,40,33,26,19,12,5,
  14,23,30,37,44,51,58,57,48,41,34,27,20,13,6,15,22,29,36,43,50,57};
int rgb[3], convert[64][4], musicScale[] = {523,587,659,698,784,880,988,1047};
int current, current_old, zanzou[6][4]; // [0=start,1-5][color0-2,point]

void setup(){
	pixels.begin();
	tone(4,880); delay(50); noTone(4); delay(50); tone(4,1760); delay(50); noTone(4);
  convert_setting();
  randomSeed(analogRead(5));
  screen_initial();
}

void loop(){
  loop_speed = map(analogRead(A0), 0, 1023, 1000, 1);
  if(++loop_timer > loop_speed){
    loop_timer = 0;
    zanzou_display();
    sw_scan();
    address_calculate();
  }
  sw_scan();
}

void zanzou_display(){
  int i,j;
  i = zanzou[5][3];
  for(j=0;j<3;j++) pixels.setPixelColor(i, pixels.Color(0,0,0));
  for(j=5;j>0;j--){
    zanzou[j][3] = zanzou[j-1][3];
    for(i=0;i<3;i++){
      rgb[i] = 0.53 * zanzou[j-1][i];
      zanzou[j][i] = rgb[i];
    }
    pixels.setPixelColor(zanzou[j][3], pixels.Color(rgb[0],rgb[1],rgb[2]));
  }
  current_disp();
  if(current != target) target_disp();
  pixels.show();
}

void current_disp(){
  color_set();
  pixels.setPixelColor(current, pixels.Color(rgb[0],rgb[1],rgb[2]));
  zanzou[0][3] = current;
  for(int j=0;j<3;j++) zanzou[0][j] = rgb[j];
}

void target_disp(){
  for(int j=0;j<3;j++) rgb[j] = 25;
  pixels.setPixelColor(target, pixels.Color(rgb[0],rgb[1],rgb[2]));
}

void address_calculate(){
  if(++counter > 97){
    counter = 0;
    if(++conv_rot > 3) conv_rot = 0;
  }
  current_old = current;
  current = convert[table[counter]][conv_rot];
}

void screen_initial(){
  target = random(64);
  rgb_clear();
  target_disp();
  pixels.show();
  counter = 0;
  conv_rot = 0;
}

void sw_scan(){
  sw_new = digitalRead(8);
  if(sw_new != sw_old){
    sw_old = sw_new;
    if(sw_new == 0){
      if((current == target) || (current_old == target)){
        for(int i=0; i<9; i++){
          tone(4, musicScale[i]); delay(40); noTone(4); delay(60);
        }
        nice_clear();
        screen_initial();
        delay(200);
      }
      else{
        tone(4,500); delay(500); noTone(4);
        delay(500);
      }
    }
  }  
}

void rgb_clear(){
  int i,j;
  for(i=0;i<64;i++) pixels.setPixelColor(i, pixels.Color(0,0,0));
  for(i=0;i<6;i++){
    for(j=0;j<4;j++) zanzou[i][j] = 0;
  }
}

void color_set(){
   switch(random(1,7)){
      case 1:
        rgb[0]=25; rgb[1]=0; rgb[2]=0;
        break;
      case 2:
        rgb[0]=0; rgb[1]=25; rgb[2]=0;
        break;
      case 3:
        rgb[0]=0; rgb[1]=0; rgb[2]=30;
        break;
      case 4:
        rgb[0]=15; rgb[1]=15; rgb[2]=0;
        break;
      case 5:
        rgb[0]=15; rgb[1]=0; rgb[2]=15;
        break;
      case 6:
        rgb[0]=0; rgb[1]=15; rgb[2]=15;
        break;
   }
}

void convert_setting(){
  for(int i=0;i<64;i++){
    convert[i][0] = i;
    convert[i][1] = 8*(7-(i%8)) + ((i/8)%8);
    convert[i][2] = 63-i;
    convert[i][3] = 8*(i%8) + (7-(i/8)%8);
  }
}

void nice_clear(){
  int i,j;
  for(i=0;i<64;i++){
    for(j=0;j<3;j++){
        rgb[j] = random(1,8);
        pixels.setPixelColor(i, pixels.Color(rgb[0],rgb[1],rgb[2]));
    }
  }
  pixels.show();
  delay(250);
  for(i=0;i<64;i++){
    for(j=0;j<3;j++){
        rgb[j] = random(1,20);
        pixels.setPixelColor(i, pixels.Color(rgb[0],rgb[1],rgb[2]));
    }
  }
  pixels.show();
  delay(250);
  for(i=0;i<64;i++){
    for(j=0;j<3;j++){
        rgb[j] = random(1,33);
        pixels.setPixelColor(i, pixels.Color(rgb[0],rgb[1],rgb[2]));
    }
  }
  pixels.show();
  delay(250);
}

これを今日のロボット教室で、生徒にお披露目することになった。 YouTube動画 もここに置いて、 ASLのページ のリンクも差し替えて、これで一件落着である(→ 追記 : 改良を加えた最終版については翌日のところを参照のこと)。
そして、今日も今日とて sunoで音楽生成ということで、色々と思い入れのある「シンセサイザー」・「ムーグ」・「オーバーハイム」・「ポルタメント」・「モジュレーション」・「レゾナンス」・「ドラム無し」というPromptをやってみた。 単なるロックにしたくないので「ドラム無し」と追加したところがミソである。

●本日のsuno生成音楽(2025.12.18)●
Prompt : 「シンセサイザー」・「ムーグ」・「オーバーハイム」・「ポルタメント」・「モジュレーション」・「レゾナンス」・「ドラム無し」
Result : シンセサイザーの夢(1) - シンセサイザーの夢(2)

v5から出てきた音楽は、まぁいかにもなシンセベースとよくあるシンセサウンドだった。 音色については当然Synthesisすることもなく、既存のそれっぽい音色を組み合わせるだけのようである。 sunoが勝手に付けてくれたタイトルは、Promptの最初そのまま、「シンセサイザーの夢」だった。 sunoが解釈したPromptは「electronic, ambient, minimal synth-driven」となっていて、せっかく入れたキーワードはほぼ無視されていて、さらに「2nビート」を避けるために「ドラム無し」と指定したのにこちらも無視されて、両方にドラムが入っていた。 ChatGPTだけでなくsunoもまた、なかなかにお馬鹿なのだった。

2025年12月20日(土)

今日は技術士会中部支部の「ヤマハ・イノベーションロード見学会」というのがあるので、午前から終日、出掛ける日である。 昨日に完成していたArduino新作については、若干の改良点が浮かんできたために、朝イチからプログラミングとデバッグに精を出して、 このような改訂版 に仕上げて、これで本当に完了となった。 Arduinoソースをまた延々と置くのもナンなので、こちらはplain textへのリンクとした。

2025年12月21日(日)

  

昨日の技術士会中部支部[電気電子/情報工学]部会の「ヤマハ・イノベーションロード見学会」(上の写真はロビーの白熊と、懐かしきMIBURI)では、2018年に SUAC教員の見学会 に行っていたこともあり、デジカメも持たずに行き、主として「音響機器展示エリア」(下左)で20分おきに上映されるバーチャルステージのJazzトリオを聴いたりミキシングコンソールを操作して遊んだりした。

  

そして上映の合間に「楽器展示エリア」に行き、いつもの週一routineの「Martin弾き」を今回だけはYamahaギターで代用した。 何本ものギターを取っ替え引っ替え弾いてみたが、国産ハンドメイドのフラグシップモデルだという「FG9M」(上右)がまずまずだったものの、当然ながらMartinの足元にも及ばなかった。 当初は「ガイドツアー1時間+自由観覧1時間」という筈だったのだが、我々の団体はガイドツアー無しの「フリー2時間」ということになって、けっこうあちこちをウロウロ出来た。 以下の写真は、退館直前にスマホで撮った、「楽器展示エリア」のスナップである。

  

  

そして、 2018年に行った時 にも以下のようにあったのだが、触れていなかったので知らなかったのが、モバイルミニキーボード reface CPreface YC である。 refaceシリーズには、あと「CS」と「DX」もあるのだが、こちらは別にソソラレなかったものの、「CP」と「YC」は弾いてみて気に入って、これは帰宅したら中古がヤフオクで出ていないか調べてみよう・・・という気になった。 実際にはまだ製造しているようで、サウンドハウスだと両方とも55000円だった。 なかなか微妙にいい価格設定で、SUAC時代にこれを知っていたら研究費で購入していたかもしれない。

  

しかし、ちょっと冷静に考えてみれば、僕は別にライヴでキーボードを弾くこともなく、これをデータ入力用MIDIキーボードとして使ってDTM/DAWする訳でもなく、リアルタイム・インタラクティブなアルゴリズムをMaxで開発して、新楽器もオリジナルに作るので、これを55000円*2の出費でゲットする必然性は無かったのだった。
ヤマハから浜松駅に戻り、初めての遠鉄ビル13階会議室での会合(一人5分の自己紹介大会)となったが、会場にWiFiが飛んでいたので、持参したiPadからChatGPTを立ち上げて、合間に以下のようなやりとりをした。 4パターンの「歌詞」を生成させたのだが、所用時間はものの数分であり、流石といえば流石だった。

【質問】
和風の楽曲を作ろうと思います。侘び寂び、幽幻、輪廻転生、諸行無常、などを盛り込んだ歌詞を作ってみてください

【回答】
素敵なテーマですね。侘び寂び・幽玄・輪廻転生・諸行無常が自然に溶け合うよう、和語中心・余白を重視し、情景と哲学がにじむ歌詞にしてみました。
曲調は静かな和風バラード〜中庸のテンポを想定しています。

「ゆらぎの環(わ)」

一番   薄墨(うすずみ)の空 鐘ひとつ   苔むす石に 時は眠る   欠けゆく月に 名を問えば   答えは風に ほどけゆく
二番   花は散りゆき 土に還り   土は命を また育む   始まりと終わりの あわいにて   我らは夢を 結び直す
サビ   巡り巡る この身は仮   輪廻の川に 影を映し   掴めぬものと 知りながら   なお手を伸ばす 人の性(さが)
   諸行は移ろい 留まらず   在ると信じた 今さえも   消えては生まれ また消えて   幽(かす)かな光 灯(とも)しゆく
三番   朽ちた社(やしろ)に 雨が降り   祈りの跡は 音もなく   失うことで 満ちてゆく   侘びしき美が ここにある
間奏(語り・詠嘆)   生も死も   一枚の 薄き紙   破れしところに   空(くう)が覗く
ラスサビ   巡り巡る 魂(たま)は舞い   名も形も 脱ぎ捨てて   別れと出会いを 繰り返し   無常の海を 渡りゆく
   終わりと知りて なお咲くは   一夜(ひとよ)の花の 誇りなり   消えゆくゆえに 美しく   今この瞬間(とき) 息をする
アウトロ   鐘は遠くで 溶けてゆき   静寂(しじま)がすべてを 包み込む   在るとも無きとも 言えぬまま   我らはまた 環に還る

【質問】
より古語よりで、死生観を含めてお願いします

【回答】
承りました。古語・文語調を基調にしつつ、仏教的死生観(無常・空・輪廻)と幽玄さを前面に出します。
意味を説明しすぎず、「読めば滲む」余白を残した歌詞です。

「無常のゆめ(古語調)」

一   あはれ この世は 泡沫(うたかた)に   生(あ)れしと知らぬ 間(ま)に消ゆ   昨日(きのふ)の我は 影となり   今日は誰ぞと 問ふ声もなし
二   花は散りなば 名を残さず   月は欠けつつ 満ちかへる   有(あ)ると見しもの 空(くう)なれば   掴まむとせし 手は虚ろ
サビ   生(しょう)も死(し)も 隔てはなく   ただ流るる 因果(いんが)の環   去りゆくものに 執(しう)を置けば   苦(く)はまた 生まれ出づ
   諸行は常(つね)ならず   留(とど)むるもの ひとつなし   滅びを知りて なお咲くは   無明(むみょう)の灯(ともし) かなしきかな
三   骸(むくろ)は土に 土は風に   風は空へと 還りゆく   我と呼びしは 名ばかりで   実(げ)に在りしや 誰も知らず
四   夜半(よは)の鐘音(かねのおと) 身を貫き   夢か現(うつつ)か 境(さかい)失ふ   生きるといふも 死ぬといふも   ひと息の間(ま)に 過ぎゆく事
サビ(二)   生まれ 死にて また生まれ   業(ごう)に導(しるべ) 曳かれゆく   望みを断たず 恐れを抱き   迷ひの岸を 渡るなり
   されど悟(さと)らば 知るならむ   失ふことの 恵みをば   無(む)と知りて なお慈(いつく)しむ   それぞ仏の 道ならむ
間奏(詠)   在ると思へば すでに無く   無きと悟れば 満ちてあり
終章(ラス)   今この命(いのち) 露(つゆ)なれど   露と知りて 踏み出だす   消えゆくゆえに 光あり   闇に咲くこそ 真(まこと)の花
アウトロ   鐘は止みなば 音もなく   我も名もまた 溶けゆかむ   終わりのなき 終わりの中   静かに廻る 輪廻(りんね)の夢

もし次に進むなら、「さらに漢文訓読調(〜なり、〜べし強化)」・「死を“救済”ではなく“虚無”寄りに」・「旋律を意識して音数を整理」・
「能・声明(しょうみょう)を意識した詠唱型」などにも調整できます。

【質問】
死を“救済”ではなく“虚無”寄りにお願いします

【回答】
了解しました。救済・悟り・仏の道といった肯定を極力排し、死を「解放ではなく、意味の剥落・名の消失=虚無」として描きます。
それでも感情は冷たくしすぎず、幽玄で静かな絶望が残る方向です。古語・文語調をさらに強めます。

「空(くう)に名なし」

一   あはれ 生(あ)れしと 気づく間に   すでに崩れし 我が形   名を呼ぶ声は 遠ざかり   応ふるものは 闇ばかり
二   花は散るとも 意味を持たず   月は満ちても 語らねば   在(あ)ると信じし この心   初(はな)より空に 属しけり
サビ   生も死も 等しく虚(むな)し   隔つる橋は もとより無(な)し   行き着く先に 何もなく   還るべき処(ところ) 名も持たず
   諸行は滅び 跡もなく   残ると見えし 痛みさへ   夜の底へと 沈みゆき   誰の記憶も 伴はず
三   骸(むくろ)は土に 溶け失せ   土は土にて 留まりぬ   魂(たま)と呼びし 幻は   初めも終わりも 語れず
四   輪廻といへど 環(わ)ならず   断ち切れぬ線 ただ曳かれ   生まれし理由 死ぬ理(ことわり)   問ふ舌(した)さへ 崩れ落つ
サビ(二)   求むるほどに 失ひて   掴まむとせば 崩れ散る   希望と名づく その影も   闇に触れれば 形なし
   救ひは来ずと 知りながら   なおも息する この業(ごう)   止まらぬものを 止め得ず   虚無のみが 在りて在らず
間奏(詠)   在ると思ふは 錯(あやま)ちにて   無きと悟るも また錯なり
終章(ラス)   今この命 灯(ともし)なれど   灯と知りて 守る意味なし   消えゆくことに 値(あたい)もなく   咲かぬ花にも 名は与へず
アウトロ   鐘は鳴らずに 終はりゆき   夜は夜にて 閉ぢられぬ   始まりもなく 終はりもなく   ただ空(くう)だけが 残りけり

もしご希望があれば、次は「さらに感情を削ぎ落とし、ほぼ無機質に」・「生への執着・恐怖を強めた版本」・「旋律に合わせて音節数を厳密化」・
「能のシテ独白のような構成」もできます。この世界観、かなり深いので、作曲側に寄せる調整も相性が良いです。

【質問】
さらに感情を削ぎ落とし、ほぼ無機質にでお願いします

【回答】
承知しました。感情語・比喩の装飾を極限まで削減し、主体(私・魂・救い)すら不確かなまま、事象だけが淡々と記録されるような和文語調に寄せます。
「悲しい」「虚しい」とすら言わない、温度のない死生です。

「記録なし」

一   生ず   名は未だ無く   時のみ 進む   形 在りしが   在りしと   記す者なし
二   光 来たり   退く   理由 付されず   花 落つ   落ちしこと   それのみ
サビ   生 発生す   死 停止す   両者の間   意味 存在せず
   保持 不可   回収 不可   消失のみ   継続す
三   骸   物質へ   移行   土   土のまま   変化なし
四   輪廻   仮説   証左なし   開始点   終了点   共に不明
サビ(二)   記憶   保存されず   痛覚   減衰   名   剥離   残存物   なし
間奏(注記)   在る   と   定義せず   無   と   定義せず
終章(ラス)   現在   消滅   次   未定   継続   せず
アウトロ   記録   終了

補足(作曲・演出向け)
    旋律:音程少・跳躍なし(朗読と詠唱の中間)
    リズム:間(無音)を拍として扱う
    楽器:尺八の息音/低音ドローン/打楽器は無音か一打のみ
    歌唱:感情を乗せない、抑揚最小

もし次に進むなら、「さらに言語を崩し、ほぼ音素だけにする」・「完全に人称を排し、観測ログ形式」・「[空]すら語らない極限版」まで行けます。
ここまで削ぐと、かなり前衛ですが、和風ミニマルとして強度は高いです。
まぁ、生成AIに作詞させるとこうなるだろう・・・という予想通りになった。 ユーミンも「ChatGPTで作詞にトライしてみたんですけど、うまくいかなかった。AIに作詞は無理だと思いました」・「会社の報告書とかトリセツ的なものだったら便利かもしれないけれど、(日本語は)行間を大切にするでしょう。行間にたくさんの情報があるわけですよね。(行間で)いろんなことを想起する、それはAIには無理ですね」・「そこで苦悩する、儚い自分の人生をそこに懸けるっていうことで生まれる"何か"があるので。苦悩することは、やめたくないですね」と言っていたそうだし、まぁこれは真理だろう。 およそ、Promptで提示した単語の周辺をウロウロするだけなのだから。

2025年12月22日(月)

昨日は初めて、「M-1」を午後3時からの「敗者復活戦」から午後10時10分の終了まで全部、観た。 そこで得られた教訓というのは当然過ぎるもので、「敗者復活戦に出るのは決勝に残れなかった敗者たちなので、そのレベルは決勝よりもかなり低い」というものだった。 来年からは18時30分からの決勝だけで十分だし、さらにその冒頭30分は無駄な盛り上げビデオとCMで埋まっているので、いいところ19時からの決勝で十分なのだった。 しかし今年のM-1の最終決勝3組は「当たり」だったので、まぁ元は取った気もする。
例年の年末は大晦日が近付くと予定も無くなって空っぽの日々が続いたものだが、今年は今週末の金土日に最後のロボット教室があるので、まずまず充実である。 今日の午前には、アドバンスのロボットをテキストに従ったプログラムの状態まで上げたところで止めて(上半身の増設は来月1回目のメニュー)、ロボプロのロボットをテキスト(最終6回目)に合わせてプチ改造して、準備は完了した。 午後には義母の施設の会合に奥さんを送って、帰途に買い物をして、帰宅してからsunoに行ってみた。

せっかく一昨日、ChatGPTに「侘び寂び、幽幻、輪廻転生、諸行無常」というPromptで作詞してもらったので、ここに「女性シンガー」というのを加えて、「歌付き」の音楽を生成させてみた。 すると以下のような、いかにもな曲(SUAC学生とカラオケに行って知った色々なアニソンと酷似)が生成された。 これまで聞いたことなかったので、YouTubeで 「鬼滅の刃」主題歌MV集 というプレイリストの曲を再生してみたが、まぁそういうやつをsunoで作る人が多いのか、正にそういうのが綺麗に出来あがった。

●本日のsuno生成音楽(2025.12.22)●
Prompt : 「侘び寂び」・「幽幻」・「輪廻転生」・「諸行無常」・「女性ボーカル」
Lylics :
   (1)   薄墨(うすずみ)の空 鐘ひとつ   苔むす石に 時は眠る   欠けゆく月に 名を問えば   答えは風に ほどけゆく
   (2)   花は散りゆき 土に還り   土は命を また育む   始まりと終わりの あわいにて   我らは夢を 結び直す
   (bridge)   巡り巡る この身は仮   輪廻の川に 影を映し   掴めぬものと 知りながら   なお手を伸ばす 人の性(さが)
      諸行は移ろい 留まらず   在ると信じた 今さえも   消えては生まれ また消えて   幽(かす)かな光 灯(とも)しゆく
   (3)   朽ちた社(やしろ)に 雨が降り   祈りの跡は 音もなく   失うことで 満ちてゆく   侘びしき美が ここにある
   (bridge)   生も死も   一枚の 薄き紙   破れしところに   空(くう)が覗く
      鐘は遠くで 溶けてゆき   静寂(しじま)がすべてを 包み込む   在るとも無きとも 言えぬまま   我らはまた 環に還る

Result : 薄墨の空(1) - 薄墨の空(2)

与えた歌詞の(1)とか(bridge)とかの文章構造は無視されていて、単に歌詞を順にほぼ正しく発音しつつ歌にしているだけなのはご愛嬌か。 しかし、タイトルは歌詞の冒頭から取って「薄墨の空」としたが、いやいや、これはアニソンを作曲している人は大変だぁ。 こんなのが誰でも、ものの1-2分で簡単に出来てしまうということは、「この上」を行くにはどうしたらいいのか・・・という悩ましい未来が待っている気がする。 とりあえずまずはプロンプトを多数並べて「チャンプルー」で様子見しているのだが、おいおい、タームを減らしてどうなるのか・・・を調べる必要もありそうだ。

2025年12月23日(火)

2日前に「打ち上げ17秒前に異常検出で延期」というニュースで嫌な予感がしていたのだが、案の定の結果となった。 かつて「信頼性技術」を技術士としてのネタの一つにしていた身としては、あまりの事に立ち竦むしかない。 これが、現在の、日本の、おそらくほぼ先端の、偽らざる「実力」であるという事実を直視することから始めるしかない。
宇宙航空研究開発機構(JAXA)は22日午前10時50分ごろ、H3ロケット8号機を鹿児島県の種子島宇宙センターから打ち上げた。約30分後に準天頂衛星
「みちびき5号機」を軌道投入する計画だったが、第2段エンジンの燃焼が予定より早期に終了し、軌道投入に失敗した。H3は2023年に初号機の打ち上げに
失敗しており、国産主力ロケットの2回目の失敗は日本の宇宙開発にとって大きな打撃となる。政府は対策本部を設置して原因究明を急ぐ。
JAXAによると、第1段エンジンは正常に燃焼を終え、切り離すことに成功。第2段エンジンは2回にわたって燃焼するはずだったが、2回目の途中、ほとんど燃焼
しないまま太平洋上空を飛行中に停止した。燃料の水素タンクの圧力が低下していたことが確認されており、推力も不足していたとみられるという。みちびき5号機
は高度約3万6000キロの軌道に投入される予定だった。ロケットから分離されたか確認できず衛星の状態は不明だが、JAXAは軌道投入できなかったと判断した。
ロケットは当初7日に打ち上げの予定だったが、第2段エンジンに搭載していた誘導制御に必要な装置に不具合が見つかり、17日に延期された。また同日には
地上の冷却注水設備が異常を検知し、発射約17秒前に緊急停止。JAXAは設定が誤っていたことが原因と特定し、22日の再打ち上げに臨んでいた。

JAXAが発表したという上の図から分かることは、衛星カバーの分離が今回の諸悪の根源であるらしいことで、その後の全てのシーケンスが計画から遅れていったことに繋がっている感じだ。 直接の原因は「2回目は1秒後に燃焼停止」した第2段ロケットにあるというよりは、おそらくその燃料系が既に破壊されていたのではないか・・・と思わせる「障害の連続」である。 まぁ、最終的な原因究明はどうせしばらく後になるのだろうが、これが「人間の作業」なのだ。
昨今の流行から起きそうなのはこのリカバープロセスにAIを活用という奴なのだが、「過去に例のないような原因」で起きるのが障害/トラブルであり、それを(想像力を働かせて)予測するのが信頼性設計であり、一方でAIは過去に起きた障害の事例を学習するものなので、ちょっと本質的な困難もある。 ちょっと興味があったので、ChatGPTに今回の原因究明をさせてみる事にした。
ものの数分で、ChatGPT-4.5との対話の結果は このPDF(全36ページ,18000字) のようになった。 面白いのは、ChatGPTとのやりとりを「プリント」機能で簡単にPDFに出来るのだが、その一部をこの日記にコピペしようとしてみると、以下のように、なんと「全ての文字が逆順に並ぶ」などして、安易なコピペを阻んでいるところだった。

言われてきた事だが、生成AIに依存する人にとって、このアドバイスは一歩間違えば、超依存の「宗教」がかってくる・・・というのも理解できた。 上のPDFの最後のあたりの「お触れ」は、技術コンサルタントとして僕がセミナーで解いてきた事とかなり近いものがあり、成る程、これでは技術士のお仕事が減ってしまう(大切なクライアントである中小企業の経営者は、安易にChatGPTに相談してもソコソコの方針が見えてきてしまう)のだ、と実感できた。 コンサルタントと同様に、おそらく「指南書」系を書いていた人々も、ChatGPTがこんなに的確にまとめてくれるとなると、書きにくい時代になったのだろう。

午後には、 日本の会社員が発見、数学界を賑わせた『新図形』とは? 論文も5日間で執筆、arXivにも掲載 という素晴らしいニュースが届いた。 単一図形で平面充填というのはペンローズとかのあれだが、上のように非周期的に回転拡大して螺旋っぽく平面を充填し続ける・・・というのは初めて知った。

さっそく 論文 もゲットしてみたが、いやいやこんなにいくらでも出来るというのは、確かに画期的な新発見である。 エッシャーが見たら、何と言うだろうか。 素晴らしい。
そして、京都精華大の落先生とのメイルのやりとりがあったことを契機に、今日も今日とてsunoをやってみることにした。

勝手にタイトルや歌詞を作ってボーカルを入れるsunoの素性が分かってきたので、今回は一転して「piano quartet」・「piano」・「violin」・「viola」・「cello」・「no voice」・「J. S. Bach」・「Messiaen」・「Mahler」・「counterpoint」・「solemn」・「sublime」・「impressive」としてみた(Promptに日本語を使うことでの齟齬も避けている)。 そして「counterpoint」(対位法)と書けば流石にBACH風になるだろう、と思いつつも、メシアンとマーラーを加えて、やや混乱を誘ったつもりである。

「荘厳な」を表す英語は複数あり、それぞれニュアンスが異なります
    solemn: 厳粛さや真剣さを強調し、儀式や誓いなどに用いられます
    sublime: 崇高で畏敬の念を抱かせるような美しさや壮大さを表します
    majestic: 威厳があり、堂々とした壮麗さを表現します
    impressive: 感銘を与えるような、印象的な様子を指します
    grand: 規模が大きく、壮大な様子を表します
    magnificent: 豪華で素晴らしい、壮麗な様子を指します
わざわざYAHOOに行って「荘厳な + 英語」で検索すると、「AI回答」による「主な英語表現」として上のように出てきたので、そこから3種ほど重複指定してみた。

●本日のsuno生成音楽(2025.12.23)●
Prompt : 「piano quartet」・「piano」・「violin」・「viola」・「cello」・「no voice」・「J. S. Bach」・「Messiaen」・「Mahler」・「counterpoint」・「solemn」・「sublime」・「impressive」
Result : Untitled(1) - Untitled(2)

いつも勝手に付けてくるタイトルは流石に困ったらしく、「Untitled」である。 しかし生成された音楽は、バッハでもメシアンでもマーラーでもなくモーファルト風、そして「荘厳な」「荘厳な」「荘厳な」と念押ししたにも関わらずなかなかに軽快だった。 コード進行も「クラシック風POPS風BGM」に有り勝ちな陳腐なものであり、期待はほぼ裏切られてしまった。
そこで今度はメシアンとマーラーに去ってもらって、「pipe organ solo」・「no voice」・「J. S. Bach」・「counterpoint」・「solemn」・「sublime」・「impressive」としてみた。 これなら、いかにもバッハになる筈である、という強い意志をsunoに伝えたつもりなのだ。

●本日のsuno生成音楽(2025.12.23)●
Prompt : 「pipe organ solo」・「no voice」・「J. S. Bach」・「counterpoint」・「solemn」・「sublime」・「impressive」
Result : Untitled(3) - Untitled(4)

しかし結果は、「Untitled(3)」ではメロディーパートはもはやパイプオルガンというよりもパンフルートで、要するにsunoの音楽は「まずはメロディー」主義というのがあり、その音色(声)が全体をリードするところに、それっぽい「他パート」を纏わせるのだ・・・と判明した。 そしてリクエスト「荘厳な」はここでも軽くスルーされていて、さらにBACHが選ぶとは思えない陳腐なバロック進行などお馴染みのコード進行が続いて、これをバッハと言ったら世界中のバッハファンが暴動を起こすレベルだった。 これでは喫茶店とか医院待合室の有線放送BGMで、色々な「(本物)バッハ曲のオルゴール・アレンジ」が流れている方がマシである。

2025年12月24日(水)

世間はクリスマスイヴだという12月24日であるが、僕はあまりこの日を意識した事はない。 過去の12/24を発掘することもなく(アカペラのX'mas会を有楽街のBIG ECHOでやった事が何回かあるものの12/24ではない)、今日の午後にはおそらく今年最後のJoyJoyヒトカラに出掛ける予定がある。
Dear Backers,
We did it together―thank you for making our project a reality! Your support helped us exceed our funding goal by 4875%, 
with 368 backers across mang countries. We’re endlessly grateful for every pledge, share, and kind word.
Right now, we’re finalizing production specs with our trusted manufacturing partners, ordering premium materials, and 
expanding our team to ensure quality. Here’s the key timeline:
	Weeks 1-4: Production kickoff + factory updates
	Weeks 5-8: Assembly, testing, eco-friendly packaging
	Weeks 9-10: Shipping prep (we’ll send a survey for your address/customizations soon!)
この日記の「2025年12月13日(土)」のところに書いていた、KickStarterでプレッジしたデジカメからの上のような案内が届いた。 どうやら来年1月末には届くらしいので、これは期待して待っていることにしよう。

そんな今日と明日の2日間、我が家には大工さんたちが入って、リフォーム工事をしてくれている。 我が家は上の「サンガーデン住吉」という中古マンションであり、いま初めて知ったのだが、施行は「アサヒハウス工業」、完成は1985年5月とのことで、僕が結婚した翌月だった。 ここに引っ越してきたのは1992年3月で、築7年の中古マンションをKAWAI退社前にローンを組んで買って入居、その後は(単行本の印税などを繰り越し返済に回して)早々にローン完済してずっと住んできた。
そしてSUAC退官(再び僕の自室が技術士事務所となる)を期に、去年の夏に、全室の窓を二重窓にするリフォーム工事をした。 ところが最近、リビング(窓は3つ)のうちの一つの腰高窓に付けた内窓が外れてきたので調べたところ、「膳板」(窓から手前の棚のような部分)が水平でなく沈下している・・・と判明して、リフォーム業者が再工事(無償)をしてくれる事になったのだ。

そして今日の朝から大工さんが来て、問題の「膳板」を外してみたところ判明したのが上のような状況だった。 どうやら元々、アサヒハウスの施行工事が手抜きで、「膳板」の下部分(窓の下部の躯体・壁部分の厚みの上端)のコンクリが十分でなく隙間があるために斜めっていて(計測してみると手前が2cm下なのに向こうは5cm下)、ここに取り付けた「膳板」は手前のコンクリに乗せているのに向こうは窓枠に下からネジ止めしているだけだった。 この膳板の上に内窓を付けたので、当然、ネジ止めだけの向こう側が沈下して、その内窓が外れたのである。 何と建築から40年が経過して判明した事実。

というわけで、上の図(だいぶ建物の配置や細部が違っているので、おそらく開発当初イメージ)の赤矢印の窓に対する大工さんの工事が今日と明日に続くことになった。 部屋の中とか外の階段で工事の音がガンガン鳴り響いている環境では、ちょっとsunoもプログラミングも集中できないので、まぁぼちぼち過ごすしかない。

そしてお昼休みで大工さんが一旦帰ると、窓際は上のようになっていた。 これぞ日本のお家芸、「現物合わせ」の極致のプロ版である。 簡単な仕事ではなく、採寸して細工した木片が高さを精密に揃えて、全体として精密に水平を出しての調整であり、この全体を包んで支える接着剤は僕も活用してきたエポキシ系だろう。 アサヒハウス工業の手抜きの穴埋めをするのは、この接着剤による現物合わせなのだ。
そして僕は午後にはJoyJoyに出掛けるということになった。 気付いてみればこの日記のHTMLも208KBといつもの目安を超えていたが、まぁ年末の区切りというのもあるので、次に進むのは新年になる感じだろうか。

2025年12月27日(土)

年の瀬ということもあり、日記のペースも下がってきたが、一昨日のJoyJoyヒトカラでは、長い曲も多かったので5時間で47曲を完走して、これで今年は終了の予定である。 以下が今月の結果であり、先月の記録およびそれ以前の情報へのリンクは、この日記の「2025年11月28日(金)」のところにある。
      • 2025年12月2日(火) 5時間 51曲
      • 2025年12月11日(木) 5時間 52曲
      • 2025年12月18日(木) 5時間 54曲
      • 2025年12月24日(水) 5時間 47曲
昨日の金曜日には、いつもは土曜日が多いのだがMartinを愛でる時間も確保した。 先週はヤマハ見学会に行って、YAMAHAギターを弾いていたのだが、やはりMartinは格が違うと実感できた。
先日、久しぶりにKickStarterでプレッジしたのを契機として、毎日届く「こんなのがありまっせ」メイルが1日1本から増えてきた。 KickStarter本体としてはおそらく、「過去に一度でもプレッジした人」というデータベースから出しているのだろうが、いざ決済して出資したとなると、間に介在する業者(配送など)も僕のアドレスを知ることになるのか、今日は遂に4本も、同じようなのが届いた。 こうなると流石に邪魔なので、いったん全てunscribeしてみたが、果たしてどうなるか。

     

     

     

     

そして午後のロボット教室(ロボプロ1年目)では、6回シリーズの最終回として、完成したロボットによる「バトル大会」で盛り上がった。 上はその一部の写真なのだが、プレステのリモコンでなかなかに燃える大会となった。 デジカメで撮った動画を連結した YouTube動画 は、切れ切れであるものの、なかなか楽しいものになった。

2025年12月30日(火)

日本音楽即興学会から、来年2月の大会への発表応募に対して「採択」というメイルが届いた。 これで年内の「仕掛かり案件」も無くなって、昨日のロボット教室アドバンス教材サンプル製作に続いて、来月のミドルとRP1に向けた新しいロボット教材サンプル作りから、新年が始まりそうである。

12月29日の朝になって突然、洗濯機が壊れてコインランドリーに行ったり電気屋に行って注文(→配達は1月4日)したり、今日は奥さんの実家に行って(元日だけ初詣+お寿司)、お掃除などドタバタしつつ過ごしそうだ。
まぁ年末ということもあり、このHTMLも212KBになっているので、ここで区切りとして、次は何日かスキップして RRR日記(11) としていくことにしよう。






「日記」シリーズ の記録