お金2.0~自律分散な価値経済~

こんなミライになるの?

どうもこういうミライ予測もの本は少し,眉につばをつけながら読んでしまう傾向がありますが,この本は割と納得感がありました.
まずは,経済の仕組みを脳の報酬回路と結びつけて説明してくれるのは割と納得感があり,その話の流れでビットコインとか現在のトレンドや,ミレニアル世代の感覚もうまく説明してくれているのもあって,その延長にミライ像があるという論理展開が自然だったせいかもしれません.
とはいえ,読み終わってみると,でも本当にこんな感じになるのかな?とはやはり直感的には思えなかったりする.


この本には,天動説が廃れるのに百年オーダの期間が必要だった理由は,旧世代の人間が生き残っていたからだという指摘がある.旧世代の人間はミライは理解できないというのは同意で,そういう意味では僕はもう次の世界がどうなるかを理解する能力を失っていることにはなる.ミレニアル世代な人たちが読んで無批判に理解できるというのであれば,それがこの本の指摘が正しいという根拠になるのかもしれません.

最近よく聞くベーシックインカム

AIがよろしくやってくれる世界になると,人間はAIに食べさせてもらうようになるはずですね.
人間が食べるものをどうやって買うかというとAIの稼ぎをAIの指定する配分に従って再配分されて,購入することになる.
ということでベーシックインカムという発想になるんですかね?
本当かな?,AIが稼ぐっていうのがイマイチイメージできないし,その稼ぎを再配分するっていうのがまた理解できない.

Geekは自立分散が好き

自律分散というキーワードはGeekが大好きな概念なんでしょうね.リバタリアニズムとも少し連動しているような気がする.
インターネットって技術的には自立分散型のネットワークということになるし,インターネット以前のネットワークの耐故障性という課題を華麗に解決する(はず)技術的な思想とっいってもいいかもしれません.
P2Pや,ビットコインもこのカテゴリになるわけで,こういう世界観が好きな人は,これからの時代を肌感覚として楽しめる素養があるんでしょう.私はちと微妙な感じです.
こういう技術的な思想には共感を覚えつつも,行き過ぎたリバタリアニズムには一定の距離を置きたいと思う,今日このごろ.

価値経済とコト消費

それにしても,実体経済1に対して金融経済が9というこの本の指摘は本当なのだろうか?
正しいのだとすると,資本主義経済(金融経済)は現時点でもうバブル状態なのかもしれない.

Vision~生命とは~

Vision
Vision

ええ映画やなぁ

難しい映画だなぁとは思う.
が,良い映画.
ストーリーの起伏が極端に小さい,奈良の山奥にいわくありげなVisionを探しに来るフランスの女性.迎える老婆と男.若い男.
ストーリーがなにかを説明するというよりは,映像を鑑賞することが目的になってしまいそうになる.

河瀬直美


この映画で,河瀬直美の映画を見始めた.
永瀬正敏も少し小太りな感じで,樹木希林が例によって存在感たっぷりに演じている.
「生」が基本この人のテーマなんだろうなぁと思う.
黒澤明とかが撮ると,

こんな感じの映画になってしまうと思うが,社会の中で「生きる」のではなくて,生命として「生きる」感覚を描こうとしているように思える.
ジェンダーバイアスもあるのかもしれないが,女性ならではだとは正直思う.

永瀬正敏


「あん」にも出ていたが,この映画で永瀬正敏と河瀬直美のコンピはなにかを掴んだのではないだろうか?
Visionは,この映画の「光」に対して,明確な「映像」と「音」を提供してくれる,
よく「風の音」という言葉があるが,実はそんなものはなくて,風にたなびく林・森の木々の囁きだったりする.永瀬正敏はかなり寡黙な演技で,その音と映像に溶け込んでいる.
結局彼はなぜこの山奥で「山を守っている」のだろう?

ジュリエット・ビノッシュ

うまく書けそうな感じがしないな.
この女優さんに形容詞が思いつかない.
安藤サクラや,樹木希林よりはかなり美人さんではあるが,女性の美醜は確かに大きなファクタだけど,この人の存在感はなにかそういうものを超越している感じがする.
こういう,フェミニンな生命感を描く映画には適役なんだろうなぁ.
なので,子供ではなくちゃんとした大人の女性でありながら,大地のような生命感を演じられる役者さんというのは稀有な存在なのだろう.

全体に難しい文書になってしまったが,そういう感じを誘発するような映画ということなんでしょう.

おくればせながら~GCPへの移行~

自宅サーバだと困ること

