岬なこさんの1st LIVEから考える3つの“世界”

2023年の最後に岬なこさんの 1st LIVE Nice to ME to YOU の感想を残しておこうと思う。1年間に50以上のイベントに参加しながら碌なアウトプットをしない僕が何故この公演(埼玉および大阪)に対してだけ筆を執ろうと思ったのか、その理由はこのライブの途中に披露された朗読パートにある。

そのストーリィは決して目新しいものではない。まず人生の歩みが以下の3つの“世界”として表現されている。

  • 無限の可能性に溢れているように感じ“好奇心の絵の具”と共にあった “最初の世界”
  • 周囲との関わりの中で自分を見失い毎日がつまらなくなってしまった “二番目の世界”
  • 苦しみを分かち合える他者(みんな)と出会ったあと、再び“好奇心の絵の具”を抱きしめ歩んでいく “これからの世界”

例えば白パケエロゲーでよくある展開だ。出会ったばかりの頃は元気そうだったヒロインが実は悩みを抱えており、それが何らかの現実問題なって表層化し主人公たちを襲うが、それを愛の力で乗り越えてハッピーエンドという具合だ。

だが、そんなことをわざわざ言うために滅多に書かないブログを書いているのではない。

言及したいのは“これからの世界”の話だ。結局人生は一人ではなく誰かと一緒にここに辿り着けるかどうかなのだ。そして往々にして“最初の世界”と比較して“これからの世界”は矮小化されている。後者の“世界”は主として自分の周囲で完結していることが多いからだ。しかし幸福とはそういうことなのだ。“好奇心の絵の具”は決して一色や一種類ではないのだ。

最後にライブの話に戻ると、この朗読パートのあとに僕の中で2023年トップの名曲『群青セツナ』が披露される。失恋ソングとして受け取っているが、この歌詞に出てくる主人公は“これからの世界”にまだ辿り着けていないのではないかと考えている。それ故に“二番目の世界”からずっと抜け出せない僕は共感を覚えてブッ刺さっているのかもしれない。

永遠を信じ 描いた物語 叶わないのに それでも望んだ

Sailfish OS を DAP として使うときの設定メモ (追補)

4.5.x にアップデートしたら USB オーディオが起動時に ALSA 側でミュートされるようになってしまったため、その解除を試みた経緯をメモする。基本的な設定は 前のエントリ 参照。

Version

Sailfish OS 4.5.0.18

経緯

  1. ALSA の設定を保存したかったがうまく動かない
  2. 起動時に ALSA の設定を変更するスクリプトを走らせる(systemd の設定)

1. ALSA の設定

一番簡単な方法は

$ alsamixer -c 0

m を押すとミュートを解除できる。(card 番号は事前に cat /proc/asound/cards などで確認) この設定を

# alsactl store

で保存しようとしたが、以下のエラーで詰まる。

alsactl: get_control255: Cannot read control '2.0.0,Voice Rx Device Mute,0': Operation not permitted

一方、 amixer コマンドで以下により同じことができる。

$ amixer set Speaker,0 100%,100% unmute

もう alsactl は諦めて、このコマンドを起動時に流せばいいんじゃね?という発想により2.に続く。

2. systemd の設定

参考

How to start a script at boot? - #17 by poetaster - General - Sailfish OS Forum

上記を参考に ~/.config/systemd/user/autostart.service を以下の内容で作成する。ExecStart には1.で示したコマンドを入れ込む。

[Unit]
Description=Execute commands at startup

[Service]
Type=Oneshot
ExecStart=/bin/bash -c 'amixer set Speaker,0 100%,100% unmute'

[Install]
WantedBy=post-user-session.target

参考ではスクリプトファイルを分けているが、これまたうまく動かなかった短いので直書きにした。

これを以下により有効化する。

$ systemctl --user enable autostart

再起動後、自動的にミュートが解除されていることを確認する。

Sailfish OS を DAP として使うときの設定メモ

DAP として使っている(それくらいにしか使えない) Sailfish X の再設定をしたので備忘録としてメモする。 USB-DAC の設定と SD カードの設定に分けて記載する。

環境

Version

Sailfish OS 3.4

端末

Xperia X (F5121)

USB-DAC

HERUS

再生アプリ

HF Player ( Android アプリ)

1. USB-DAC の設定

iOSAndroid と違って、USB-DAC を繋いだだけでは音が鳴らないので、設定ファイルの編集が必要。

参考

USB Audio in Sailfish

USB-DAC を有効化する(本体側のサウンドカードを無効化する)

管理者権限で入る。 alsa-utils をインストールする。

$ devel-su
# pkcon refresh
# pecon update
# pkcon install alsa-utils

次に

# udevadm info -a /dev/snd/by-path/*

