東京生まれHOUSE MUSIC育ち

悪そうな奴はだいたい友達なの?

wordpress時代の負債を返済する

https化に伴う混在コンテンツ対応作業で、wordpress時代の負債をよく目にするようになりました。

過去ドメインのリンク先が多い

昔使用していたwordpress時代のドメインが記事の中に出てくるのを発見しました。

以下のように画像のリンク先が、昔使用していたwordpress時代のblogURLになっているのです。

<a href="wordpress時代の過去ドメインリンク先><img はてなのドメイン></a>

気づいてはいたのですが、面倒なのでほとんど手をつけてなかったんです。ですが、混在コンテンツの対応でのノイズになりがちなので、なんとかしようと考えました。

正規表現で対応

手作業だとツライので機械的に対応するようにします。

ツール「ReplaceContentText」を使用して置換します。アンカータグは削除したいのですが、はてなドメインのイメージタグは残したいので、正規表現を使用して置換しました。

power shellにおけるエスケープはバックスラッシュ「`」というのがわからずに、悩みました。「$」の前にバックスラッシュを入れています。

また、表示している画像が過去ドメインとなっている場合もあるので、アンカータグで閉じる場所は最短マッチを使用しないようにしています。(テストして最短マッチじゃない方がうまくいくことがわかりました)

ReplaceContentText.exe --id padobure --blog-id <blogid> --api-key *** --regex --from "<a href.+「過去ドメイン」.+?>(.*?)<\/a>" --to "`$1"

さらに追加のオプションでwinmergeと連携して、事前に差分を確認することができます。差分が出るとwinmergeが起動して、確認した後にwinmergeを閉じないといけなくて面倒です。こういう記事が300件ありますので。

ですが、それでも事前確認できるのは有効だと感じます。

--diff-cmd "C:\Program Files\WinMerge\WinMergeU.exe"

参考

qiita.com

使用したツール

使用したツールは以下からダウンロードできます。

smdn.jp

正義の味方 DVD-BOX

正義の味方 DVD-BOX

このblogをhttps化する計画

いつかはやらなければと思っていたhttps化です。面倒だとは思っていたのですが、重い腰を上げて、手をつけました。

この記事はhttps化の計画とそのために検証した内容を書いています。

なぜhttps化するのか

健全で安全なwebが大事だという世の中の流れがでてきて、それが標準になった、というのが私の理解です。はてなブログでもhttpsに対応しました。

以下の記事が詳しいです。

employment.en-japan.com

でも、面倒

はてなブログで対応したといっても、実際にhttps化するのは面倒なのです。

https化するためにはクリック1つでいいのです。しかし、面倒なのは混在コンテンツの対応です。

https化したコンテンツのなかに、httpのコンテンツが混ざると、表示されなくなったりするというのです。

googleも以下のような記事を書いてます。

developers.google.com

混在コンテンツに対応するために

混在コンテンツに対応するため、テスト環境を用意してどのような対応が必要かを確認しながら進める計画としました。

以下、実施したことです。

テスト環境を用意

はてなブログは無料プランで3つまでブログを持てるので、そのうち1つをテスト環境として用意します。

そして、ブログの記事をエクスポートします。そして、エクスポートしたファイルをそのままテスト環境にインポートします。

気になったのは、エクスポートしたでデータはhtmlタグ付きということです。記事はmarkdownで書いているのですが、なぜかエクスポートしたデータはhtmlタグがついてるのです。そして、インポートすると、見たままモードでインポートされてしますのです。

それだと、ブラウザからの編集時に面倒だったので、インポートする前にエクスポートデータを変更しました。具体的には「CONVERT BREAKS: markdown」に変更てインポートしました。

混在コンテンツの確認

インポートしたら、混在コンテンツがあるかを確認します。

確認には、以下のツール類を活用しました。

smdn.jp

上記の説明にもあるのですが、以下のようにdry-runというオプションを使用すると、混在コンテンツの変更前、変更後を確認できます。

FixMixedContent.exe --id hatena --blog-id hatena.hatenablog.jp --api-key ****** --fix-mixed-content --dry-run

ただ、上記のコマンドのように「FixMixedContent」を使用すると、意図しない箇所も変更されてしまう可能性がありました。そのため、「ReplaceContentText」を使用して個別に置換しました。

置換したURL