これまでずっと,自宅サーバでやってきました.
だってお金かからないんだもん.とか言いながらオラクルに買収されてしまったダイナミックDNSな会社には$55/yearをお支払いしていましたが,まぁぶっちゃけそれだけで済んでいるとも言える.
正直ケチなので,使えるリソースは最大限活用するポリシーで,メールサーバ,sambaサーバ,ラジオ録音,webサーバ,その他諸々のサービスを全部詰め込んでいるので,一番イヤなのは,そのせいで(と思っている)ラジオ録音が失敗してしまうことでした.
ということで,クラウドに移行することにしました.
AWSとも思いましたが,wordpressが割とお安く運用できると評判のようだったので,GCPにすることにしました.

microインスタンスだと不安定

というケチな人なので,最小のコストで運用を,あわよくば無料で,と思い,microインスタンスをつかっていたのですが,さすがに小さすぎたみたいで,いろんなプラグインをインストールすると俄然レスポンスが悪くなるし,データベース接続エラーとかがでて,リカバリを数回繰り返す羽目になってしまいました.
グーグルアカウントをもう一つ作って,無料期間をゲットしてsmallインスタンスにしてやっと,なんか安定して動き出した模様です.

スナップショットから起動できない

microインスタンス固有なのか?わかりませんが,どうもスナップショットから起動ができないみたいで,ある程度作業が進んだ段階でバックアップのりでスナップショットを作ったりしていました.途中オペミスとかデータベースがおかしくなったりしたときに,じゃスナップショットで再起動って思ったのですが,なぜかsshでログインができません.
スナップショットってバックアップじゃないの?

URLの変更が面倒

どうもいままで,href=とかのあとに”http://~”てな感じで,自分のサイトないのリソースを指定してたんですが,これは,ドメインが変わるとしんどいなぁ,ということで,一旦インポートしたxmlファイルで,リンクチェッカープラグインを入れて,エラーをたくさん吐かせて,この際一通りきれいにしたはずです.
ということで,自宅サーバに戻って,ドメインが変わるようなことがあっても大丈夫..
う~~ん,なんのためにこんなことやったんだろう?

万引き家族~祝カンヌ受賞~

カンヌ・パルムドール受賞

今村昌平の”うなぎ”以来のパルムドール受賞とのこと.
最近日本映画の質が高くなっているなぁとは思うので,ある程度理解もできるけど,いろいろ事情通的(週刊誌的とも)な情報から,カンヌって毎回審査委員長が変わるので,その人の趣味がかなり入るらしい.
今年はケイト・ウィンスレットとのこと.なんとなく,こういう映画が好きなのね.と納得する思いもあり.

是枝裕和の映画

以前にもこのblogで取り上げているので,好きな監督さんですね.
パルムドールの受賞会見では,家族映画の専門家とは思われたくないというような趣旨の発言があるが,気持ちは分からなくもない.
全部を見たわけでもないので,全体の傾向ってわからないのですが,少なくとも観た範囲では家族に焦点を当てた作品が多い.でも家族を中心に描くいうのは目的ではなくて手段のような気がする.この監督さんにとっては.
99.99%の人は,ガンジーのような善人でもなく,ヒトラーほどの悪人でもない.本当に中途半端な善人・悪人だったりする.中途半端だよねぇ,っていうのでは映画にならないので,中途半端以上ヒトラー以下の悪人達が生きていけて,その悪性だったり善性だったりくっきりと描き出す舞台はやはり家族なのだろうなぁとは思う.
ということで,やはり家族というフォーマットは手段.というのが私の理解だったりします.

安藤サクラ

この女優さんは,なんてこったいって感じです.
美人でセックスアピール万全みたいな存在感からは対局にある.が,別段醜いというわけでもない.
道ですれ違ったときに彼女だと気がつける自信がまったくない.
でも完全な,それも極上な女優さん.
ケイト・ウィンスレットが,是枝監督に「私が安藤サクラと同じ泣き方をしたら,真似したと思ってください」って言ったらしいです.
該当の泣きのシーンは,Dancer in the darkのラスト近くのビヨークの演技並に素晴らしかったです.

父親が奥田瑛二・母親が安藤和津.顔はどっちかっていうと母親似かなぁ?役者としての存在感は父親から,って感じでしょうか?

日の名残り~5月の爽やかな読書~

5月の良い気分の時期に良い小説を読みました


久しぶりに小説を読みました.
かなり昔ですが,アンソニー・ホプキンス,エマ・トンプソンという配役で,

