Archive for the ‘PC・技術’ Category

GPM(Google Play Music)が思ったより使える。基本機能はもちろん、"I'm Feeling Lucky"ラジオ(何か分からないが、その人の好きそうな曲を掛ける?)もいいことが分かった。数日前、聴きたい曲もラジオも思い浮かばなかったので試してみた。最初の頃に試した時は、予想通り、クラシック音楽が楽章ごとに混ざっていたので、「邪道だ!」と思って使っていなかったのだが、その時は考えるのが面倒だったし、「一楽章だけでも、新しい曲や演奏を試すのもいいか」という気分になったのだ。

実際に聴いてみると、確かに全曲でないのは嫌だが、それぞれの作曲家や演奏者の特徴が分かる場合があって、意外に良かった。まあ、好きでない作曲家に関しては、今までのイメージが覆ることはほとんどない(例: パガニーニは時代がかった感じ、ベルリオーズは苦手、プロコフィエフはやっぱり変、ワーグナーはダサい)のだが、たまに、今まではほとんど聴かずに敬遠していたけど、実は結構いけると思う人(曲)があった。以下に例を挙げる。

  • フォーレ バイオリンソナタ 第1番 (第4楽章): 結構いい。
  • フォーレ 「夢のあとで」: 綺麗でいいかも。
  • ハイドン ピアノソナタ 第37番 作品30-3 (楽章不明): モーツァルトに通じるものがあって、馴染める。
  • ハイドン ピアノソナタ 第43番 作品41-4 (楽章不明): 聴き応えがある。

上を見ると、新たにフォーレやハイドンを試すのも良さそうだ。が、やっぱり、何となく面倒ではあるw それにしても、フォーレはどこから出てきたのか??

また、演奏者についても、いくつか再発見あるいは印象の変化があった。

  • ソコロフ: シューベルト 「3つのピアノ曲」 (第3曲)では、キレやパワーや広がりがあっていい感じだったが、別の曲(ゴルトベルク(ライブ))では、アクが強過ぎるのか、なんか疲れて飽きた。
  • キーシン: 基本的に遅すぎるイメージがあるのだが、「展覧会の絵」 (「バーバ・ヤーガ」)は結構良かった。

掛ける曲は、今までに「いいね!」(Thumbs up)したものやライブラリに保存(「お気に入り」のようなもの)したものや再生回数が多いものの傾向(作曲家、演奏者)から判定しているようだ。更に、どういう条件なのかは不明だが、クラシックだけでなく、ポップ音楽も掛かる(しかも、クラシックとポップ音楽が混ざらないのがありがたい。ラジオの再生を開始した時点で、どちらになるかが決まるようだ。)ので、なかなかおもしろい。

GPMには数千万曲もあるから、聴きたい曲・演奏が決まらない時や、知っている曲・演奏に飽きた時には丁度良さそうだ。旅行に例えれば、基本的には自分で全部決めて運転するドライブがいいが、たまには、行き先不明で、何も考えずにただ座っていれば(寝ていても)、「どこか」に行ける、ミステリー・バス・ツアーもおもしろいようなものだ。

PS. こういうところは、GoogleはSpotifyよりはるかにまともだと感じる。Googleは、昔(検索で始めた時)から、こういう機能をことさら宣伝せずに、淡々と(ある意味余興なのかも知れない)作って出すが、決して押し付けない。その点は当時から評価していた。ただ、「もう(飽きたから?)止めるので、別のを使ってね」が多いのは困るがw

一方でSpotifyは、全然使ってないのに勝手に「あなたのためのプレイリストを作りました!」などというお節介なメールを(解除しているのを無視して)押し売りのように送りつけてくる(しかも、最初の頃に見たら、そのリストの中身は全く的外れだった)。文化・センスの違いが大き過ぎる。例えれば、GoogleはUnix系、SpotifyはMicrosoft系だ。

  •   1
  •   0

術後から退院までの話の最後は、余った細々としたことを書く。なお、入院中にGPMで見つけた好みの演奏者については、別途書きたい。

リハビリ

医学の常識が変わったのか、今は、手術の翌日から積極的に身体を動かすように指示される。そうすることで、傷の治りが早くなるそうだ。

僕の居た病棟では、その階を歩いて周回することになっていた。術後しばらくは点滴が付いたままなので、キャスターがキーキーいう点滴の台を引きながら高速に周回する人が多かったから、なかなか賑やかだった(というか、うるさく感じることもあった)。