で出力された情報が、以下のファイルに記載されていることを確認する。

# cd /etc/udev/rules.d/
# vi 99-pulseaudio-ignore-builtin-card.rules

もう1つファイルの設定(リネーム)。(最初から両方のファイルが存在していれば不要)

# cd /etc/pulse/xpolicy.conf.d
# mv -v usbaudio.conf.disabled usbaudio.conf

再起動。以上で本体側のサウンドカードが無効化される。( USB-DAC を繋がない状態で鳴らしてもザーザーとしか鳴らないはず)

音質を設定する

/proc/asound/card0/stream0 を見ると使っている USB-DAC で使用可能なサンプルフォーマットとサンプルレートがわかる。

# cat /proc/asound/card0/stream0

この出力をもとに、以下で default-sample-format default-sample-rate alternate-sample-rate の行などを書き替える。

# cd /etc/pulse
# vi daemon.conf

設定後、音を再生しながら再度 /proc/asound/card0/stream0 を見て設定どおり鳴っていることを確認する。

2. SD カードの設定

音源はすべて SD カード側に保存してあるので、それを Android アプリから読みに行くための設定をする。 参考にしたページにすべて書いてあるので記載は割愛。やることは以下の3点。
(1) Android アプリ用ディレクトリのバックアップ
(2) /opt/alien/system/script/platform_envsetup.sh の書き換え
(3) シンボリックリンクの作成
特に (2) は OS のアップデートで再度書き換えられてしまう可能性があるので注意とのこと。

参考

Guide: Externalising android_storage and other directories / files to SD-card - together.jolla.com

また数学問題botの問題を解いてみた

【解】
1)
\begin{tabular}{rl}&f(r)-g(r)=0\\\Leftrightarrow&pe^{qr}-qe^{pr}=0\\\Leftrightarrow&\ln(pe^{qr})-\ln(qe^{pr})=\ln{1}\\\Leftrightarrow&\ln{p}+qr-\ln{q}-pr=0\\\Leftrightarrow&\ln{\frac{p}{q}}-(p-q)r=0\\\Leftrightarrow&\frac{p}{q}=e^{(p-q)r}\end{tabular}  (1)