こちらを見たことがあります.実は映画自体は,「眺めのいい部屋」みたいな感じの映画だなぁと思った程度でしたが,改めて読みながらミス・ケントンの女性特有の(というか男性からの視点ですが)扱いにくさ感は,あぁエマ・トンプソンってそんな感じだよなぁ,スティーブンスの頑な感じって,アンソニー・ホプキンスっぽいよねぇ,なんて実は意味の分からない感想を持ちながら,まるで映画を見直している様な感じで読了しました.
こんなに登場人物がビビッドに頭に浮かぶような感じで小説が読めたのは,なんか不思議な感じがしました.

実はあまり小説は読まないのですが,村上春樹の小説に登場する人物は,割と顔が見えないというか,無生物感があるんですが,この本の登場人物は何故か人間味を感じます.
村上春樹の小説がだからダメだという訳ではなく,これはこれでSF映画を観るような感じで面白くて,勿論SFなストーリーでもないのに,なにか現実感を喪失させるような世界観を読み手に提示するという意味では,とても面白いわけです.
日の名残りの場合は,考えてみると実は第二次世界大戦の前後のイギリスの話なので,リアルにその情景や人物を知っているわけではないんですが,そういった違和感もまったくなく,普通に人間の顔が見える(想像できる)世界観というか景色を提示してくれます.
なにが違うんでしょうね?

衰退することの美学

丸谷才一があとがきというか解説のところで,イギリス大英帝国の帝国主義への皮肉という趣旨の内容を書いていたが,実はあまり同意ができない.小説なので,やはり読み手の感じるままに解釈するが正しい(といってもオレ流な正しさですが)と思いますので,以下少し勝手なことを書きます(ここだけじゃないですが).
以前,

こんなことを書いて,コダックが破綻したのは時代に適合出来なかったから,というようなことを書きました.
だからと言って滅びることが悪だというわけでもないんだなぁと,この本を読んで感じた次第です.

イギリスも時代の流れの大きなウネリに乗り遅れた部分があり,大英帝国という名前には見合わない状態になってしまいました.
この小説に出てくる貴族のような階級も今ではほぼ存在しない状態になっていて,イギリス王室の周辺に歴史遺跡のように残っているのみです.まるでコダックの博物館のように.

滅びたり,衰退するのにはなにか理由があって,そうならざるを得ない.後の人から観ると,後付のように特権階級が不当に権益を独占していたのが,是正されたような見え方をするかも知れないが,主人公のスティーブンスはそういった衰退とか破滅とかのネガティブな動向にまったく頓着せず,最高の執事の在り方をひたすらに追求する人物像として描かれています.
なにかこういう人に,あなたは時代の流れに合わない,適合できていませんよ,と指摘することは,なにか的はずれなのだろうなと思う.
これから私もどんどん歳をとっていく訳で,いつまでも世の中の状況にキャッチアップし続けることを主眼に置いたような生き方はできなくなって,自然となにか,周りの状況とは関係のないなにかを,人生の拠り所として生きるようになるんだろうなぁと思う.
素敵な拠り所が,これまで・これからの人生を通じて,僕の中に育っていくと良いなぁと思う次第です.

DANILO PÉREZ, JOHN PATITUCCI & BRIAN BLADE “CHILDREN OF THE LIGHT”

Wayne Shorter Quartett -1

一度Wayne Shorter Quartettでどこかのライブを聞いたはずなのだが,Blogで見つからない.





とかでかなり聴き込んでいるので,実はLiveを見たことがあるというのは実は思い違いなのかも知れない.
上のCDは,今Jazz(死語かも?)な感覚とは全く違うので,合う合わないが激しいかもしれないけど,Mode,フリーなJazzの割とオーセンティックな路線の究極の演奏です.
騙されたと思って一度聞いてみて下さい.悶絶します.
”Wayne Shorter Quartett -1”とは書いてみたものの肝心のWayne Shorterがいませんが,このトリオのライブが聴けることは最高の経験になりました.

DANILO PÉREZ

なんて,前のめりに熱烈なファンのような感じで書き出したものの,始まる前まで実はJason Moranと勘違いしていました.
としはとりたくないものです.
ディスコグラフィーを見てみると,なんと,一枚も聞いたことがない.
上のWayneとのアルバムだけで結構お腹いっぱいな音楽なのでフォローするのを失念していたのかも知れません.