僕も点滴が外れるまではそうしていたのだが、一周30秒程度なので、飽きるうえに全く物足りなかった。それで、点滴が外れた後は、階段で一階まで降り、外来や受付の辺りまで徘徊していた。そして、途中の売店でお菓子や飲み物(例: チョコやコーヒーやポテトチップ)を買うのが楽しみだった。もちろん、戻る時は階段を昇った。その際、転倒・転落して本末転倒にならないように、細心の注意を払ったw

余談: 小学生の頃、虫垂炎で入院した時も、術後数日したら暇を持て余していたので、院内を徘徊していた。ただ、地下の階に行ったら、霊安室のような部屋があって、(ほとんど予備知識がないのに)ただならぬ雰囲気を感じたのを覚えている。だから、今回はそのような領域に近寄らないように、結構注意していた。

看護師さん

いつも忙しそうにされていて実際そうだし、ミスは許されないし、夜勤もあって体力的にも過酷だから、とても僕などにはできないと思う。そして、彼女/彼らの置かれた微妙な立場に少し考えるものがある。

日本だけなのかも知れないが、彼女たちは、(仮に自分が正しくたって)医師の指示には逆らえないし、患者にも厳しくできないし、事務の人からもいろいろ指示されるだろうから、いろいろなものの板挟みになって、辛いものがあるだろう。

更に、法的に医師の指示がないと何もできないから、能動的に仕事ができないのも辛そうだ。確かに、学校では医師ほど詳しい知識は学んでいないだろうが、中には独学や経験で詳しくなった人も居るだろう。そういう人には、「しょうもない医師」の誤りを(言われるままにする方向もあるだろうけど、)どうやって角を立てずに修正するかの技術も要りそうで、やっぱり大変だと思う。個人的には、看護師が医師と議論できない(これは僕の想像)世界は無理があると思うし、良い方向には進まないと思う。

苔むした車

リハビリ兼徘徊の時、ちょっと外(病院の玄関の前)にも出たのだが、駐車場の一台の車に目をひかれた。びっしりではないが苔が生えていて、部分的に薄茶や緑色になっていた。その持ち主は一体どうしたのだろうか? 長く入院しているのか、この世にいないのか、ちょっと気になった。廃車するのが面倒で放置した可能性もあるが、ナンバーが付いていたから、それはないだろう。

あるといい物

大抵の物は旅行の要領で準備すればいいし、必要なものは入院の手引きに書いてあるのだが、事前には気付かないものもあった。以下にそんな物を列挙する。

  • 針金のハンガー: 床頭台の後ろの方に服を吊るして入れられる場所があるのだが、横棒だけでハンガー自体はなかったため、母に持って来てもらった。
  • 縦長のコップ: 普通のコップである。最初は、幅広の浅い物を持っていたのだが、それだと箸や歯ブラシを洗った後に立てておけないので、普通の深い物の方が便利だ。
  • ペーパータオル: なくてもいいが、食後に箸などの食器を洗った後、これで拭くと乾きやすい。
  • バスタオル: 通常のシャワー用以外に、手術後に身体をベッド間で移動させたり(看護師さんが引っ張る)、術後は血が出る可能性があるので、シーツを汚さないように身体の下に敷くのに使った。病院に依るだろうが、前のところでも要ったので、ほぼ共通のようだ(本来、入院の手引きなどに書かれるべきなのだが、なぜか書いてなかった)。
  • ストロー: 腰に麻酔をしたため、手術直後は頭や上半身を起こさないように指示される(頭痛の原因になるため)。が、水分を飲むことは可能なので、寝たまま飲むための道具が必要になった。何を使っても難しいのだが、ストローをペットボトルに挿して飲んだ。個人的には、飲むくらいの短時間なら起こしても問題ないと思うし、持ち上げないように注意していても軽い頭痛になったから、余り重要ではないように思う。

また、ウェットティシュー(除菌タイプ)があると、術後動けない時には、食前・食後に手や箸などを拭くなどに便利だ。今回はすぐに動けたので、余り使わなかった。ちなみに、これでスマフォの画面を拭いたら、ピカピカになった(ただし、材質によっては、曇ったりコーティングが取れたりすることがあるので注意)。

他には、スマフォの予備の充電ケーブルとACアダプタを持って行った。ケーブルやアダプタが壊れてスマフォが使えなくなったら、万事休すの時代なので。同様に、災害時に要りそうだったので、モバイルバッテリーも持って行った。また、電気カミソリのアダプタも持って行った方が安心だ。