2)
\pi>e>0より,式(1)においてp=\piq=eとすると
\begin{equation}\frac{\pi}{e}=e^{(\pi-e)r}\end{equation}            (2)
であるから
\left(\frac{\pi}{e}\right)^\pi=e^{\pi(\pi-e)r}
\left(\frac{\pi}{e}\right)^e=e^{e(\pi-e)r}
よって
\begin{tabular}{rl}&\frac{\pi^{\pi}}{e^{\pi}}\cdot\frac{\pi^{e}}{e^e}=e^{\pi(\pi-e)r+e(\pi-e)r}\\\Leftrightarrow&\frac{\pi^e}{e^{\pi}}=\frac{e^e}{\pi^{\pi}}e^{(\pi^2-e^2)r}=\frac{e^e\cdot e^{\pi^2 r}}{\pi^{\pi}\cdot e^{e^2 r}}\end{tabular}
分母と分子の大小を比較すると
\begin{align}&e^e\cdot e^{\pi^2 r}-\pi^{\pi}\cdot e^{e^2 r}=e^{e}\cdot{\left(\frac{\pi}{e}\right)}^{\frac{\pi^2}{\pi-e}}-\pi^\pi\cdot{\left(\frac{\pi}{e}\right)}^{\frac{e^2}{\pi-e}}\end{align}     (∵(2))
\begin{align}&=\frac{e^e\cdot\pi^{\frac{\pi^2}{\pi-e}}\cdot e^{\frac{e^2}{\pi-e}}-\pi^\pi\cdot\pi^{\frac{e^2}{\pi-e}}\cdot e^{\frac{\pi^2}{\pi-e}}}{e^{\frac{\pi^2+e^2}{\pi-e}}}\\&=\frac{{\pi^{\frac{\pi^2}{\pi-e}}\cdot e^{\frac{\pi e}{\pi-e}}}-\pi^{\frac{\pi^2+e^2-\pi e}{\pi-e}}\cdot e^{\frac{\pi^2}{\pi-e}}}{e^{\frac{\pi^2+e^2}{\pi-e}}}\end{align}
上式について分母は正であり,分子の各項(>0)の自然対数を取ると
\begin{align}&\frac{\pi e}{\pi-e}\cdot\frac{\pi^2}{\pi-e}\ln{\pi}-\frac{\p^2}{\pi-e}\cdot\frac{\pi^2+e^2-\pi e}{\pi-e}\ln{\pi}=-\pi^2\ln{\pi}<0\end{align}
であるから,
\frac{\pi^e}{e^{\pi}}<1 \Leftrightarrow {\pi^e}<{e^{\pi}


式(2)をうまく使って不定数rを消したらあとはゴリ押し感.
/* もっとうまい方法あるのかもNE… */

\数学問題ボット/の問題を解いてみた

Twitterでたまたま見かけた以下の数学問題を解いてみた.

【解】
C上の点が正格子点であるための条件は,pq素数より,x=1,p,q,pqである。よって,[tex:pは下図のようになる.Tweet

リリイラング(リリイ語)Pythonスクリプト

RELOAD

âfâÊÅwÉäÉäÉCÅEÉVÉÖÉVÉÖÇÃÇ��Ç◊ǃÅxÇ…èoǃÇ≠ÇÈ《映画『リリイ・シュシュのすべて』に出てくる》
ï∂éöâªÇØ(ÉäÉäÉCÉâÉìÉOÅAÉäÉäÉCï∂éö)ÇçƒåªÇ��ÇÈÉXÉNÉäÉvÉgÇ《文字化け(リリイラング、リリイ文字)を再現するスクリプトを》
PythonÇ≈ä»íPÇ…èëǢǃǛÇΩÅBÇΩÇæǵUbuntuÇÃÇ›Ç≈ÇÃìÆçÏÅB《Pythonで簡単に書いてみた。ただしUbuntuのみでの動作。》

ÉRÅ[Éh《コード》

# coding: utf-8

import sys
import gtk

post = unicode(unicode(sys.argv[1],"utf-8").encode("shift-jis"),"mac-roman").encode("utf-8") + "《" + sys.argv[1] + "》"

gtk.clipboard_get().set_text(post)
gtk.clipboard_get().store()

print post

ǂǡǃÇÈDZÇ∆ÇÕ《やってることは》

  1. ó^ǶÇÁÇÍÇΩï∂éöóÒÇShift_JISÇ…ÉGÉìÉRÅ[ÉhÅB《与えられた文字列をShift_JISエンコード。》
  2. ǪÇÍÇMacOSRomanÇÃï∂éöÉRÅ[ÉhÇ∆ǵǃì«Ç›çûÇÒÇ≈èoóÕÅB《それをMacOSRomanの文字コードとして読み込んで出力。》
  3. ǬǢÇ≈Ç…ÉNÉäÉbÉvÉ{Å[ÉhÇ…ÉRÉsÅ[ǵǃÇÈÇÃÇ≈《ついでにクリップボードにコピーしてるので》
  4. TwitterÇ∆ǩDžLJÇ��ÇÆpostÇ≈ǴǃóVÇ◊ÇÈÅB《Twitterとかにもすぐpostできて遊べる。》

égÇ¢ï˚《使い方》

$ python lily_chou-chou.py "呼吸!呼吸!呼吸!"

åƒãzÅIåƒãzÅIåƒãzÅI《呼吸!呼吸!呼吸!》

2010.12.08 í«ãL《追記》

WindowsÇÃPython ShellÇégÇ¡ÇΩÇ‚ÇËï˚ÅBèoóÕåãâ ÇÉRÉsÅ[ǵǃégǧÅB《WindowsPython Shellを使ったやり方。出力結果をコピーして使う。》

>>> post = "共鳴!共鳴!共鳴!"; lily_lang = unicode(post, "mac-roman") + unicode("《", "shift-jis") + unicode(post, "shift-jis") + unicode("》", "shift-jis") + " #lilychouchou"; print lily_lang

ã§ñ¬ÅIã§ñ¬ÅIã§ñ¬ÅI《共鳴!共鳴!共鳴!》

ìäçeé“ÅFï…ãÛÇ’ÇÁÇ��Ç’ÇÁÇ�堯堙蟾銅圈⏆剖擷廚蕕垢廚蕕后�


MeeGo の Myzone で Chromium(Google Chrome) のアイコンを変更する

せっかく統一感のある UI なのに Chromium(Google Chrome) のアイコンだけ浮いているのが気になるので変更しよう!

まず、アプリケーションが格納されているディレクトリの権限を変更する。 (ちなみにここにはアプリケーションメニューでは見えないアプリも見える。一般的な Gnome のメニューとか)

$ sudo chmod 777 -R /usr/share/applications/

次にファイル・ブラウザで /usr/share/applications/ を開いて Chromium Web Browser を右クリック > プロパティ でアイコンをクリックして変更。アイコンは /usr/share/icons/netbook/48x48/apps にある netbook-web-browser.png を使用 (netbook-web-services.png だとかつての Moblin っぽくなる)。
これで統一感が出たよ!  # MeeGo 使うの楽しいから早く安定してくれ…

最後に権限を戻しておこう。

$ sudo chmod 755 -R /usr/share/applications/