20240526

日曜日
夕方に目が覚めたので天気はわからないが、雨は降ってなくて風が少しあった。気温は23度くらいで半袖の上に薄いマウンテンパーカーを着たらちょうどよかった。

その日の天気や気温を見て服装を選ぶのは、実はそんなに自明ではなくて、きっと人々はテレビの天気予報などで「今日は午後からは風が強いので薄い上着を持っていくと良いでしょう」というのを聞いて学びを得ているのだと思うが、自分の家にはテレビもないので何かしらの形でトライアンドエラーを繰り返して学習していく必要がある。最近の学びとしては、晴れているときに何度ならどういう服を着るというのを覚えておいて、曇っていたり風が強かったりすると気温が4度くらい下がってると思うと良さそう。

16時くらいに目が覚める。
注文しておいたベースブレッドが届いていたのでカレー味を食べる。長らくNoshをやっているが、いい加減飽きてきていて、気が狂ってきたのでベースブレッドで味変することにした。Noshとベースブレッドばかり食ってるとそれはそれで狂うと思うので、適当に外食するくらいの遊びを持たせておくことが大事そうに思う。洗濯物についてもタオルやら靴下らやら下着やらは乾燥までやってしまうが、大事にしたい服はハンガーで干すわけで、それと似ているようにも思う。少し遊びを残しつつそれ以外を自動化したり簡略化するくらいが自分にはちょうどよい。

急に自転車に乗りたくなり、恵比寿のitというカフェまで豆を買いに行くことにする。家から恵比寿までは自転車で17分くらいで丁度よい運動だなと思ったけど、実際には新茶屋板通りがちょっとした登坂になっていて、普通に疲れてしまった。

帰りに謎の沖縄そば屋さんに入る。店内は沖縄っぽいBGMが流れてるんだけど、一方でテレビも音を出していて、おまけに芸人がカラオケで音を外さずに歌いきればクリアみたいな企画をやってるので、なんかもうひどいマッシュアップを聞かされてるような感じでアレだった。そばの味は普通だった。

iPhoneのわざとらしいDoFはあんまり好きじゃない)

ここのところは気候が良いので、自転車に乗れば気持ちよくてオールオッケーという感じで大変良い。自転車は東京に引っ越してきて買ったルイガノのEASEL7.0の青いフレームのやつで、タイヤが20インチとちょっと小さくて白くて大変かわいいくて良いが、14インチへのあこがれと普段使いの利便性の両方を取ろうとした結果、なんだか中途半端な選択をしてしまったな、という気持ちもある。自転車に乗るのは結構好きなのでクロスバイクを買って走行距離を少しずつ伸ばしていったりすると楽しいのかもしれない。

20240520

日曜日、天気は曇りのち雨。

朝10:50に起きてQuest2を頭にかぶり、CONCRETEを観にいく。が、openから20分経った時点で80/80 queue 160という感じで入れなかった。CONCRETEは🦀を使ってくれており、できればVRで観たかったが全然入れそうになかったので諦めてTwitchで観る。🦀のrepositoryはarchiveしてしまっていたのだけど、いくつかの手段の中から🦀を選ぶ人がいるのなら、アプデするのも良いなという気持ちはあり、最近Unity2022に上げたのはこういう経緯があった。NICE GI...

配信を見つつ、長いこと放置していたiDeCoとNISAの申請をする。iDeCoは会社になんか書いてもらう必要があるっぽいのでコンビニで印刷して記入までした。自分はこの手のやると良いがやらなくてもすぐには困らない系のタスクがとにかく苦手であるが、やらないと損ですよみたいなのを見る度に気持ちが沈むので渋々やった。中身は 普通の人が資産運用で 99 点をとる方法とその考え方 - hayato に従っただけ。金のことを気にしないといけないのは貧しさなので、こんなの気にしなくて良いように稼ぎが増えてほしいなと思う。


その後、急に思い立って、前に委員長が散歩していた二子玉川に行く。

www.youtube.com