なお、電熱器具の持ち込みが禁止されていたので、ドライヤーは持って行かなかった。そうでなくても、物を減らすために持って行かないつもりだった。実際には、洗面室に共用のがあったし、そもそも、手術の前の日しかシャワーの案内がなく、他の日は蒸しタオルで身体を拭くだけだったので、持って行っても無駄だった。

体重の変化

退院後は、入院前に比べて約1kg減った。食事のカロリーが最適だったからか、疲れたのか、両方かは分からないが、それほどお腹が空かなかったので、味はともかくとして、病院の食事は良く考えられているのだろう。なお、体脂肪率はほとんど同じだった。

GPMのデータ使用量

5日間(実質4日間)で約2.2GBを使用したので、1日辺り約550MBだった。繰り越しのおかげで使用可能データ量はまだ余っていたし、低速モードも使えることが分かったから、聴こうと思えばもっと聴けたのだが、ヘッドフォンは耳が疲れるので、これ以上は体力的に無理な感じだ。あと、ヘッドフォンは横臥して聴けないのが不便だった(これはイヤフォンでも同様)。

やっぱりSpotifyはクソ!

前にも書いたように、Spotifyの通知メールを全部offにしたにも関わらず、なおも「あなたのためのプレイリストがあります」のような余計なメールが来てムカついたので、入院中ではあったが、退会した。あそこは、そのうちシステム的に破綻すると希望予想している。

  •   0
  •   0

明日手術のため、昼から入院。設備の都合で、着いてすぐに剃毛・入浴することになり、なかなか忙しかった。

一番の心配ごとだった剃毛は必要な部分だけで済み、気まずいところは除外されたので、すごくほっとしたw でも、術後に管を入れるので、実はぬか喜びだ(爆)

担当の看護師さんは若くて明るくて親切な感じなので良かった。ただ、老眼の話をしたら、お父さんと同い年であることが分かり、複雑(微妙)な心境になったw でも、話が弾んで楽しいし、気も紛れるからいい。

TVは観ないと言ったら、「ラジオと本のイメージです」と言われた。音楽が好き(雑談でなく、仕事での質問)と言ったら、「クラシックですか?」、「すごいですねー」とか言われたので、インテリに見られている?w

なぜか血圧が異常に高かった(上が160くらい)。緊張したのかも知れない。血圧の関係か、眼の焦点が合いにくく、頭もぼーっとしていた。

あとは暇だったので、GPMで音楽を聴いたりしていた。すごく便利だ。が、電池が高速に減り、データ量も高速に増える(推定1GB/日)。データ量がカウントされない低速モード(200kbps)を試したのだが、音切れして駄目だった。曲のビットレートが192kbpsだとすれば、ぎりぎりで無理だし、電波が弱いせいもありそうだが、なんとも惜しい。もっと低ビットレート(例: 96kbps)のモードが欲しい。

→ どうやら、GPMの「再生中にキャッシュ」をoffにすると、低速モードでも行ける感じだ。再生とキャッシュを同時にすると帯域が不足するが、片方なら足りるのかも知れない。(22:31)

→ やはり、低速モードではたまに切れる。ただ、大抵は問題ないので、(あとでビデオを観るなどの予定がないなら、)低速モードは「最後の手段」にして、データ量制限になるまでは高速モードで聴くのがいいようだ。(10/20 19:22)

なお、(4Gの)電波が弱いからといって3Gにしてしまうと、電波は強くなるのだが、全然駄目になってしまった。これは腑に落ちない。ただ、調べると、3Gにするのは得策ではないようだ。(22:49)

あと、ヘッドフォンはやっぱり疲れるから、長くは聴きたくない。でも、イヤホンよりはましだから、まあ、仕方ない。

それにしても、グールドのゴルトベルク(1981)はやっぱり最高だった。乗れる!

他に、Klara Wurtzいう人のモーツァルトのピアノソナタ(第9番) (年は不明)は悪くなかった。安心して聴けるし、乗れた。

残念なこともいくつかある。ご飯はお世辞にも美味しいとは言えない(これに関しては、札幌の病院が最高だった)。他に、田舎らしく、公共心の欠けた人が結構居る。大声でしゃべるババア(患者、面会の人)、ベッドで電話するジジイ、TVをイヤホン(使う規則になっている)を使わずに観るジジイ・・・ みんな、「自分だけなら(誤差の範囲で)大丈夫」とか思っているのか? スタッフがそれを注意しない雰囲気なのも田舎のせい? まあ、そのおかげで、僕もスマフォを自由に使えるのだが。

まあ、長く居る訳ではない(居たくない)から、いいか。

  •   0
  •   1