個別に置換したURLは以下です。

自分のblog URL

自分のblogのURLをhttpからhttps に変更しました。

意外と自分のブログの中で参照リンクをしてましたので。

Amazonアフェリエイト

Amazonアフェリエイトで画像を使用しているのですが、そのURLがhttpのままだったので、変更しました。

http://ecx.images-amazon.com」を「https://images-fe.ssl-images-amazon.com」に変更

images-jp.amazon.comもimages-fe.ssl-images-amazon.comに変更しました。

Youtube

Youtubeは単純にhttpsに変更しました。

http://www.youtube.com/」を「https://www.youtube.com/」に変更。

まだ混在コンテンツがある。。。

試験環境で上記のようなことを試したのですが、混在コンテンツの残っている可能性のある記事は225件残っている状況です。

まだ200件以上の記事で混在コンテンツが残っているので、混在コンテンツをゼロにするように編集していく予定です。編集は手でやると漏れたり間違えたりするので、可能な限り機械的に編集していけるようにする予定です。

アフター6ジャンクション 2019年2月の繰り返し聴いてしまう回まとめ

なんといっても、2月7日(木)から2月11日(月)までインフルエンザで宇多丸師匠が休んだのが良いです。特にオープニングが必聴。2月7日(木)の時間を余らせてしまうたどたどしさや、それでも番組の危機に集まる人々のアベンジャーズ感が良かったです。2月8日(金)の山本アナウンサーのオープニング一人芝居も身の毛がよだつという意味でとても面白いです。

そして、2月14日の番組全体のバレンタイン・キッス。3時間通して、バレンタイン・キッスをフィーチャーする地獄の3時間は、自分自身を未踏の地に連れて行ってくれます。

また、2月11日のジャネット・ジャクソン特集。宇多丸さんがインフルエンザでしたが、高橋芳朗さんが助っ人に来ていて、西寺郷太さんがいつもの語り口で熱く語っていました。ジャネット・ジャクソンのライブを観てきたということもあって、高橋さんと西寺さんのトークがドライブしていました。

以下が2019年2月のアトロクの番組一覧です。