あまりにも腹が減っていて、駅前にあったラーメン屋に入ると、博多ラーメンのお店で、ここが思いのほか良かった。注文の際に「麺の硬さは?」と聞かれるのだけど、こちらは相手の手札がわからないし、かといって「何があるんですか?」と聞くのも野暮ったい気もして、結局無難に「硬(め)で・・」と答えてしまう。こういうときにさらりと知らないことを聞ける人間になりたい。

天気が悪くて川沿いをのんびりするという感じにはならなかったけど、駅前が栄えつつ自然もあってハイソな感じで良い街っぽかった。駅前のH&Mで良い感じクラブミュージックが流れており、Shazamする。クラブの外でクラブミュージックが流れていると不思議な気持ちになる。


無計画に街に繰り出すのにあこがれがあったけど、いざやると時間と体力がなくなるので、もう少し計画を立てるかおとなしくビアバーに入って酒を飲んで最高になるべきだったように思う。あるいはカメラを買ったりすると捗るのかもしれない。

遠くの建物が青みがかってるのが好きということを最近自覚してきた。

駅とショッピングモールが結合していて、なんかすごい感じだった。

丁寧なコーヒーとカヌレ(フォークが渡されず手で食べた)。

高島屋の休憩ゾーンみたいなところ。forward renderingだと厳しそうだなと思った。


特に何かを買うわけでもなくダラダラして、20時頃に帰ってきた。VRCを起動してhypnosynthを観にいく。ほぎゃ~~~と言っていたら終わってしまった。すごかった。その後は特にやることもなくダラダラして、iPadで漫画の続きを数話読んで寝た。漫画アプリ、無料で1話ずつ読めてしまって、本当にこんなことをしていいのかと不安になる。

なんだかパッとしない週末だったけど、外出できたので良しとする。

20240512

日曜日、天気は曇りで風が強かった。

渋谷でやっている村田蓮爾の原画展に行く。

dscaiman.com

村田蓮爾は多分自分が一番好きなイラストレーターである。いつか部屋に彼の絵を飾りたいという気持ちは前々からあったが、原画展で実物を見ると、今の雑多な自分の部屋には不釣り合いだなと感じでしまうほどにすごくよかった。眼福であると同時に、本当にすごいものを見て圧倒されてしまいもした。

その後、渋谷駅からギャラリーまで歩く途中に見かけたG-Star RAWのショップに入る。G-Star RAWというのはオランダの会社で、立体裁断というなんか変わったデニムを売っていて、自分は変なデニムが好きなので気に入ってる。元々知り合いがこのブランドのファンで、京都で二人で遊んでいるときに彼がショップに行きたいというので付いて行ったところ、膝にジッパーの付いたやつが面白かったのでその場のバイブスで購入した。

この日もその膝にジッパーのついたやつを履いていた。そのブランドの服を着てそのブランドのお店に行くのはなんだか気恥ずかしいが、自分が店員だったら嬉しいかもしれないような気もするので、最近はあんまり気にしないようにしている。

店員は当然気付くわけで、いろいろと話していると、すぐに変な服が好きということがバレてしまい、やんややんやと試着などをして変なデニムと可愛いジャケットを購入した。こういうとき、自分は店員と喋るのが割と好きなように思う。相手からすると自分は客であり、それは商売としての会話なのだとは思うけれど、少なくとも自分の見た目や好みを考慮して、物を勧めてくれるというのはやはり良い体験である。インターネット上には無限のカタログがあり、全てを比較して極大元を探すのはとても大変だし、何より疲れてしまうので、こういうバイブスで買い物をするのが自分には合っている。

ここのところ、自分の価値観には芯が無く薄っぺらい人間なのではないか、という気持ちがあり、それによって大変落ち込んでいた。まあそれは事実であり、実際ここ15年くらいは他人の顔色を伺って人が良いというものを良しとして何かをやってきた。仕事においては、根幹的な方針は会社が決めることなので、それに沿った形で出力すれば評価はされるので、まあよいが、人生というのは本当に個人プロジェクトなので自分ですべてを決める必要がある。何かを決めるには指針が必要であり、指針とはすなわち核や芯のようなもののはずで、それが無いのでは?というのが課題感である。