使わないから、メールでの通知なんて全部解除しているのに、何度も「とっておきのプレイリスト」云々のメールが送られてくる。来るたびに「解除」をクリックしても効き目がないので、今日は、それをジャンク扱いにし、プッシュ通知(こっちは来たことがない)も全部解除した。もし次に来たら退会しよう。システムすらまともに作れない、So-potty-fy(の有料サービス)なんかに入らなくて良かった!

 

PS. さらにイラつくのは、pClouldというクラウドバックアップのソフトを試しに入れたら、時々(忘れた頃に)、「Spotifyの曲をプレゼント」云々の広告のポップアップが出ることだ。pClouldのソフトをアンインストールしても出るので、かなり質が悪い。一体、どっちが悪いのだろうか。次に出たら、Spotifyもアンインストールしよう。

pClouldとSpotifyの件で更にイラつくのは、そのポップアップが出ると目障りなので、反射的に即座に閉じてしまうので、何が原因か調べられていないことだw

(10/14 10:20 Spotifyは無関係だったので、関連する記述を修正し、題を変更: 下記参照)

PS2. pClouldの件、ジャンクメールを見たら、どうもSpotifyは関係ないようで、「クラウドから直接音楽を再生できます」とかいう、陳腐なものだった。件名が"Save great music and listen to it on the spot"で、"Save great music"と最後の"spot"で早合点したようだ。(10/14 10:20)

  •   0
  •   0

GPMDPとGMBの連携動作も大分煮詰まって来て、近頃は不具合修正ばかりである。聴いていると不意におかしな動作になるので、なかなか安心できない。それでも、今朝ちょっと思い付いて機能を追加できたので、忘れる前に自慢するために書く。

常々、GPMの表示を英語と日本語で簡単に切り替えたかったのだが、それができた。JavaScriptでGPMのページ(HTML)を書き換えて、ウインドウの右上に言語切り替えのリンクを追加した。GPMDPの起動直後に、HTMLからidが"material-one-right"という要素(右上のボタン類を格納している場所)を探し、その領域(innerHTML)の一番左(手前)に、日本語または英語のページに行くためのリンク(アンカー)を入れるようにしただけだ。

「だけ」とは言え、やっぱりHTMLだのJavaScriptは苦手(まじめに覚える気がないw)なので、それなりに苦労した。最初は、リンクを左上のGPMロゴの右に置いたのだが、なかなか縦の配置(上下の中央に置きたかった)がうまく行かなかった。力技(文字の上に、高さを低くした改行を入れた)で配置したのだが、狭くて矢印が入らないので、右に移した。

力技は好きじゃないが、実際には良くやる。それにしても、ページにリンクを突っ込むことに比べれば、テキストの縦配置を適当に調整するなんて、「赤ん坊のように」可愛いものだ。そして、JavaScriptでブラウザ中のHTMLを書き換えるなんて、全くの掟破り、チートだと思う。が、それがごく普通にまかり通っているのだから、世の中は不思議だ。

動的なページを作るなら、僕だったら、絶対にサーバ側で生成したいのだが、クライアント側でやりたい人は多いようだ。それでしかできないことは多いが、やる前に良く考えた方がいいと思う。こんな機能があるために、さまざまなセキュリティ上の問題が起こっているのではないだろうか?

例えば、ブラウザを乗っ取られたら、上に書いたような手法でショップや銀行のページを自由に(でも、見ても分からないように)書き換えられて、全く気付かないうちに注文されたり、他人に送金されたりするのだろう。。。

まあ、細かい話はおいといて、やっぱり歌謡曲は日本語表示がいいねw

  •   0
  •   0

プログラムの「詰め」というのは、とにかく手間と時間が掛かる。大体、中心となる部分を作るのの10倍以上の時間が掛かるのではないだろうか。プログラムを使い物にするにはどうしても必要な作業のだが、退屈だし疲れるので、余り好きではない。それでも、なかなかうまく行かなかったことを打開するような、ちょっとしたアイデアがひらめくことがあって、それが本当にうまく行った時は楽しい。だから、いじりだすとなかなか止められない。仕事と違って、納期も予算もないのが困るw

一方、世の中には、すごいアイデアを思い付いたら、素早く目を引くデモ的な物(ポップ音楽だったら、サビとかデモ版)を作って、有名になったりお金をせしめたりしたら手放して(どこかに売って)、トンズラする(あるいは、別の物を作り出す)、スマートな人が結構居るようだが、無責任で嫌いだ。確かに、いいアイデアを出せるのはすごいと思うが、「最初にちょろっと書くのは誰だって楽しいんだよ!」とか「もう少し面倒見ろよ」と言いたくなる。

