Synthesizer V 打ち込みメモ1

前回曲作ったのが昔過ぎて、何一つ覚えていなかったのでメモるん DEATH!!!

俺はデスメタルの王になる。

クソトラック読み込み

まずはクソみたいなトラックを Synth V Studio に取り込む。

トラックの1小節目のところでテンポ調整があるので、BPMをトラックに設定する。

うんこ歌 MIDI 取り込み

次にクソみたいな歌メロを midi で取り込む。

このときに、歌声を指定する。

Sheena は俺の嫁なので、こいつに決める(ほんとはもうちょっとパンチの効いた歌声がほしいところ)。

んで、ここめっちゃ大事なんだが、言語を「英語」に設定する。

歌詞入力しはじめて、音素通りに歌ってくれねぇなと思ってたら、ここが日本語になってた。

一生日本語の歌詞なんて書かないので、これは選択できないようにしてほしい(俺は尖った痛い発言したいぜ)。

歌詞入力

歌詞をとりあえず打ち込みまくる。

ここでは、以下に注意する。

  1. 微妙なタイミング・声色・ビブラート等の調整パラメータは一旦無視する(崩壊しているものはある程度調整する)
  2. 同一単語で複数音階をまたぐ場合は、切れ目の子音をかぶせるといい感じになる確率が高い
  3. 音節ごとにノートを区切った方がいい場合が多い

1. 歌詞を打ち終わるのがゴール

1つめは、単純に今やるべき作業に集中するため。ここでこだわって Sheena タソと戯れたりペロペロするのも楽しいが、一生作業が終わらないことになるゾ。

2. 子音を重ねる

2つめと3つめは、なんとなくの Tips。特に調べたわけではないが、たぶんみんなこうしてるはず。

2つめに関してはこのイメージ。"spaces" の "p" の音素を2つのノートにわたって重ねている。

もろちんすべてをこのようにする必要はなく、結局は頭の中のイメージとすり合わせることになる。実際上記の例でも "s" は重ねてない。

だけど、まだこの段階ではそこにこだわる必要はない。歌詞を打ち込み終わることがゴール。いちゃいちゃしてる暇はない。

3. 同一単語内でノートを区切る

3つめに関しては以下のイメージ。 "scrolling" だけど、同じ音階で長いノートになるので、どの音素をどれだけ伸ばすのかをコントロールするのにノートを区切った方がいい場合がある。

最終的には、同じノート内でも各音素の長さを細かくコントロールしていくことにはなるんだが、一旦このようにしておいた方が全体としての見通しが早くたつ。

とゆーわけで、歌詞全部打ちに行ってまいります。

Cosmos DB for Mongo DB は Mongo じゃねぇってハナシ

トイレでうんこしたあとに紙が切れていることに気づき、そのショックでふと思った

Cosmos Mongo で createUser したいよぅ!

learn.microsoft.com

プレビュー機能キターーーーーーーー!!!!!

+   +
  ∧_∧  +
 (0゚・∀・)   ワクワクテカテカ
 (0゚∪ ∪ +        
 と__)__) +

実際にやってみると、確かにイケるんだが、現時点ではマジでこのドキュメントに書いてある通りのクエリしか受け付けねぇ!!!

これ読んでる頂き女子のお前にもわかりやすく言うと、「データ管理者ロール」と「ReadOnly ロール」しか作れねぇってコト。

# こっちがデータ管理者ロール
use admin
db.runCommand(
    {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
            { role:"clusterAdmin",db:"admin" },
            { role:"readWriteAnyDatabase", db:"admin" }
        ]
    }
)

# こっちが ReadOnly ロール
use admin
db.runCommand(
    {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
            { role:"readAnyDatabase",db:"admin" }
        ]
    }
)

つまり、ユーザと読み書き可能なテーブルの細かいコントロールが全くできなくて、「読み書きしたけりゃクラスタ管理者になれ!」って思想なワケ。

こりゃ困ったゾ☆

RBAC で管理しろってコトなんだけど、それってプリンシパル(Azure サービスプリンシパルとかじゃなくて一般的な認証における単位のプリンシパルね)を作れってことなんだよ。

SQLDatabase では DB 内部でゴリゴリユーザ作れるってのにさぁ。

Cosmosクンもっとしっかりしてよ。

まぁよく考えたらピュアな Cosmos は Azure レイヤーで RBAC だよな。

そことレベル感合わせたんだろうよ。

あくまで API が Mongo なワケで、こいつは Mongo そのものではない。知らんけど。

早くもっといろいろ操作できるように GA されねぇかな。

ええっと、、、もう他の物全部作っちゃったんですケド、、、

同じリソースグループ内、同じVNet内の異なる用途のサブネットを2個準備して、それぞれに対してプライベートエンドポイントを作ろうとしたところハマりました。

調べてみると、、、

azure.github.io

ayuina.github.io

リソースグループごと、VNetを分けろと、、、

プライベートエンドポイント以外のもの全部作っちゃったんですケド、、、

hostsでごり押しできるのか、、、

俺たちの戦いはこれからだ!!!!!!!

Windows 一般化したら今日のぽっくんの頑張りが全部消えた(そしてぽっくんも消えた)

インターネットにつながらない環境で使う Windows VM を作りたいナ~。

インターネットにつながる環境でセットアップしてからスナップショットからの復元でできないかナ~。

と思って調べてたら、注意喚起が。

jpaztech.github.io

Windows の場合は「一般化」が必須なようです。ライセンスの問題もあるしね。ダマ(黙)で使うのはイクナイ!!ダメ!ゼッタイ!!

とゆーわけで、まっとうな人間であるぽっくんは以下をサンコーに頑張ってセットアップしたVMをシコシコと一般化するのであった。

learn.microsoft.com

一般化も終わったし、JTCが大好きな「インターネットにつながらない環境」で VM をイメージから作成!ログイン!!

ありゃ?あれれれれ?頑張ってインストールしたもろもろのアプリケーションがないゾぉ☆

どうやらユーザ領域にインストールしたものは消える運命にあるのであった(システムインストールしたやつは生きてた)。

ぽっくんはとても悲しい気持ちになりました。

おわり

iReal の URL Scheme についてハマってる(悪い意味で)

たったこれだけの制御が意外とむずい。canLaunchUrl と launchUrl の処理周りのお話。

たぶんこれから地獄のようにポチポチするので手順をメモっとく。

手順

準備:ブラウザの履歴とかクッキーとか全部消す

  1. iReal を持ってない状態で Flutter Web を開く
  2. iReal のリンクを踏む
  3. iReal 購入しろやボケェのダイアログが出る
  4. iReal をインストールする
  5. Flutter Web から再度 iReal のリンクを踏むとちゃんと表示される
  6. iReal をアンインストールする
  7. Flutter Web から再度 iReal のリンクを踏むと iReal 購入しろやボケェのダイアログが出る

これを3回くらい繰り返しても不具合出ないようにしたいンゴ...

怒りのクリーンビルドシェル

.firebase を削除することで解決した問題や flutter clean で解決した問題があったので、怒りのクリーンビルドシェル書きました。

.firebase の削除はここで学びました。マジ卍。

iroiro.greenspace.info

趣味で自分しか使わないので、これだけ。

# deploy.sh
rm -rf .firebase
flutter clean
flutter pub get
flutter build web --release
firebase deploy