これは深刻かつ個人的な問題であり、長い時間をかけて向き合う必要があると思っているが、店員に「あなたは変なものが好きなんでしょう」というようなこと言われて、確かにそれはずっと前からそうであったし、何やら本質的なもののような気がするなぁという気がした。なんだか少し救われたような気持ちになったので、今日買った変なデニムを履いてブログを書きました。

Lightsaberの実装について

ちょっと前に以下のワールドを作りました。

cluster.mu

音もつけました。たのしい!


フォグについてはBoothに1500円で売ってますが、Lightsaber2では少し手を加えたものを使ってます。

shivaduke28.booth.pm

フォグを使うために深度バッファが必要なのでワールドにめっちゃ薄くSSAOをかけてます。

フォグは線分光源の内散乱に対応していて、その計算には線分の端点のワールド座標が必要です。ClusterScriptのベータAPIでマテリアルにパラメータを渡せるようになりましたが、Lightsaber2ではセーバーの端点をスクリプトで動かして、その位置をカメラを通してRenderTextureに書き込んで、フォグのシェーダーからRenderTextureを読む、という形で対応しています。

セーバーの両端点にすごく小さなQuadを置いて、以下の「画面の指定の位置にモデル行列(4x4行列)をRGBAx4ピクセルとして書き込むシェーダー」をつけています。

gist.github.com

部屋にはセーバーが2本あるので、RenderTextureの解像度は4x4で十分です。精度が必要なので各チャンネルが32bit SFLOAT。

部屋の外に画像のようにカメラを置いて、室内が全てレンダリングされるようにしています。Culling MaskはInteractableItemとGrabbingItemにして、Depthは最速であって欲しいので-100にしています。 (書いていて気づいたけど、ライトセーバーのグリップとかもこのカメラに描画されるはずなので、モデル行列を書き込む君はRenderQueueを一番最後にするかZWriteありにしてnearスレスレにするとかした方が良さそう。)

フォグ側は以下のようにして4点の座標を読み込んでいます。

    const float SaberThreshold = 0.05;
    float3 P0 = tex2Dlod(_ParamTex, float4(0.875, 0.125, 0, 0));
    float3 P1 = tex2Dlod(_ParamTex, float4(0.875, 0.375, 0, 0));
    float3 P01 = P0 - P1;
    float distSqr01 = dot(P01, P01);
    Ls += UniformFogSegmentLightInScatter(cameraPos, view, P0, P1, distance, 0.05, 18) * _Saber0 *
        smoothstep(0, SaberThreshold, distSqr01);
    float3 P2 = tex2Dlod(_ParamTex, float4(0.875, 0.625, 0, 0));
    float3 P3 = tex2Dlod(_ParamTex, float4(0.875, 0.875, 0, 0));
    float3 P23 = P2 - P3;
    float distSqr23 = dot(P23, P23);
    Ls += UniformFogSegmentLightInScatter(cameraPos, view, P2, P3, distance, 0.05, 18) * _Saber1 *
        smoothstep(0, SaberThreshold, distSqr23);

このままだとメインカメラに対してもモデル行列の値が描画されてしまうので、ステンシルテストをするようにしています。 カメラの前にある黒い板ポリはステンシルバッファに100を書き込むだけのシェーダーをつけていて、セーバーの両端点につけているシェーダーはステンシルが100のときだけパスするようになっています(本当はレイヤーでやりたい)。