という訳で、日々続けているGPMDP (Google Play Music Desktop Player)の改良(もはや改造と言った方がいいだろう)は大分いい感じになってきた。まだ詰め切れていない点や不具合や抜本的な改良案もあるのだが、おおよそ7.5割くらいの出来になって、普通に(これには「変わったことはしてはいけない」という意味もあるw)音楽を聴けるレベルになった。具体的には、GMBだけで聴いている時と使い勝手での違和感がほとんどなくなった。例えば、GMBのリモコンで操作できるので本当に便利だ。実際に、昨夜からは、(実装・修正するだけじゃなくて)GPMの曲を聴くのに使っている。

問題だったユースケース(GPMDPをどういうふうにGMBと統合・機能分担して使うか)も、作業しているうちに大分詰められた。基本的には、GPMDPは曲の検索に使い、GPMDPの再生ボタンを押したら、実際の再生や再生の操作はGMBで行おうと思っている。まだ完全にシームレスになったとは言えないが、なかなかうまく統合できたと思う。

今週はさまざまな改良や修正をしたのだが、主にGPMDPとGMB (gmusicbrowser)との連携動作(例: 曲の追加や変更の同期)に関するものなので、見た目では、先週と比べて目立った違いは余りない。大きな違いは、(実際に曲を再生している)GMBで次の曲に移ったことがGPMDPにも伝わって、曲情報やジャケット画像が更新されることだ。以下にデモ動画を置くので、興味のある方はご覧頂きたい。

画面左半分はGMBの、右半分はGPMDPのウインドウである。GMBで再生中の曲が次に変わると、少ししてから(その次の曲の取得と処理の時間: これは如何ともし難い)GMBにその次の曲が追加され(画面左下、5曲目)、GPMDPの曲情報やジャケット画像(画面右中央)が更新される。

下の動画は、力技でやっているうえに、まだバグがあって、(いつ何が起こるか分からず、)ドキドキする機能なのだが、GMB(画面左下)でリスト中の前の曲をダブルクリックして移動した場合でも、GPMDP(画面右中央)も戻るようになっている(戻るのが遅いのは愛嬌w)。もちろん、取得されている範囲で、先の曲に進むこともできる。

リストの最後(7曲目)に2曲目の曲が追加されるのはバグである。難しい。。。

冷静に考えれば、再生中の曲のGPMDPへの同期なんて、音楽を聴くには不要な機能で、本当に飾りなのだが、「おもしろそうで、不可能でないならやってみたい」という、技術者の無駄なこだわりがあって実装したw

(10/1 6:38 わずかに修正)

 

PS. プレーヤーにGMBを使ったのは正解だった。最初は単純な再生だけを考えていたので、alsaplayerなどの軽いものにしようかと思っていたのだが、機能的に不十分な点があったので、最初からGMBで試した。また、GMBはコマンドラインにPerlのプログラムを指定して実行できるという、夢(麻薬)のような機能があり、それでGMBの内部データにアクセスできるので、かなり役に立っている。もう開発は停まっているようだが、セキュリティホールになるので、公開版に入れ続けるのは難しいかも知れない。

PS2. かなりハードルが高いのだが、将来的には、GPMDPじゃなくて、ブラウザのGPMのページから直接GMBと連携できないかと思っている。GPMDPが必要なのではなく、GPMのページ内の要素にアクセスするために使っているだけなので、ブラウザのアドオンか何かでできるのではないだろうか。

同時に、可能な限り機能を外部に出して、JavaScriptの部分を減らして開発効率を向上させ、GPMのページ構成になるべく依存しないようにもしたい。

とは言え、本当にやりたいのは音楽を聴くことなので、苦労してそこまでやることもないかとも思っている。

(10/1 17:44追記) と書きつつも、(だるくてドライブを止めたため、)暇だったので、ちょっとだけ試してみた。一番最初に気になった、GPMのページ中の再生ボタンを押したらGMBに曲を送れるようにする時に必要な、ボタンのイベントハンドラを変更できるかを試した。

最初は、安直に、ローカルのHTMLでiframeでGPMのトップページを読み込んで、JavaScriptで書き換えればできるだろうと思ったのだが、駄目だった。それから、いくつかのライブラリやAJAXやjQueryまで試したが、駄目だった。