年月日 イベント名
2019/02/01 「ミスター・ガラス」評
2019/02/01 頭脳警察
2019/02/01 週間番組復習 byコンバットREC&妹尾匡夫
2019/02/04 吉田豪
2019/02/04 キイチビール&ザ・ホーリーティッツ
2019/02/04 「月」特集
2019/02/05 川端裕人(小説家・ノンフィクション作家/サイエンス本について)
2019/02/05 ポセイドン石川
2019/02/05 ツラ特集
2019/02/06 ジャンクハンター吉田(ロボコップ・コンベンション東京2019)
2019/02/06 Tweedees
2019/02/06 朗読を極める特集 ~アナウンサーvs朗読 part2~
2019/02/07 宇多丸インフルエンザ休
2019/02/07 松田泰明(EVO JAPAN運営)
2019/02/07 上野優華
2019/02/07 最高の男『ドルフ・ラングレン』について徹底討論
2019/02/08 宇多丸インフルエンザ休
2019/02/08 三宅隆太オススメ劇場未公開映画
2019/02/08 NEIGHBORS COMPLAIN
2019/02/08 週間番組復習by三宅隆太
2019/02/11 宇多丸インフルエンザ休
2019/02/11 加藤るみ(推薦映画)
2019/02/11 RAM RIDER
2019/02/11 西寺郷太presetsジャネットジャクソン特集
2019/02/12 中島愛(声優/歌手)
2019/02/12 杏沙子
2019/02/12 映画『ギルティ』公開記念!研ぎ澄まされた音と声の演出についてプロの意見に耳を傾けよう
2019/02/13 高橋久美子(作詞家/元チャットモンチー
2019/02/13 T字路s
2019/02/13 第61回グラミー賞をホカホカのうちに大総括!by高橋芳朗
2019/02/14 アトロク・バレンタインデー・フェス2019
2019/02/14 バレンタインソング考 by tofubeats & 畳野彩加(Homecomings)
2019/02/14 バレンタイン・キッス party by 下川みくに星野みちる西恵利香橋本愛奈酒井瞳河村唯
2019/02/14 バレンタイン・キッス カバー地獄(リスナー&DJ FANCY SHOPPER)
2019/02/15 「バーニング 劇場版」評
2019/02/15 さかいゆう
2019/02/15 週間番組復習byコンバットREC
2019/02/16 マッスルマニア2019in両国
2019/02/18 TAKAHIRO(ダンサー)
2019/02/18 tsukuyomi
2019/02/18 宇多丸よ! お前は昔から原田知世さまの凄さを何ひとつわかっていなかったよな特集 by 藤田飛鳥 a.k.a ドクタールーパー
2019/02/19 町山智浩
2019/02/19 Nakamura Emi
2019/02/19 サックスについて考える特集
2019/02/20 「ムーンライト」バリー・ジェンキンス監督インタビュー
2019/02/20 tofubeats
2019/02/20 アカデミー賞、発表直前!メラニーさんのオスカー予想SHOW
2019/02/21 加藤裕康(社会学者/音ゲー論)
2019/02/21 Rie fu
2019/02/21 かつて本屋を賑わせた隙間カルチャー「セーターブック」とは?
2019/02/22 ファースト・マン」評
2019/02/22 DJ yanatake with CREAM
2019/02/22 週間番組復習 byコンバットRECTBSラジオ以外でOA
2019/02/25 アカデミー賞・予想結果検証 byメラニーさん
2019/02/25 AAAMYYY
2019/02/25 町山智浩と振り返るアカデミー賞
2019/02/26 奥浩哉(漫画家)
2019/02/26 DJ HASEBE
2019/02/26 今が読みどき! 韓国文学をもっと楽しむには?
2019/02/27 森田秀一(BUBKA/アイドルソング時評)
2019/02/27 杉真理
2019/02/27 藤原ヒロシ presents 珠玉のMUSIC
2019/02/28 ヴィレヴァン下北沢コミック担当中澤さん(最新・男性コミック)
2019/02/28 JABBA DA FOOTBALL CLUB
2019/02/28 オレは名探偵コナン…と平成を考える、マジコナン特集 by さやわか

バレンタイン・キッス

バレンタイン・キッス

This Is America-Childish Gambinoのハウスミックスが良い!

2019年のグラミー賞で最優秀レコード賞と楽曲賞を受賞したChildish GambinoのThis Is Americaがハウスミックスでリリースされています。

購入できるのはtraxsource.comです。

往年のトライバル・トラックを使用しながら、原曲を良い感じにリミックスしています。「Todd Terry & Louie Vega & Kenny Dope」とクレジットがありますが、メインはTodd Terryなのかな?

Todd Terry & Louie Vega & Kenny Dope Remix

www.traxsource.com

This Is America [Explicit]

This Is America [Explicit]

  • アーティスト: チャイルディッシュ・ガンビーノ
  • 出版社/メーカー: Wolf+Rothstein/RCA Records
  • 発売日: 2018/05/06
  • メディア: MP3 ダウンロード
  • この商品を含むブログを見る

自分好みのつけ麺@渋谷 つけ麺大臣

今週のらーめんはここ。渋谷の新南口から歩いていける「つけ麺大臣」です。

tabelog.com

似たような名前のお店で「つけめん大王」というのもありますが、ここは「つけ麺大臣」です。

注文したのは、鶏白湯つけ麺の中盛り(300g)。

つけ汁はちょっと甘い魚介系で、自分好みの味でした。

映画「志乃ちゃんは自分の名前が言えない」は鼻水が良い!

観たいと思っていたものの、映画館では観れなかった「志乃ちゃんは自分の名前が言えない」をDVDで鑑賞しました。

nomusicnolife.hatenablog.com

TSUTAYAでレンタルしての鑑賞です。後で探してみたら、iTunesでもレンタルできるようです。

ストーリーは原作に忠実だったように思います。

その中で主人公である志乃を演じた南沙良さんが良かったです。吃音症の演技については、よくそこまで表現できたなと感じました。また、個人的に泣いている場面が良かったです。何回か泣く場面があるのですが、鼻水がスーッと出るのです。この鼻水がリアルな感じで、とても印象的でした。

参考

原作コミック

Sesssion22で特集した吃音症

www.tbsradio.jp

映画公式サイト

www.bitters.co.jp

Google Cloud Speech-to-Textを使用して文字起こしする方法

背景

ラジオ番組の文字起こしを自分でもやってみたくて、GoogleのCloud Speech-to-Textを使用して文字起こしを実施してみました。

音声を文字にするにあたり、ノウハウ的なものがたまってきたので以下にまとめます。

音声ファイルの用意

Cloud Speech-to-Textに適したフォーマットに変換

まずは音声ファイルの用意です。ラジオ番組は持ち運びしやすいようにaac形式で保存しています。これをCloud Speech-to-Text APIで認識できる音声ファイルに変換します。

自宅で24時間稼働している録画サーバを活用します。変換に使用するのはffmpegで、以下のコマンドを使用します。

文字起こししたい箇所だけ抜き出したいので、開始時間と終了時間を入れています。

/usr/local/ffmpeg_build/bin/ffmpeg -i /recorder/After6_2018-05-31-18_00.aac  -sample_fmt s16 -ss 00:44:00 -to 01:37:00 -ac 1 flac.flac

なお、用意する音声については、以下に詳しく書いてあります。

音声エンコードの概要  |  Cloud Speech-to-Text API  |  Google Cloud

ベスト プラクティス  |  Cloud Speech-to-Text API ドキュメント  |  Google Cloud

音声ファイルをcloud storageにアップロード

音声ファイルをgoogle cloud storageにアップロードします。

golangのアプリケーションを用意する

Google Cloudが提供するSDK Shellからコマンドを入力して文字変換するのもいいのですが、手間に感じます。

そこで、以下のアプリケーションを使用します。様々な言語で提供されていますが、私はgolangを使います。

golang-samples/speech/captionasync at master · GoogleCloudPlatform/golang-samples

サービスアカウントキーの登録

以下のようにサービスアカウントキーを作成して、ダウンロードします。サービスアカウントキーを作成は以下の手順が詳しいです。

www.magellanic-clouds.com

アプリの起動方法やその前準備はREADME.mdに書いてあります。

前準備としてサービスアカウントキーをexportコマンドで登録します。

exportコマンドをターミナルで打つだけだと、コマンドだけだとログインしている間だけ有効となります。なので、再ログインしてもサービスアカウントキーを使用できるように、「.bash_profile」にも書きます。以下のようにviを使用して編集します。

vi ~/.bash_profile

export GOOGLE_APPLICATION_CREDENTIALS=パスを追加します。

アプリの書き換え

アプリに音声ファイルの定義が書き込まれています。エンコード形式、サンプリングレート、テキスト化する言語をが埋め込まれているのです。なので、コードを書き換えます。

変更前

       Config: &speechpb.RecognitionConfig{
            Encoding:        speechpb.RecognitionConfig_LINEAR16,
            SampleRateHertz: 16000,
            LanguageCode:    "en-US",
        },

変更後

       Config: &speechpb.RecognitionConfig{
            Encoding:        speechpb.RecognitionConfig_FLAC,
            SampleRateHertz: 48000,
            LanguageCode:    "ja-JP",
        },

アプリの実行

以下のようにアプリケーションを実行します。成功すれば、テキスト化された文字列が返却されます。

録音している音声時間が長いと、応答に時間がかかります。60分の音声ファイルだと、約30分ぐらいプロンプトが戻ってきません。

go run captionasync.go gs://radiosound/flac.flac

上記のコマンドはgoogle cloud storageにアップロードしたファイルを指定しています。

ローカルファイルをテキスト化するような指定することも可能なようですが、ローカルファイルをアップロードしようとすると、以下のようにサイズが大きいというエラーになってしまいます。何らかの設定が不足しているとは思うのですが、その原因を深いせずにgoogle cloud storageのファイルを処理するようにしています。

# go run captionasync.go ./test.flac
rpc error: code = InvalidArgument desc = Request payload size exceeds the limit: 10485760 bytes.
exit status 1

読点の追加

以下のサービスを利用して読点を挿入します。

読点「、」挿入システム

句点が適当だと思う場合でも読点が挿入されますが、読点があるだけでだいぶ編集が楽になります。

校正

誤字脱字を修正したり、読みやすいように編集するという作業です。

上記まではある程度自動化できますが、ここからは人間の作業です。そして、この作業に時間がかかってしまいます。

調べてみると、CIツールで構成も自動化するというようなことができるようです。どこまで自動化できるかはもう少し追及したいところです。

Google Cloud Platform エンタープライズ設計ガイド

Google Cloud Platform エンタープライズ設計ガイド