セーバー自体はBlenderで高さ1mのシリンダーで原点を底面の中心にしたものを用意して、以下のように頂点シェーダーでRenderTextureを読んでスケールを変えるようにしています。

    v2f vert(appdata v)
    {
        v2f o;
        float y = 0.125 + 0.25 * 2 * _Index;
        float3 p0 = tex2Dlod(_ParamTex, float4(0.875, y, 0, 0));
        float3 p1 = tex2Dlod(_ParamTex, float4(0.875, y + 0.25, 0, 0));
        float len = length(p0 - p1);
        v.vertex.y *= len;
        o.vertex = UnityObjectToClipPos(v.vertex);
        return o;
    }

アウトラインがこういう感じになっちゃうのは諦めました。

SEは以下の音源を利用させていただきました。音が付くとそれっぽさが増して最高です。

効果音工房

きままに

「シュッと振ったら音が鳴る」は前フレームと現フレームの回転が大きく変わっていたら鳴らす、という形にしています。

    const rot = $.getRotation();
    const prev = $.state.rot ?? rot;
    $.state.rot = rot;

    const dot = rot.dot(prev);
    const dist = 1 - dot * dot;
    if (dist > 0.01) {
        se.play();
    }

ライトセーバーのItemにつけているスクリプトの全体は以下のような感じです(先端の移動とSEを鳴らすしかしてない)。

const sn1 = $.subNode("Saber1");
const se3 = $.audio("SE3");
const se5 = $.audio("SE5");
const se6 = $.audio("SE6");
const seOn = $.audio("SEOn");
const seOff = $.audio("SEOff");

$.onUse((u, p) => {
    // mode:0(off),1(on),2(turn off),3(turn on)
    const mode = $.state.mode ?? 0;
    if (u) {
        if (mode === 0 || mode === 2) {
            seOn.play();
            $.state.mode = 3;
        } else {
            seOff.play();
            $.state.mode = 2;
        }
    } else {
        $.state.mode = (mode === 0 || mode === 2) ? 0 : 1;
    }
});

$.onUpdate(dt => {
    let t = $.state.t ?? 0;

    const tse = $.state.tse ?? 0;
    const rot = $.getRotation();
    const prev = $.state.rot ?? rot;
    $.state.rot = rot;

    if (t > 0) {
        if (tse <= 0) {
            const dot = rot.dot(prev);
            const dist = 1 - dot * dot;
            if (dist > 0.01) {
                const rand = Math.random();
                if (rand < 0.333) {
                    se3.play();
                } else if (rand < 0.666) {
                    se5.play();
                } else {
                    se6.play();
                }
                $.state.tse = 0.6;
            }
        } else {
            $.state.tse = tse - dt;
        }
    }

    const mode = $.state.mode ?? 0;
    if (mode === 0 || mode === 1) return;
    if (mode == 2 && t <= 0) {
        $.state.mode = 0;
        return;
    }
    if (mode == 3 && t >= 1.5) {
        $.state.mode = 1;
        return;
    }
    t += mode === 2 ? -dt * 2 : dt * 2;
    t = Math.max(0, Math.min(1.5, t));
    $.state.t = t;
    sn1.setPosition(new Vector3(0, t, 0));
});

概念の直交性

ソフトウェアエンジニアをしていると概念に対する直交性の概念にでくわすことが割とよくある。 ミニマルな例だと、1つのクラスに2つのboolフィールドがあって、それらに関係がない(= 状態が4通りある)ときに、 これらのフラグは直交するという(自分もそういうコメントを書く)。

自分の感想です

とはいえなんかやっぱり気になるので、どこから出てきたのかちょっと調べた。

Weblioで引く

orthogonalの意味・使い方・読み方 | Weblio英和辞書

1〔数学〕直交の《a直角の, 垂直の b内積の定義された関数空間に属する2つの関数で , 互いの内積が0となる》

2〔結晶〕直交の《結晶軸が直角で交わる》

3〔統計〕直交の a〈変数が〉統計的に独立した b(実験計画法において)〈配置が〉直交している

なるほど統計!ということでWikipediaを見る

Orthogonality - Wikipedia