どうも、セキュリティ上の制限のようで、ローカルのファイルからGPMのサイトを呼び出すのが駄目なようだ(おそらく、元がローカルファイルじゃなくても、サイトをまたがるようなことが駄目なのだろう)。それを回避したかったのだが、できなかった。この制限は「同一生成元ポリシー」というものらしく、かなり昔からあるようだ。

それで、一旦、ローカルのHTMLを使うのは諦めて、(GPMDPを改造して使う前提で、)GPMのページ中の再生ボタンのイベントハンドラを変更できるかを試した。JavaScriptには疎いので、それすらも苦労したが、できた。getElementById()で再生ボタンの要素を探して、onclickメンバにハンドラを設定すれば良い。以下のようにすると、GPMの再生ボタンを押すと関数click_func()が呼ばれる。

var elem= document.getElementById("buttonContent");
elem.onclick= click_func;

function click_func() {...}

onclick(onClick)は属性ではないとのことで、setAttribute()で設定しても呼ばれないことに気付かず、苦労した。あと、ボタンの本来のハンドラが依然として有効(どうやっているのか不明)なのがちょっと気に入らないが、まあ、細かいことだ。

(10/2 7:08追記) その後、GPMの再生につながるボタンは山ほどあるので、それらを全部書き換えるのは現実的でないことに気付いた。それらの呼び先を修正するのも困難なので、やっぱり、低レベルなところはGPMDP(実際には、その下位のライブラリ)に依存するのがよさそうだ・・・

  •   0
  •   1

半年くらい前から、LinuxでのテキストエディタにはAtomを使っていたのだが、全然良くないことに気付いた。僕の使い方(変なプラグインを入れたせい?)が悪いのか、頻繁に遅くなる。開いているファイルが多いと、ひどい時には数分間固まるし、そうでなくても、文字を打ち込むだけでも遅いから、GPMDBの改良作業の足かせとなって、大変イライラしていた。更に、それ以外に、山ほどプラグインを入れないと普通のエディタのようには使えない(まだ普通のに劣ることがある)など、基本的な機能が劣っている。

それで、前に使っていたjEditに戻ろうかとも思ったのだが、日本語のインライン入力ができないので(いろいろやればできるとは読んだが、面倒なのでしない)却下し、いろいろ試した結果、Kateにすることにした。忘れていたのだが、インストール済みだった。

が、KateでなくjEditにした時の記事を読んだら、Kateは「ハングした」とか書いてあったので、やっぱりjEditに戻ろうと思う。ありがたい、これも消していなかったので残っていた。今度は日本語のインライン入力の設定をしてみようか。

  •   0
  •   0

先日はユジャ・ワンに感心したので、今日の昼は彼女と同じ国のラン・ラン(Lang Lang)のモーツァルト ピアノ協奏曲 第24番 (2014)を聴いてみた。

イントロのオケ(指揮: アーノンクール、ウィーンフィル: ジャケットにはそのように書いてあるが、オケについては別の情報もあった)がすごく良かった。

ピアノも、意外に繊細で良かった。「意外」というのは、先入観があったということだ。何かがわずかに足りない気はするが、レベルは高い。すごく乗れて、「普通にいい」。ただ、それはオケが良過ぎたからかも知れない。

カデンツァはちょっと良くなかった。そして、段々、ピアノが、どことなく説明的な気がして来た。そのためか、滑らかさが少し不足している印象を受けた。

昼休みに聴き終わらなかったので、帰宅してから残りの第3楽章を聴いた。残念なのは、ここに来て、オケがわざとらしくなってしまったことだ。。。

この曲の後で、ラフマニノフのピアノ協奏曲 第2番 (2005)を聴いた。イントロはすごく遅かった。オケ(指揮: ゲルギエフ)は良かったが、ピアノは、やっぱり説明的だった気がする。決して悪くはないのだが・・・

そして、第3楽章の頭は、特に説明的で興ざめだった。だから、最終的には、僕には彼はユジャ・ワンよりは良くない印象だ。

それから、同じアルバムの「パガニーニ狂詩曲」を聴いた。この曲は余り好きでないから聞き流したので、特に書くことはない。

ただ、GPMDPからGMBに曲を渡す処理の実用性が確認できた(正確には、そのためにこの曲を掛けた)。今朝、先日見つかった、曲が勝手に次々とGMBに追加される問題を修正し、当初の想定どおり、再生中の曲の次の1曲だけが追加されるようにした。一方、この曲はそれぞれの長さが短い(数秒の曲もある)ので、処理が遅いと、次の曲の開始に間に合わない可能性があるので、ちょっと冷や冷やしなから聴いたのだが、ほとんど問題なかった。1-2曲、頭の音量が小さく、間に合わなかったかなというのがあった程度だ。ただ、問題が起こるとすれば曲間の長さで、音量は関係ないはずなので、マスタリングの問題だったのかも知れない。