パナマ出身のピアニスト.パナマ愛が深いのか,MCでパナマ大使が会場に来ていることを紹介したり,パナマでJazzフェスがあるから来てねとか言っていました(思わず遠くていけないと呟いてしまいましたが).Bluenoteで演るのが初めてなのか,日本自体は初めてなのかは,ちと聞き取れなかった(記憶にない?)のですが,気合の入った演奏でした.
正直Wayneの不在を,その独特なハーモニー感覚,タイム感,テクニックで補って余りある力演でした.このライブの後の帰り道にBrad Mehldauの新譜を聴きながら帰ったのですが,Mehldauのピアノが割と普通に聴こえるというのがとても,なんか不思議な経験をした次第です.
ラストの曲が,Monkの”Round Midnight”だったせいか,あぁこの人は,無茶苦茶テクニックがあって,本当はMonkがやりたかったことを今最高のテクニックで再現する人なんだぁと思った次第です.

JOHN PATITUCCI

最初に聴いたのは,Chick Coreaのグループだったと思います.最初はそんなに凄い人という印象もなく,普通のフュージョンがちゃんとできるテクニックのしっかりした人だという程度の認識でしたが,徐々の王道なJazzのアルバムで存在感を示すようになって,6弦ベース(ギターじゃねぇか?)で,


というアルバムも残しています.このCDもなかなか良いです.
こういうのを聴くと,この人は本当に音楽というものを,理論とか鍛錬とかで理解している人ではなくて,DNAというか血の中に音楽が流れているんだなぁと思う.
きっと死ぬほど鍛錬があったんだとは思いますが,そういうことを聞く人に悟られないというところがまた素敵な感じです.

BRIAN BLADE

そういうMuseな感じという意味では,この人もその部類な感じです.
とにかく,音楽への反応が早い.的確.リードするところでは最高の盛り上がりを演出.後ろで引っ込みながら,音楽の流れを止めず,カラーを加えていく.
日本のJazzドラムもかなり豊かになりましたが,こういう人は流石に日本にいないなぁと思う.

Jazzはドラムだけで成り立つと信じさせてくれる人.

適者生存という考え方~インターネットは自由を奪う ~

最近忙しくて、ちゃんと読了できる本がめっきり少なくなった。
新聞の書評欄を見たり、空き時間を見つけて書店に足を運んでよさげな本を物色して、図書館で予約。図書館なので人気の本はなかなかすぐには読めないんですが、それでも毎週末には数冊が確保できて、平日の移動時間や睡眠前の時間を確保して少しづつ読んではいます。
そうはいってもなかなか時間は確保できず、読了できる本がめっきり減ってしまいました。
5月はGWでお休み(働き方改革万歳!)なので、なんとか一冊は読了できた。というのがこの本、実は読みながら著者と議論しているような感覚を持ってしまった。納得・共感できる点と、まったくその反対の感想を持つところと、極端に分かれてしまう。読みながら「それは違う」「それはまぁそうだね」という思いが頭の中を錯綜していました。
読書の醍醐味の一つかもしれません。
とはいえ、割とレトリックというか表現が汚い部分も多いので、映画でいうとR15指定という感じかもしれません。

共感できない点

寡占であること

この本で紹介されるコダック社が破綻したのは、やはり技術・商品の陳腐化に対処できなかったことに尽きると思う。実際富士フィルムは、写真の技術を母体にナノテクノロジーの企業として今でも元気にやっている。
先行者利益というのは確保されるべきだと思う。油田を見つけた人が、そこから算出される資源を元手にビジネスを独占するのは自然なことだと思う。そういったビジネスの種になるものを見つけることのできる人や、企業の絶対数は限られているので、ある程度自然に寡占な状態に落ち着くのだと思う。
油田のたとえはあまりよくないかもしれない。将来的には環境負荷の大きい化石燃料の需要は落ち込むだろうし、そういうビジネスの環境変化に適用できなければ、その企業は生き残ることができない。
少なくとも、こういった寡占状態に均衡するという状況は、別段インターネット以前からあった話で、インターネットの特性によってもたらされたものではない。

利用者の貢献にただ乗りしていること

フリーライドというビジネスの手法は、ほめられたものではない。付加価値を提供する人・企業に利益が配分されるべきだと思う。
しかし、インターネットの利用者の貢献にただ乗りしているという構図を批判するのは的が外れているように思う。
利用者は確実に利便性とか、交流のチャネルの拡大とか、リアルタイムな情報確保という利得を得ている。それを無料で提供する代わりに利用者をサンドイッチマンの代わりの広告チャネルとして利用することが果たしてインターネット企業に対する批判として適切なのかはかなり疑問だ。

規制による改善に期待すること