When performing statistical analysis, independent variables that affect a particular dependent variable are said to be orthogonal if they are uncorrelated, since the covariance forms an inner product. In this case the same results are obtained for the effect of any of the independent variables upon the dependent variable, regardless of whether one models the effects of the variables individually with simple regression or simultaneously with multiple regression. If correlation is present, the factors are not orthogonal and different results are obtained by the two methods. This usage arises from the fact that if centered by subtracting the expected value (the mean), uncorrelated variables are orthogonal in the geometric sense discussed above, both as observed data (i.e., vectors) and as random variables (i.e., density functions).

統計では相関がない変数に対して直交してると呼ぶらしい。 XとYの相関がないというのは、E[(X-E[X])(Y-E[Y])] = 0ということで、つまり偏差が直交してるということでした。なるほど~。

まとめ

統計用語だった。独立なら偏差が直交するのはその通りなので、別に「直交する」でもそんなに違和感はない。 (E(XY)=0とConv[X,Y]=0で混乱しそうなので、数学をする上ではあんまりいい用語だとは思わないですが・・・)

rekordboxのライブラリの管理について考える

正月休みに、rekordboxのライブラリの管理について考えたので備忘録としてメモしておく。

環境

  • 普段はWindowsのデスクトップPCを使っている
  • 音楽を聴くのはSpotifyがメイン
  • PC DJとUSBへのエクスポートだけMakBook Pro
  • 音源はバックアップを兼ねてiCloudに置いている(200GBで400年/月)
  • Win/Mac間のデータのやり取りもiCloudを使っている

要件

  • 音源(mp3、wavなど)のバックアップをクラウドに置く
  • PC変更時にrekordboxライブラリの移行を簡単にする
  • rekordboxライブラリに入っている音源を気軽にPCで聴けるようにする

背景

  • MBPがM1リリース前の無駄にハイスぺのやつで、DJに使ってるだけでもったいないので売ってしまいたい
  • Spotifyとrekordboxの間の乖離が大きくなっていて、買ったけど聴けてない曲みたいなのがあってかなしい
  • 自分はローカル端末のバックアップがとても苦手なのでクラウドじゃないと嫌

解決策

rekordboxに月2500円課金すれば以下で解決できる。

  • rekordboxのCreativeプラン(1600円/月)に入ってCloudLibrarySyncを使えるようにする
  • rekordboxのCloud Option (+ 900円/月)Dropboxのストレージに課金する
  • PCにDropboxのアプリを入れてiTunesのメディアフォルダごとDropboxに置く
  • CloudLibrarySyncの同期方法を「全ての音源を同期する」にする

Google DriveではなくDropboxを使うのはなぜ?

CloudLibrarySyncはGoogle DriveDropboxに対応しているけど、 Google Driveは同期方式が「選択した音源を同期する」しか使えないため。(あと、rekordbox iOSDropboxにのみ対応してる)

CloudLibrarySyncの同期方式については↓のFAQが詳しい。

https://rekordbox.com/ja/support/faq/library-sync-6/#faq-q600166

「全て同期」と「選択同期」の2つがあって、前者はDropboxアプリと連携して文字通り全てを同期する(ローカルはクラウドのコピーになる)。 後者は、選択したファイルだけをダウンロードしたりアンロードしたりできるやつで、こっちはDropbox/GoogleDriveのAPIを使うのでアプリが不要。 アプリが不要ということはつまり、アプリと連携できないということで、 rekordboxはDropbox/Google Driveアプリの落としてきたローカルファイルとは別に自前のローカルファイル置き場に音源を置く形になるので、ストレージを2倍食うことになる。

また、iTunesとrekordboxを連携させたい場合、同じ音源を使用する必要があるので、iTunesもrekordboxのローカルフォルダ置き場に引っ張られる形になる。 例えば、端末Xに曲Aと曲B、端末Yに曲Cがあるとして、それぞれからrekordboxを通してアップロードするとクラウド上のフォルダ構造は以下のようになる。