ところで、上に書いた、「説明的」という言葉は、聴きながらふと頭に浮かんだので使ったのだが、自分でも何を指すのか分からない。さっき聴きながら考えたら、くどいとか、わざとらしいとか、その結果、滑らかさに欠けているということなのかも知れない。

こういう表現は、オーディオマニアの「アーティストの息遣いが聞こえる」のようなのに似ているが、そっちほどは眉唾でない気がする。というのは、こっちは感じたままを(伝わるかどうかは別として)文字に変換して書いているのだが、向こうは、聞こえるはずのない音が聞こえたと思い込んで(そうしないと、立つ瀬がないので)書いているのだから。でも、やっぱり同じこと??w

ラン(名字はこれで正しいのか? なんかおかしい感じだ)は前の会社に居た中国の人に似ている。顔はもちろん、若いし、本人に会ったことなどないが、性格がすごく明るそうで、その点でも似てそうだ。

 

PS. ラン・ランの名前から、「留園行って幸せ食べよ」のCMを思い出した。ここの読者の方にはお馴染みとは思うが、今の若い人たちに言っても、きっと「なにそれ??」状態であろう。このお店は、今もやっているようだ。

店の名前は「龍園」だと思ったのだが、検索したら違っていた。この字は留年を連想させるのでw、イマイチの印象だ。おどろくべきことに、リンリン・ランランのアルバムがGPMにあった。もちろん聴かない。でも、中に「恋のパッコンNo.1」とかいう妙な題の歌があって、ちょっと聴きたくなった。何がパッコンなのか?w

  •   0
  •   0

GPMDPの改良。音量の正規化の改良について考えていたら、確か、以下のようなことだったと思うが、GPMDPでなく、外部プレーヤーで再生した方がいいのではないかということになった。

  • GPMDPの構造上避けられない、曲の開始と同時に一時停止しても先頭が一瞬再生されることがある問題は、外部プレーヤーを使わないと解決できない。
  • 再生ゲインの計算のために曲のファイルをキャッシュしているのだから、そのファイルをVLCやgmusicbrowser (GMB)などの外部のプレーヤーで再生することができる。
  • 再生ゲイン対応のプレーヤーなら、音量(ボリューム)の設定やファイルにを再生ゲインを乗算しなくても、再生ゲインタグに設定するだけで、プレーヤーによって反映されるのも良さそう。
  • GPMDPは使い勝手がいいとは言えないし、リモコンを2個にしたり、2つのプレーヤー間の切り替えもしたくないので、操作性を改善する点でもGMBで再生したい。

いずれにしても、昨夜までに構想が練り上がった気がしたし、基本的なところは容易にできそうだったので、今朝、GPMの曲をGPMDPでなく外部プレーヤーで再生できるようにしようとする作業を初めてしまった。そして、確かに、再生できるようにすること自体は簡単だった。14時前には、GMBで再生できるようになった。

GPMの曲をGMBで再生

図の左上はGMBのミニプレーヤーで、右はGPMDPのウインドウである。GPMDPが再生しているように見えるGPMの曲は、実際にはGMBで再生されている。その証拠に、双方で同じ曲・アルバムになっているし、僕はこのアルバムは持っていないし、GPMDPの再生時間は0だが、GPMは0ではない。

が、やっぱり難航し、この時間になっても終わっていない。残っている難しいことは、以下である。

  • 次に再生する曲を途切れないようにGMBに送り続ける(今は、最初の1曲の再生が終わったら停まってしまう)。また、ギャップレス再生のためには、再生中の曲が終わる前に送る必要がある。
  • GMBとGPMDPの連携 (例: GMBの再生が終わったことを検出して、次の曲を再生開始する)
  • GMBとGPMDPの操作の統合 (例:GPMDPで一時停止したら、GMBを一時停止させる)。GMBに統一すればいいのだが、曲の検索など、どうしてもGPMDPでしかできないことがある。まだ、ユースケースの検討が充分でないので、方針が固まっていないせいもある。

でも、今日のところは、目論見どおりGMBで再生できたので、良しとする。

(気が向いたら、詳細を追記します。)