最後の章に、(この本で批判されている)現状を改善する手段として法規制というか政府の介入に期待する趣旨の内容が書かれている。
確かに、19世紀の産業革命の結果、不当な労働環境が蔓延したことに対して労働組合が生まれ、一定の歯止めになったことは事実だとは思う。一方で共産主義という奇形な政治思想手法とも結びつき、スターリン・毛沢東という小ヒトラーのような奇形児を生み出した(多数が死んだ)のも事実だと思う。
現状は確かに19世紀的な労働に関する考え方のターニングポイントになっているとは思うが、それを政府や公権力の介入によって解決しようとするのは、あまりに歴史を知らないのではないだろうか?と思ってしまう。

共感できる点

雇用を生み出していないこと

データが産業の原油・原資として回り始めている社会になりつつある(すでになっている)。データは複製のコストが極端に小さい、ほぼ0.複製以外になにか人間が付加価値を加えること自体でデータとして真正性に影響を及ぼすため、複製以外に付加価値を加えることはかなり難しい(それに成功した人たちがGAFAな寡占独占企業)。
こうなってくると情報に付加価値を加えて、新しいビジネスを創出する「以外に」労働の対価を得ることはかなり難しいのだと思う。
今までデータ化されていなかった産業は、いったんデータ化されることで、生産性が一見飛躍的に向上することを成功事例にして、さらに生産性を上げて経営効率を上げようとする。ここで生産性とは”Output/Input”だと定義すると、投入するコスト(Input)に対してより高い付加価値のOutputを得ることで、その生産性は一気に向上する。
ここまでは、正しい構図だと正直この本を読むまでは思っていたが、どうもこれは何かのジレンマに陥るのだと思い始めた。Outputの価値とは市場価値で、我々庶民がその価値を労働の対価として購入するにあたる・等価なものだと信じて購入するから価値がある。一方で生産性を上げようとすると、Inputの主要なコストである人件費を圧縮せざるを得ない。分母をより小さく,分子をより大きくが,割り算の価を最大化する唯一の戦略なんですが,分子(output)を大きくしようとすると,分母(input)も小さくなってしまいます.
いかに海外の安い労働力を得るかの競争にもなっている。中国人の労働者コストが急騰すると、彼らを消費者と見立てて、インド・アフリカ・北朝鮮の安い労働力で賄おうとする。世界の人口も無限にあるわけでもないので、早晩この構図も限界にくる。
「イノベーションは人類を不幸にする」というジレンマの根源はもしかしたらこういう構図が原因なのかもしれない。

憎悪を倍加させること

情報・データに付加価値を加えるもっとも簡単な方法が、憎悪を加えること、捻じ曲げること、Fakeにすることなのだと思う。まぁ、TVがずっとやってきたことをみんながインターネットという便利なチャネルを使ってやりだしただけのことでもあるが・・
とはいえ、インターネットはテレビのような放送範囲が政治的・技術的に限定されたものでもないので、アラブの春ような悲劇も生みえる。インターネットの思想的な背景として、自律分散型、リバタリアニズムがあるのでとも思うが、これがあまり極端になってしまうと、無政府主義的な周囲から理解のされない思い込みだったり、過激なテロリズムになったりするということも、考えておくべきものなのだとは思う。

radikoをpythonで録音してみる

らじるらじるの次はradikoですね

仕事のストレスは溜まる一方なので,pythonのスクリプトに現実逃避してしまいます.
さて,やってみましょう.ということで,外部仕様は前回に続いて従来のshの仕様を継承します.
参考にしたサイトは,
Radikoの再生&録音スクリプトをPythonで書きなおした
正直なところ,このまま使えばいいじゃんという話でもありましたが,前回に続いてid3タグを設定したかったので,色々変更をしてしまいまいした.
radikoの番組表xlmの取得APIのメモ
こちらは,RadikoのAPIの仕様の参考にさせて頂きました.とはいえ,取得できるデータの仕様の記載があるところを見つけることが出来なかったので,実質現物合わせ作業になってしまいました.
できたコードは,rec_radiko.pyRadioXml.pyになります.
ご笑覧ください.

頑張ったところ

API用のクラスを作ってみる

どうもだらだら,と本体のrec_radiko.pyを修正していると,結構長く冗長なコードになっちゃうなぁということで,API絡みのところは前回のNHKの分も含めて別クラスにしてみよう.それで作ったのが,RadikoXmlクラスでした,RadioXml.pyの中に書いてあります.本当はNhkXmlクラスも作ろうかと思ったんですが,らじるらじるのスクリプトは見直してみるとそれほど冗長でもないので,そのうちやることにします.
いつ気が向くかは謎ですが.
import文の書き方とか,クラスパス(PYTHONPATH)の設定の仕方とかの勉強になりました.