root
 |- 端末X
 | |- Aのアーティスト
 | | |- Aのアルバム
 | |  |- A.mp3
 | |- Bのアーティスト
 |  |- Bのアルバム
 |   |- B.mp3
 |- 端末Y
   |- Cのアーティスト
   | |- Cのアルバム
   |  |- C.mp3  

つまり、元が同じ音源でも、アップロードした端末が違えば違う曲扱いになる、ということ。

端末Xでrekordboxを使ってCをダウンロードすると ミュージック/PioneerDJ/Moved from Cloud/端末Y/Cのアーティスト/Cのアルバム/C.mp3 にファイルが置かれる。 (ミュージック/PioneerDJ/Moved from Cloudは設定から変更できる) rekordbox上でCをアンロードすると、↑のパスにあるC.mp3を削除する、といった形で選択同期が実装されてる。

リモートのフォルダ構造にローカル端末の情報が入ってるのが、自分には合わなかった。 (一応逃げ道として、Dropboxアプリの同期フォルダに入っている音源をrekordboxに追加するとアップロード済み扱いになるので、フォルダ構造を維持できる。Google Driveだとこのやり方もできなかった。) 端末間の音源の衝突を避けるためにeasyにしたという気持ちはわからんではないが・・・

iTunesにフォルダ管理をさせる

iTunes上で音源のタグを編集すると、iTunesが勝手にフォルダ構造を整理してくれる仕組みがあって、これが良さそう。 rekordboxはiTunesの音源やプレイリストを呼んでくれるし、rekordboxのプレイリストをiTunesに入れる場合は、m3u8ファイルに書き出してiTunesに読み込ませればOK。 AIMPとかも試してみたけど、使いにくかったのでボツにした。

代替案

月2500円か~という気持ちもあり、常時複数の端末でrekordbox使わないしややオーバースペックだな~と感じたので別の案を考えた。

外付けデバイスを使う

rekordboxやiTunesのメディアフォルダを丸ごと外付けのSSDやHDDに置くというもの。結構やってる人がいそう。 バックアップ作業がちゃんとできれば、初期費用を払えば後はお金もかからずにやれるはずでかなり良さそう。 最初に書いた通り自分はクラウドに置きたいという気持ちがあるので、なし。

Spotifyを使う

普段は家での作業中もSpotifyで音楽を聴いているので、Spotifyとrekordbox間でプレイリストを同期できれば良さそう。 Spotifyはローカルファイルの再生もできるので、プレイリストを追加するAPIを叩けば行けるんではと思ったけど、

It is not currently possible to add local files to playlists using the Web API, but they can be Reordered or Removed. Playlists | Spotify for Developers

とのことで、ダメだった。残念。

rekordbox.xmlをデバイスに合わせて書き換える

rekordboxにはコレクションをxmlに書き出す機能があって、設定からxmlファイルを指定するとそれをライブラリに読み込んでくれる。

MBPのrekordboxでxmlを書き出して、それをWinのrekordboxに読み込めるようにするには以下をすれば良さそうだった。

  • MacとWinでiCloudの同期フォルダのパスが違うので変換する
  • Macxmlは音源のパスの文字列がUTF-8-MACになっているのでUTF-8に変換する

ちょっとコードを書いたらできそうなので良さそうと思ったけど、xmlファイルはマイタグやインテリジェントプレイリストの条件式を含まないので無しということに。

rekordboxの内部dbファイルを読み書きする

GitHub - dvcrn/go-rekordbox: Rekordbox database wrapper in Go

などを見た感じ、rekordbox6のdbのread/writeはやろうと思えばできる、という状況に見える。 ちょっとした実装をすれば色々できそうだけど、まあハッキーだしrekordboxのアプデで動かなくなる可能性が十分あるのでなし。

最終案

