現在位置 : ホーム > Diary > 2025年第三期

←2025年第一期       2025年第三期→

2025年7月20日

SunoAIが楽しい

昔作った曲を SunoAI に突っ込むとかなり楽しいことに気付きました。生成してみたものを一例貼ってみます。

"♪光輝へ消える(Arranged)"

元々 Soundcloud にアップしていたドラムンベース調の曲で、 私にしては音量バランスの調整がぶっ壊れてない曲でありがたかったのだけど(誰への感謝?)、 作った時は「そうだ、Deep Clear Eyes(リンク先はYouTube) の サックスっぽい音いいよな……」ということで、 Synth1 によるサックスを導入したのを覚えています。 それがこんなにリッチになって解釈されるとは……。

SunoAI、あまりに楽しいので、音程調整用の Melodyne Editor(かStudio) を購入することが優先的に入ってきて、Max9 とどちらを先に買おうか悩んでいるくらいです。 まあ、Melodyneの方はブラックフライデーに安くなることが多いらしいので、 そちらはその時に買うだろうけど……(出費が痛い……)

Bytebeat勉強中

Max9を買う予定なのですが、前哨戦として(w 、非常に短い式で作曲を行う「Bytebeat」という手法にチャレンジしてみています。覚えたところまでまとめ。

*効果

  1. 時間カウンタ t

  1. ビット抽出 a&b

00000000 <---- これは8ビット列(2進数)

0   0   0   0   0   0   0   0
128 64  32  16  8   4   2   1    <---- こんな風に見る。

00000000 ^ 
:        |
01111110 |
01111111 v ここまで0   = 00000000 をOUT
10000000 ^ 
10000001 |
:        |
11111111 v ここまで128 = 10000000 をOUT

となり、周期256の矩形波が与えられる。

効果
(t&128)矩形波を与える
(t&64)以降、音は高くなり、矩形波の音量が半分になっていく
(t*n&128)n倍音の矩形波を与える(純正音程の理屈が効く)
(t&128)*2音が消える(1000000b * 2 = 00000000。 桁溢れ)

  1. 右にnビット切り捨て >>n

t        :  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
t>>2     :  0 0 0 0 1 1 1 1 2 2 2  2  3  3  3  3  ...
t>>3     :  0 0 0 0 0 0 0 0 1 1 1  1  1  1  1  1  ...
t*2      :  0 2 4 6 8 ...
(t*2)>>2 :  0 1 1 2 2 3 3 4 4 5 5  6  6  7  7  8  ...
(t&2)>>2 :  0 0 0 0 0 0 0 0 0 0 0  0  0  0  0  0  ...
t (t)b     (t&2)b   ((t&2)>>2)b
0 00000000 00000000 00000000
1 00000001 00000000 00000000
2 00000010 00000010 00000000
3 00000011 00000010 :
4 00000100 00000000 :
5 00000101 00000000 :
6 00000110 00000010 :
7 00000111 00000010 :

  1. ビット論理和 a|b
t       : 0 1 2 3 4  5  6  7  8  9  ...
t | t*2 : 0 3 6 7 12 15 14 15 24 28 ...
t (t)b     (t*2)b   (t|t*2)b   (t|t*2)
0 00000000 00000000 00000000 = 0
1 00000001 00000010 00000011 = 3
2 00000010 00000100 00000110 = 6
3 00000011 00000110 00000111 = 7
4 00000100 00001000 00001100 = 12
5 00000101 00001010 00001111 = 15
6 00000110 00001100 00001110 = 14
7 00000111 00001110 00001111 = 15
8 00001000 00010000 00011000 = 24
9 00001001 00010010 00011011 = 28

*作例

t*((t>>3)&65) | (t*(1/8)<<3) | t


ご興味のある方は、ぜひhttps://wurstcaptures.untergrund.net/music/t*((t>>3)&65) | ( t*(9/8)|t*(5/8) )<<3 | t この式を突っ込んで鳴らしてみてください。 ⚠️ただし音量注意! かなり大きい音がするので、音量はゼロに絞ってからスタートした方がいいかもしれません。

型理論?

ジョジョ、うみねこ、Undertale、DDLC、Baba Is You……などの特殊能力とかメタフィクション要素とか存在論とかが、 「どの層に効いて(あるいは越境・破壊して)」、「何に」、「どういった効果を及ぼすのか」を整理したいという気持ちがずっとあります。

こういった込み入って文脈が混乱しがちな話を調べるのに型理論が役に立つかもしれないということで、個人的にちょっとブームが来ています。 もちろん私はただの高卒・文系・数学ファンに過ぎないので、ただのメタファー以上のものにはならない気もしているけど…… それでもなんとなくChatGPTと会話をしながら横好きを進めています。

今日はそれについて個人的なメモにまとめるつもりでもあったのだけど、Bytebeatをやってる間に時間がないなってしまいました……。 人生が永遠に欲しい。

今日のかずのこちゃん

青いスクール水着を着た、青い髪の女の子が背中を向けてベッドの上に寝転がる。楕円形の赤い眼鏡、黒いベレー帽、赤いリボン。ベッドには着ていた服が散らばっているかもしれない。彼女は見る者に向かって目線を投げかけている。
……フフフ……?


2025年7月16日

やってること

画像を読み込んでMother2戦闘背景風の効果を与えるJavaScriptをChatGPT o3と作ってみました。

元々 Pigmhall氏の動画(リンク先はニコ動) などがかなり好きで抽象的・幾何学的な映像処理には興味があり、今回試してみました。 もともとMother2の戦闘背景にどのような効果が使われているのかを動画(リンク先YouTube)で予め知ることが出来たこと及び、 DeepSearchでも 先行の研究(リンク先はGitHub) がヒットしたおかげで、 ChatGPTへの説明はかなり簡単だったと言えます。出来栄えは上々で満足しています。 (書いているコードがどういう意味なのかちゃんと宿題しておきたい)

*できたこと


*気付いたこと・今後の課題


*今後やりたいこと


今日のかずのこちゃん

白いワンピースドレスを着た青い髪の女の子。楕円形の赤い眼鏡、白いベレー帽とタイツ、黒いリボンやフリル。背景には白い花が咲き、画像の外周を樹の色の、アラベスク模様を思わせるフレームが飾る。少女の手はスカートを押さえていて、彼女は見る者に向かってほほ笑んでいる。
お花と一緒に。


2025年7月14日

やってること

なんとなーく小話を書いたり、数学したり、プログラムを勉強したり……。

いいかげん、それなりに「人生何が出来るか?」を考えた方がいいような気もしつつ、 なんとなくそんなことは定まらないまま、それなりにムダ知識を蓄えてばかりいる。 (やっぱりあんまり成果物を上げることに興味がないのかも……)

「Π型とかΣ型ってなにー?」とか、「物語って線状性があって その場面にその人物がいることはその人物の描写や発言がなされることで証明されるなー」とか、 「そもそも 2Dゲームのマップってどうやって出来ててNPCってどう配置されてるのー?」とか、 「MOTHER2の戦闘の背景かっこよくない?」とか……。

MOTHER2の戦闘の背景については学びが多かった(リンク先YouTube)。パレットの色をぐるぐる入れ替える「Palette Cycling」、背景画像をスクロールさせる「Background Scrolling」、 HDMA(Horizontal Direct Memory Access)という機能によって走査線ごとに横・縦方向のオフセットに異なる値を送り込んでズラす「Horizontal/Vertical Oscillation」……(サイン波になるように制御するらしい)。

自分はこのところなんだかスーパーファミコンなどのひと昔(今やひと昔でもないのか)のゲームのこと、特に抽象的だけどクールな画像処理とか音楽、 あるいはこちらを魅了するような(あるいは本当に何でもないような)様々なイベントが、どのようにして出来ているかについて気になったりする。

ChatGPTはすごく便利で、Deep Researchを使うと、インターネットにいる偉大な人々の調査の成果をしっかり拾い上げて来てくれる。 それらの成果や研究などを、(何か有益なことを出力・お返しできるわけでもないままに)ただ読んでいる。

「何者かになろうとすること」についてSNSでたまに読む。 自分が思うに、「何者かになる」こととは本質的には、黙っていても人から勝手に真似をされるような、公益性のあることを成し遂げることだ。

自分が今更そうした「何者か」になれるとは思わない(そんなものになりたいとも思わない、むしろ早くベーシックインカムが始まって欲しいと感じる)一方、 社会は確実に「何者か」の(そして「何者というほどのこともないが、確かに存在する人々」の)日々の行いの中で出来ているとも感じる。(良くも悪くも、ね)

日々考えていることを社会に還元すべきなのではないかと思うけど、否定されるのが怖くて、やっぱりまだ書かない。 (単純に間違っていて有害である可能性の方が、今はまだ高いしね……)


2025年7月8日

エラーが導くバッドメンタルの管理

ある時あるケースにおいて何かが出来なかったからと言って、
は導けない。有限回の失敗をもとにそれらを証明しようとするのは不可能だ。 なぜなら冷静になって考えてみれば、 『一生出来ない』と断言できるほどに膨大な回数の試行をすること自体が現実的には無理だし、 実際死ぬ程のインシデントに繋がるかどうかは外部条件の比重も大きい。 そしてこの世界は簡単には滅びはしないからだ。

だから、そんなことを気にする前に、 『そもそもそのタスクを自分はやりたいかどうか、何かの見返りに我慢できるとしたらその報酬は何でなければならないか?』 にフォーカスする方が賢そうだ。

同様に、誰からも怒られない方法を探そうとしても同じく無限の時間がかかるし土台無理、 なぜなら、それを検証するにも無限に時間がかかるし、そんなことをしている間に人も環境も変わる。 批評者の全体集合は開世界、潜在的に無限に存在していてあらゆる価値観を持っている……。 たまたま機嫌が悪かったり、まだらボケている可能性だってある。

だから、人に怒られたことと、所要時間・出来・難易度などを勘案した自分の仕事の『客観的評価』本体はあくまでゆるく紐づけつつ、 怒られる頻度の多いパターンに重みを付けて避ける戦略を探る方が有益だ……というようなことを考えた。

のだけど、気になる時はやっぱ気になるから、不健全な時はクールダウンこそが必要なのかも……。

自分の自動思考状態に気付けるように余裕を常に持ち、 偶発的な状況でもそれを崩されないようにすることが必要なのだろうな。 まあ、それが出来れば苦労はないのだけど……。

要するに、思考のバグ(過剰な一般化・破局的思考)にハマる前に、 「有限回の失敗から無限の絶望を導くのは無理」という冷静な視点で自分を救いましょう、という提言です。


Xensampling?

音をFFTで分析、その性格で自動に振り分けて素材管理する仕組みを空想した。

というのも、グリッチノイズ素材を作る時に、「ハイハット」とか「キック」と分類するのは難しい。 「ドギュルルル」とか「ブガボリュ」といったオノマトペで管理してもいいかもしれないんだけど、 やっぱりキリがなさそう……と思うと、これはもう一音一音を 音域、広がり、動き、密度、エンベロープの形といったマトリクスで管理する必要が出てくる。 (あるいは逆にもう、とにかくある一音から始め、そこからMaxのパッチで全てを実現することもあり得るのかも。正反対に見えて近い)

ある音を「何に似ているか」で判断するのではなく、 むしろ逆に、そのマトリクスのどこかに、既存のドラム音が入って来て収まる、要するに、音の扱いをより広く考える。 Xenharmonic, Xenrhythmに倣って、Xensampling とでも名前を付けてみようかしら。


グリッチアートについての雑感

グリッチアート作りについてなのだけど、 ChatGPTいわくどうやら型安全性がある種の障壁となるらしい。 昔のゲームがあんなに「バグれた」のは要するにバイナリで読み込んでいたからだとか。 だから、その読む側の型チェックを突破して無理やり読み込む必要があるそうだ(ここ三文ぜんぶ伝聞形)

例えばRPGみたいな仕組みを作っておいて、そのフォーマットの上で、 「異常なマップデータ」への遷移として、JPGやらなにやらを読み込ませる。 もちろん未定義コードやゼロ除算が実行されると困るので、それは回避することとする。
FCやSFCで顔グラの一部がバグったりするのも、 スプライト管理→そのスプライトがシートの不正な部分や外側を無理やり読み込もうとするのでわけわからないものが生まれる、という機序。 結局はこちらも『正常に動いている読み取り手側(ただし型不安定)にバイナリを突っ込む』、こそが起きていること。

画像だけでなく音について言えば、例えばAudacityにJPGを無理やり読み込ませるとかが近い。 具体的にどう活用するか……例えばそれを通しで聞いて、面白いものを抽出、 上の「素材自動割り振り機構」すなわちXensamplingによって適切なマトリクスに割り振っていく…… そして、「楽曲上で何を起こしたいのか」に基づいて素材選びを行っていく、というワークフローが想像されるが……。



←2025年第一期       2025年第三期→