Pacific231をこの手で走らす

数日前のこと、全音からポケットスコアでオネゲルの「パシフィック231」が出ているのを知り、直ちに購入した。それをいつもの如く帰宅途中の車内で読んでいて、ふと手が止まったのは「スコア制作ノート」頁の「作曲者が編曲した4手ピアノ版を資料として比較検討 …」なる記述を目にした時。慌てて調べてみると、確かにそれは仏サラベール社から出版されていた。

「それを早く言えー!」

と心の中で叫び、すぐさま注文したのが今日届いた。

Apple iPad Air 2 (3.3mm, f/2.4, 1/1087 sec, ISO25)

そこでさっそく音拾いを始めてみたんだが、これがまあ最初から最後まで「臨時記号で不協和音」のオンパレード! てか、臨時記号のついてない音符のほうが少ない。譜読みに骨を折りそうなのは覚悟していたが、今度ばかりは予想を遥かに超えていた。恐らくプロのピアニストでも、これはさすがに「初見一発でカンペキ!」とはいかないだろう。

ただ音符の数はさほどでもなく、緩急強弱の指示も最低限で恰も「骨格標本」な感じでこれは肉付けが楽しみだ!  が、それは当分先になりそうですな。さしずめ今は「発車前の点検中」といったところ。まずはこの金属的不協和音を全部掌中に収めなければ ….

追記(11/10): これまで不協和音が効果的に使われる曲は幾つもやったが、それらにはいずれも何らか規則性があり、それを掴むとこっちのものだった。が、この曲にはそれがない。恰も主旋律(や対旋律)との間で協和音とならないよう、徹底的に背後の音を散らしている感じ。これらはもはや「伴奏」ではなくただの、いや「計算された」効果音である。やはりオネゲル、只者ではない。

Responder in paradise[1] ほんとの第一歩

これの続き。

PythonでResponderというと、サンプルとして必ず出てくる

import responder

api = responder.API()

@api.route(“/”)
def nanntarakanntara(req, resp):
………

な感じのアレ。恐らくFlaskユーザへのラブレターなんだろうが、Flaskを知らないユーザはアレを見てどう思うだろう?

俺は最初「 最も重要なAPIのインスタンスがグローバルな場所に無操作に置かれている」のが嫌で、これを自前クラスの中でself.apiとした。ところがこれだと@デコレータでのルーティングができない(!)。

この時点で心折れそうになったが気を取り直して本家ドキュメントを読み、その代替手法たるadd_route()の存在を知った(たぶんfalcon伝)。そしてその結果、ルーティングにクラス内のメソッドを使えるようになった。

が、これだけだといずれクラスの肥大は免れない。そこで更に「クラスベースのルーティング」を試してみることに。やり方は簡単でadd_routeの第2引数にクラスの名前を書くだけ。これでresponder.apiのクラスと、ルーティングの対象に応じて使われるクラスとが分離されてスッキリした。

がしかし、今度は後者でapi.templateを使おうとして躓いた(分離したのだから当然だが)。暫し悩んだ後、後者をインスタンス化して__init__でapiを渡し、add_routeにはクラス名でなくそのインスタンス名を書いてみたら○。

という訳で結構苦労したが、ここまででルーティングの手法を「デコレータとメソッドで」から「add_routeと別クラスで」へとすることができた。この拘りはいずれ己を救うと信じている。以上!

Responder in paradise[0] はじめに

長いことWeb方面で食ってきたこのワタクシが昨年Embeddedな世界に戻ってきて以来、自分でも呆れるくらいずっとPython漬けな日々が続いている。おかげでいまやPHPとかJavaScriptとかに強烈な違和感を覚えるようになり、もはや併用は無理と判断するに至った。そして遂には、ApacheやPostgreSQLとの組み合わせで20年近くも使ってきた前者を「すっぱり捨てる」覚悟を決めた。そこでまずは定番Djangoから始めてみたが、すぐに「俺にこの思想は向かない」と感じ、以後最近この界隈で話題のResponderで行くことに決めた(注1)。

とはいうもののResponderはまだデビューから間もないとあって、情報が圧倒的に不足している(注2)。そこでここは一念発起、自らResponderの「人柱」となるべく備忘録を兼ねてこのスレッドを始めることにした。いわゆる「はじめてのResponder」は数多のヨソ様におまかせするとして、ここではその応用編・実用編、それもPHP(とかPerlとか)から流れてきた人向けという感じな展開ができればと思っちょります。乞うご期待!

次回「ほんとの第一歩」に続く

注1: FlaskでもFalconでもない理由は既に多くの人が語っているので省略
注2: 現在本家サイトにhttpsでアクセスできないし …