色々考えて、う~ん月2500円か~という気持ちになったので以下でいくことにした

  • Dropboxに課金する
  • Dropboxアプリの管理フォルダにiTunesのメディアフォルダを全部置く
  • iTunesを使ってタグを編集してフォルダ管理を行う
  • iTunesを通してrekordboxに音源を読み込ませる
  • 必要に応じてrekordboxのプレイリストをiTunesに入れる(m3u8ファイルを使う)
  • PCを移行したくなったらCloudLibrarySyncに課金して全て同期方式にする
  • rekordboxのバックアップは必要ならxmlDropboxに置く(マイタグとインテリジェントプレイリストは諦める)

茶箱の年越しパーティに参加した

早稲田にある音楽喫茶 茶箱のNew Year Countdown Partyに参加しました。

とても楽しかったので色々書きます。

sabaco.jp


自分が茶箱を知ったのは高専DJ部のtwitch配信だったと思います。

kosendj-bu.in

オシャレな名前の箱だ、みたいな第一印象があった。 ちなみに高専DJ部を知ったのはうなすけさん経緯で、うなすけさんを知ったのは(京都の)インターネット経緯だと思います。

茶箱に初めて行ったのは、7/26にmacktkgさんとpolamjagさんのCOMBUSTION CHAMBERという自動車四つ打ちパーティで、 ありがたいことにゲストDJとして呼んでいただきました。

sabaco.jp

フライヤーがかっこいい! オーガナイザーのお二人との接点はというと、SMTP++やIMAP++やpastak生誕祭なので、京都のインターネットはすごいです。

smtppp.club

imappp.club

xn--9myu5gp8s.pastak.net

話を戻すと、ちょうどCDJ3000が導入されて最初のパーティでした。 色んな人が来てくれてうれしかったし、社内で告知したら同僚が来てくれて心強かったです。感謝。

少しDJの話をします。

オールジャンルでないパーティに出たのは初めてで、自動車免許失効済みの自分が自動車四つ打ちをやれるのか?みたいな気持ちがありました。

自分のハウスの原点はFrench Touch(French Houseのことですがこう呼んだ方がお洒落だとどこかで読みました)で、 French Touchで車といえばLifelikeのNight Patrolや!という気持ちがあったんですが、前のお二人が最高な感じで繋いでくれたので もう自分はスピード違反してアッパーな感じでやるしかない!(プロフィールにもそう書いてある)という気持ちになってアシッドベースをビヨビヨさせたりしていたら1時間経っていました。 自動車ぽかったかはわからんけど、なんだかよい感じでやれたように思っています。 自分はとにかく本番に弱いタイプなので、貴重な成功体験となったし、DJ楽しいなと強く感じたのを覚えています。

かけたやつ。

Night Patrol好き open.spotify.com

そのあと茶箱に行ったのは9/30の高専DJ部と12/9のwarahouseでした。

sabaco.jp

sabaco.jp

どちらも知り合いばかりのパーティじゃなかったけど、早めに突撃して前で爆踊りして「めっちゃいい!」って叫んでいたら友達が増えていました。 今思うと、どれも茶箱アトモスフィア溢れるパーティだったし、自分はそれが好きなんだと思います。


茶箱の年越しパーティは、演者として出たことのある人は応募していいよ、というレギュレーションだったので、あんまり深く考えずに応募しました。

後になって演者がわかってきたところで、アッなんか自分以外すごい人ばっかりだぞ!という気持ちになったんですが、 実際はいつもの茶箱アトモスフィア溢れるパーティで、最初から最後までワイワイしていたら9時間経過していました。とにかくハッピーで楽しかった。

色んな人と話せたし、良い時間を共有できてうれしかったです。今年東京に引っ越してきて、クラブに遊びに行く機会が増えて、友達の友達が友達になる機会が結構ありました。 上手く言えないけど、こういうのを大事にしていきたい。

年越しはAcidGelgeさんのLiveセットでなんかもうすごかったです。すごい音が鳴っていたし、そのまま年を越して最高でした。 終わり良ければ総て良しということで2023年は良い年でした。ありがとうございました。

今年もどうぞよろしくお願いします。

アーカイブはこちら(これ見えるんかな?)

見返すと色々甘くて厳しい顔になってしまうので、精進したい~