(9/24 21:35追記) どうにかこうにか、次に再生する曲をGMBに送り続けられるようになった。GMBも自分で作ったGPMDPの追加プログラムも、想定外の動きをしたりして、なかなか大変だった(おもしろかったけどw)。

GPMの次の曲を自動でGMBに追加

図の左はGMBのウインドウで、右はGPMDPのウインドウである。GPMDPのプレイリストの、現在再生中の次の曲がGMBに自動的に追加され、連続再生できるようになった。

余談: 上のジャケットの工藤静香、なんかお化けみたいだ。。。

動き出したばかりで、まだまだ荒削りで、さまざまな不具合はあるが、とりあえずは音楽が聴ける状態になったので、一段落だ。それに、(GMBの)リモコンで一時停止などの操作ができるのは、すごく便利だ。

不具合の例:

再生していると、再生中の次の曲以降も勝手にGMBに追加される。まあ、悪いことではないが、想定外の動作なので複雑な心境だ。そして、それに伴ってGPMDPの下部のプレーヤー部分は、まだ再生していない曲になってしまう。しかも、それは上側のキューの再生中(と思っている)曲とも違うのが解せない。

  • 再生中の曲: "Here comes the Sun"
  • GPMDPが再生中(と思っている)曲: "Let it be"(上部)、「二人静」(下部)

細かいことが多いので、先は長そうだw

PS. 今日からか、URLに"?hl=en"を付けても無視するようになったようで、日本語で表示されるようになってしまった。やっぱり、ネットサービスはvolatileだなあ。 ← URLの書き方を間違えていたようだったので、撤回する。 (9/25 20:26)

(9/25 22:56 わずかに修正、余談を追加)

  •   0
  •   1

その後、音量の正規化が不完全な感じだったので、興味もあって、試行錯誤していた。

前回書いた、ffmpegのloudnormフィルタも試してみた。最新のffmpegをインストールしたら使えるようになった。が、使ってみると、普通の曲の正規化に20秒以上も掛かるので、使うのは諦めた。また、1回で処理しているせいか、包絡線が微妙に変化(曲の始まりの頃に、なだらかに小さくなる)することがあった。確かに、本当に1回で正規化処理するなら、最大値なんて分からないから、そういうこともありそうだと思った。それでは、ちゃんと処理するとしたら、2回の処理が要り、全部で40秒以上も掛かるから、更に使い物にならない。まあ、あれは、ちゃんとした制作のような時に使うものなのだろう。

他のプログラムを探したのだが、なかなかいいものがなかった。ひとつ、ffmpeg-normalizeというのが高速で良かったのだが、曲によっては相性が悪くて結果が駄目だったり、処理できなかった(最大値が0dBを超えると言ってエラーになる)ので、却下した。

そうこうしているうちに、ちょっと思い付いた。前回採用した、RMSの最大値(長さは0.75秒にした)と正規化したい音量(例: -16dB)との差で音量を設定するのだ。ここでは、その差を擬似再生ゲインと呼ぶ。

擬似再生ゲイン(dB)= 正規化したい音量(dB) - 曲のRMSの最大値(dB)

理論的にはおかしいことだらけなのだが、聴いてみると今までで一番いい感じだった。例の、"Heartbeat city"さえも良かった。おかしいというのは、RMSの最大値は短時間の実効値の最大値なのに、それと全体的な平均値に相当する、正規化したい音量の差を使うことだ。どうしてかは分からないが、うまい具合に前者が後者に近くなるのかも知れない。

更に、音量の設定方法も変更した。今までは、GPMのwebの音量(スライダー)のスケールが直線(目盛りと音量が比例)であることを想定して設定値を計算していたが、そうでなく、対数であると想定して、上記の擬似再生ゲイン(dB)を適当にスケーリング(例: ×1.75)した値で音量を設定するのだ。具体的には、以下の式にした。

音量設定値(%)= k * 擬似再生ゲイン(dB) + 音量の基準値(%)

パラメタは、loudnormの結果と比べて調整した値を、聴きながら更に調整して、今は以下に設定している。

k= 1.75, 正規化したい音量= -12dB, 音量の基準値= 70%

これで、随分、曲ごとの音量差が解消したように感じる。音量の基準値が小さいせいか、全体的に音量が他のアプリより小さ目なのだが、これを大きくすると、曲の音量が小さい場合に充分な補正ができなくなる可能性があるので、増さないことにした。

 

PS. 再生ゲイン処理前の一時停止がうまくなくて一瞬音が出る問題も、対処方法を考えた。簡単に書くと、外部のプレーヤーを使うのだ。試したら書くことにする。

  •   0
  •   0