関数を分けてみる

とはいえ,rec_radiko.pyには,

url = "https://radiko.jp/v2/api/auth2_fms"

こんなコードが残っているんですが,これは,録音の時に使うトークンとかの情報を取得するためのもので,urlに’v2’が含まている(RadioXml.pyには’v3’なAPIを書くことにしています).
流石にこれをメイン関数にずらずら書いていると流石に読むのが辛いし,上手く動かなかった時の切り分けも面倒なので,せめて関数には分けようということにしまいした.

# get player
def get_player( playerfile, playerurl ):
# get keydata (need swftool)
def get_keydata( swfextract, playerfile, keyfile ):
# access auth1_fms
def get_auth1_fms( pid ):
def get_auth2_fms( auth_response, keyfile ):
# get stream-url
def get_streamurl( channel ):

が作った関数達(作ったというより移動させてたという方が正しいかも?).おかげでメインの処理はかなりスッキリしましたし,何の情報が流通しているのかも分かり易くなります.

fork/execを減らしてみる

世代的に,fork/execは悪という意識が強い世代です.
rtpmdumpの仕様なのか,radikoの仕様なのかは不明ですが,どうもストリーミング用のURLを3つに分解しないといけないらしく,参考にしたページでは,perlを使っていますが・・・いやぁ,pythonでやりきった方が良いよね.と少し,苦労しつつ,

def get_streamurl( channel ):
    url = 'http://radiko.jp/v2/station/stream/{}.xml'
    url = url.format( channel )
    resp = urllib2.urlopen( url ).read()
    root = ET.fromstring( resp )

    stream_url = root[1].text
    url_parts = []
    url_parts.append( stream_url.split( '://' )[0] + '://' + 
                stream_url.split( '://' )[1].split( '/' )[0] )
    url_parts.append( stream_url.split( '://' )[1].split( '/' )[1] + '/' + 
                stream_url.split( '://' )[1].split( '/' )[2] )
    url_parts.append( stream_url.split( '://' )[1].split( '/' )[3] )
    return url_parts

う~~ん,可読性・理解性が極限まで低い.

感想

クラスを分けたので結構理解性は高くなったような気がするし,このクラスに機能追加をしていくと色んなことが出来るようになるような気がする.(まぁ時間があればですが)
なにはともあれ,radikoの録音ファイルもid3タグがついて分類しやすくなった幸せを今後感じていくことになるのでしょうね.

ラジオ録音のスクリプトをアップグレード


金曜日に無茶苦茶嫌なことがあったので,土日にコーディング.
やはり変人かも知れない.

pythonで作り直す決心

スクリプト言語とのお付き合いは余り深くなかったなぁと,人生を振り返ってみたりします.
perl,rubyとか流行りの言語もまぁ使ったことはあるけど,csh,bashのスクリプトに比べて何が違うんだろう?とか思ったりもする.
pythonも使っては見たものの,驚く程生産性が上がっているわけでもないなぁというの正直なところ.
所詮こんなスクリプトを作った程度なので,偉そうことも言えないですが,結果的にできあがった行数よりも,試行錯誤してしまった時間の方が長いなぁという感じ.
仕事でやるならもうちょっと実装仕様まで決めて,製造・デバッグっていう感じにするんでしょうが,所詮趣味レベルです.

これまでの仕様

NHKラジオって,第一,第二,FMの三局がありますので,パラメータで選べます.
録音時間,出力先のパス名,ファイル名は指定されたプレフィックスに録音の開始時刻が使われます,デフォルトは指定されたチャネル名.
実装はbashのスクリプト,かなり力技でconfig_web.xmlというNHKがWebで公開しているファイルを解析して,urlをゲットしてffmpegでmp3にDLしてくるという「だけ」でした.

これからの仕様

パラメータとかの外部仕様は,基本これまでのものを踏襲,変えない.cronのスクリプトとかに書いてあるので,コマンド名は流石に,*.shから*.pyに変わるんでしょうが,パラメータの仕様とか変えたくなったので,そいうことにしました.
折角作り直すんですから,ゲットするMP3ファイルのID3タグをちゃんと設定したい.
NHK-APIというのがあるみたいなので,こいつを使ってなんとか番組タイトルとかをゲットしよう.そういえば,番組ロゴとかURLも出てくるみたいなのでカバーアートに登録しちゃおう.という野望です.

技術的な話

さて,実装しましょう.って言いながら,結局着手時点で決まっている仕様は上に書いた通りの外部仕様だけって世界で,pythonの文法もちゃんと知らないという,まぁ,なんとも行き当たりばったりな世界.

NHKのAPI

使ったAPIは2種類でした.

    # NowOnAir API
    now_url = now_base.format( area_code, code, api_key )

    # get program id
    now_program = json.loads(
    urllib2.urlopen(now_url).read())['nowonair_list'][code][timing]
    program_id = now_program['id']

    # ProgramInfo API
    info_url = info_base.format( area_code, code , program_id, api_key)

    # get program information
    program = json.loads(urllib2.urlopen(info_url).read())['list'][code]

基本リアルタイムな録音をするので,今放送している番組を取得できるAPIで番組のIDをゲットします.
ゲットした番組IDで,番組のタイトルとかのメタ情報をゲットする作戦です.最後のprogramというインスタンスに全てのデータが入ります.
オブジェクト志向なスクリプト言語だと,こういうデータの型定義を事細かにやらなくても良いのは,確かにありがたい.

Jsonのパース

Jsonのデータのパースは割と楽でした,構造体のメンバっぽい書き方で,レベル毎にタグ名を指定してあげるだけ.
番組IDをゲットする時に使っている”timing”というパラメータは,NHKのこのAPIの場合今放送している番組(present)と,これから放送する番組(following),と一個前の分が指定できます.プログラム内の変数です.
cronで動かすこと想定していて,番組が始まる時間なのでタイミングは微妙かも?と心配しましたが,今のところデフォルトのpresentでちゃんとデータがゲットできているようです.

xmlのパース

    nhk_xpath_base = './/stream_url/data/*'

    resp = urllib2.urlopen( url ).read()
    root = ET.fromstring( resp )

    for child in root.findall( nhk_xpath_base ):
        if child.tag == 'area' and child.text == here:
            dl_url = root.findtext( xpath )

ffmpegでDLする先のURLを抽出するためのコードです.
NHKが公開しているxmlファイルからURLを取り出したいんですが,正規表現っぽい書き方で,ちょっと苦手でした.上記のコードにたどり着くのに一番時間がかかりました.

mutagen

さて,今回の機能追加部分です.山場です.って割には2H程度で出来ました.

    path = path.format( outdir, prefix, date )
    proc = subprocess.call( cmd .strip().split(" ") )

    tags = EasyID3(path)
    tags['album'] = nhk_album.get( channel , None )
    if program[0]['title']:
        tags['title'] = program[0]['title']
    if program[0]['subtitle']:
        tags['artist'] = program[0]['subtitle']
    if program[0]['act']:
        tags['artist'] = program[0]['act']

    tags.save()

    logo_url = 'http:' + program[0]['service']['logo_l']['url']
    coverart = urllib2.urlopen(logo_url).read()
    audio = MP3(path)
    audio.tags.add(
            APIC( encoding=3, # 3 is for utf-8 
                mime='image/png', # image/jpeg or image/png 
                type=3, # 3 is for the cover image 
                desc=u'Cover', 
                data=coverart))
    audio.save()

こんな感じです.前半は,割と普通にタグを弄るだけなので,良かったんですが,後半のカバーアートの付け方は少し悩みました.
coverartという変数は一見するとURLからgetしたデータがそのまま入るような気がしたので,そのまま代入して良いの?とググるアンド試行錯誤しましたが,なんとこんなコードでちゃんと設定されているようです.(何故かは不明(笑))

結果

こんな感じで見えます.ID3タグのない過去のファイルは番組名とタイムスタンプだけなので,探すの実は地味に面倒です.
話はそれますが,最近Bluetooth対応の体重計を買いましたが,毎朝・毎夕図るのに,これまで手入力だったのが嘘のように時間がかからなくなって,真の働き改革だと感心したものです.
こういう語学勉強のmp3ファイルもぱっと見て分かるような状態にしておくと,作業効率が一気に上るので,実は生産性をかなり上げてくれます.(一回づつは地味な改善ですが)
カバーアートの方は頑張った割には,NHKの公開しているロゴがしょぼいので,掲載割愛.
お疲れ様でした.

閑話休題

pythonってswitch文がないんですね.
if,elifを連ねて書くのか...と遠い目になりかけましたが,

    nhk_xpath = {
        'NHK1':	'.//stream_url/data/r1hls',
        'NHK2': './/stream_url/data/r2hls',
        'FM': './/stream_url/data/fmhls'
    }

        xpath = nhk_xpath.get( channel , None )

こんな書き方ができるんですね.う~む.美しい.
さて,ラジコの録音スクリプトはどうしてくれよう.

進歩すると幸せになるのか?~サピエンス全史~

結構長い間ベストセラーになっているような気がする.
2014年の書かれてた本のようなのでもう4年前の本だが,こういう人類史ものの本は好きだなぁと思う.

「進歩」すると「幸せ」になる?
「幸せ」は人それぞれだけど,明確にあるような気がする.
「進歩」の目標は「幸せ」だが,どんな「進歩」が「幸せ」につながるのか?

なんてなことを考えながら読んだりしました.

認知革命

ホモ・サピエンスの遭遇した最初の革命なのかも知れません.
抽象的な思考といっても良いのかも知れない.
宗教・哲学・貨幣というシステムを編み出す原動力はきっと「認知」「抽象的な思考」だったんだろう.というのは説得力がある.
この後に続く,農業革命・科学革命の原動力にもなるし,必須要件だったんだろう.

農業革命

狩猟民族だったサピエンスが,認知革命を経て,安定的な収穫を得るために始めた農業.
この本では,不安定な収穫性しか担保できないという課題を解決するイノベーションとして「農業」を捉えているのですが,同時に,収穫をより多く得る人と,そうでない人との格差を産み,ひいては王族に隷属する農民という階層を生み出している点に着目するのが興味深い.
技術の進歩で確かに生活は豊かにはなっているが,必ずしも人間が「幸福」になっているわけでもない,というジレンマの最初の例だったのかも知れません.
認知革命で得た,抽象できな思考から貨幣という考え方を生み出し,リンゴ農家が海産物を買えるようにした,という経済としてのイノベーションもやはり,富の偏在という「不幸」を生み出しているわけです.因みに,私は共産主義者ではないです(笑).

科学革命

エネルギーという考え方・技術を生み出したことが,この革命の原動力というのは,慧眼だと思った.
正確にはエネルギー変換.変換効率も同様にどんどん効率になり,過去に何度も化石燃料が枯渇するという危機説が流布しているが,その度に効率の向上で,その危機を乗り切ってきた.これは多分今後も正しくて,きっとエネルギー枯渇という理由でサピエンスが絶滅することは多分ないんだろうなぁと想像する.
地球環境が危機であるという話や,AIが仕事を奪い人類が絶滅というシナリオも最近良く目に・耳にするが,これもないのではと思う.マルサスの人口爆発も起こらなかったし,地球温暖化で南極の氷が溶けるから海水面が上がるとか非論理的なことで滅亡することはないと思う.

この本を読んだ時には,あまり考えていなかったんですが,こういう風に歴史を振り返ってみると,人間はすでにシンギュラリティを経験しているのでは?と思う.過去には自分の体に蓄えられたエネルギー分でしか,移動したり思考したりすることが出来なかったが,すでに「人間の物理的な身体能力」を超えて,飛行機・車で移動して,スマホという一昔まえのスーパーコンピュータをポケットに入れて,高速大容量なネットワークを経由してクラウド・知識・人と繋がりあっている.

ということで,特段AIの技術がどうこういう以前に,もうシンギュラリティを迎えているのだから,これが要因で滅亡というシナリオもほぼないんだろう.AIは現時点では統計数学ソフトが高機能・高速になっていて,ヒュマんインタフェースがAR/VRとエレガントになってきているので,見た目破壊的イノベーションに見えるかも知れないが,これが現時点シンギュラリティになることは多分ないんだろうなぁ.
というのが僕の意見でした.

人類が滅亡するとしたら,「イノベーションが人を不幸にする」というジレンマを克服出来なかった時なのではないでしょうか?

イノベーションによって,(満足の行くレベルではないにしても)世界の貧富の差は確実に小さくなっています.新興国といわれた中国やアフリカ諸国,インド,中東等,昔は途上国と言っていた国々は確実に豊かになっていますが,すでに先進国だったヨーロッパの国々では人口減少・少子化・自殺(戦争で死ぬ人より自殺で死ぬ人が多い時代)が問題になってきています.ある意味新興国はヨーロッパ的な思考やシステム,ゲームの枠組みのなかで豊かになっているわけですから,人口減少・少子化・自殺という不幸にはきっと直面することになるように想像します.

「農業革命」というイノベーションから続く,このジレンマはどうやって克服できるのでしょう?