<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MusicBrainz on 屑籠というかゴミ箱</title><link>https://blog.teandt.net/tags/musicbrainz/</link><description>Recent content in MusicBrainz on 屑籠というかゴミ箱</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><lastBuildDate>Sun, 03 Nov 2024 21:51:15 +0900</lastBuildDate><atom:link href="https://blog.teandt.net/tags/musicbrainz/index.xml" rel="self" type="application/rss+xml"/><item><title>MusicBrainzを活用しよう、そして登録しよう</title><link>https://blog.teandt.net/posts/2024/11/20241103-215115/</link><pubDate>Sun, 03 Nov 2024 21:51:15 +0900</pubDate><guid>https://blog.teandt.net/posts/2024/11/20241103-215115/</guid><description>&lt;h3 id="musicbrainzとは"&gt;MusicBrainzとは
&lt;/h3&gt;&lt;p&gt;MusicBrainzは音楽情報のWikipedia的なプロジェクト。&lt;/p&gt;
&lt;p&gt;日本語での情報がほとんどなく日本の音楽情報すら海外の人が登録しているケースが結構見られる状況なので、活用人口を増やしたい（あわよくば日本語の情報を増やしたい）ということで少し情報をまとめる。&lt;/p&gt;
&lt;p&gt;基本的な情報はWikipediaを参照してもらえば&lt;/p&gt;
&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fja.wikipedia.org%2Fwiki%2FMusicBrainz" title="MusicBrainz - Wikipedia" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"&gt;&lt;/iframe&gt;[ja.wikipedia.org](https://ja.wikipedia.org/wiki/MusicBrainz)
&lt;h3 id="musicbrainzの活用"&gt;MusicBrainzの活用
&lt;/h3&gt;&lt;p&gt;MusicBrainzで登録された情報は各種オーディオプレーヤーで使用できるが、一番の使い方としては公式で公開されてるタグエディタMusicBrainzPicardを使ったタグ情報の登録になる。きちんと登録されたCDであれば、音響指紋情報を参照して入力された情報をタグとして簡単に更新・反映できるようになっている。単にこれだけであればCDDBとの違いが分かりづらいが、DBにアルバムアートが登録されていたらアルバムアートも同時に埋め込むことができたりとメリットが多い。&lt;/p&gt;</description></item><item><title>VGMdbとMusicBrainzの連携</title><link>https://blog.teandt.net/posts/2022/10/20221022-200311/</link><pubDate>Sat, 22 Oct 2022 20:03:11 +0900</pubDate><guid>https://blog.teandt.net/posts/2022/10/20221022-200311/</guid><description>&lt;h3 id="vgmdbとmusicbrainzへの連携スクリプト"&gt;VGMdbとMusicBrainzへの連携スクリプト
&lt;/h3&gt;&lt;p&gt;MusicBrainz、手で入力するには結構大変なので他のデータソースからインポートを補助するユーザースクリプトが色々出ています。&lt;/p&gt;
&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwiki.musicbrainz.org%2FGuides%2FUserscripts" title="Guides/Userscripts - MusicBrainz Wiki" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"&gt;&lt;/iframe&gt;[wiki.musicbrainz.org](https://wiki.musicbrainz.org/Guides/Userscripts) 
&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fmurdos%2Fmusicbrainz-userscripts%2F" title="GitHub - murdos/musicbrainz-userscripts: Collection of userscripts for MusicBrainz, by various authors" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"&gt;&lt;/iframe&gt;[github.com](https://github.com/murdos/musicbrainz-userscripts/)
&lt;p&gt;その中で&lt;a class="link" href="https://vgmdb.net/" target="_blank" rel="noopener"
 &gt;VGMdb&lt;/a&gt;から情報を転載することが多かったのでImport VGMdb releases to MusicBrainzをこれまで利用していました。&lt;br&gt;
このスクリプトを利用すると、VGMdbのアルバムページの右上にMusicBrainzへのインポート用ボタンが出てきて、これを押すとVGMdbの登録内容がMusicBrainzの入力に反映された状態で登録を進めることができます。&lt;/p&gt;
&lt;p&gt;&lt;img class="gallery-image" data-flex-basis="753px" data-flex-grow="313" height="129" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.teandt.net/posts/2022/10/20221022-200311/image-001.png" width="405"&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Import VGMdb releases to MusicBrainzの表示&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;これを利用することでサウンドトラック等の曲数が多いCDのデータの転載を簡単にしていました。&lt;br&gt;
他にいいやり方あれば教えてほしいです…&lt;/p&gt;
&lt;h3 id="本題使えなくなった"&gt;本題：使えなくなった
&lt;/h3&gt;&lt;p&gt;このユーザースクリプトが2022/10/21時点で使用できなくなりました&lt;br&gt;
その数日前もボタンが表示されなくておかしいけどちょっとまってみるか、位の感じでしたが数日間表示されなくなったので調査を開始。&lt;/p&gt;
&lt;h3 id="原因vgmdbinfoのホストが落ちている"&gt;原因：VGMdb.infoのホストが落ちている？
&lt;/h3&gt;&lt;p&gt;スクリプトの動作を調べるために初めてwebのjavascriptの動作確認しましたがChromeのデベロッパーツール便利ですね&lt;br&gt;
ブレイクポイント指定して実行したり変数の値見れたり&lt;br&gt;
普通のコード追いかけるとの変わらない感じでした&lt;/p&gt;
&lt;p&gt;そんな感じで調べたところJSONをパースするところで例外が発生している&lt;br&gt;
じゃあもとのJSON見るとJSONファイルじゃなくてHTML突っ込んでる&lt;/p&gt;
&lt;p&gt;なぜHTML突っ込んでいるか中身見ると、エラー522返ってて、エラーをパーサーに突っ込んでいたのでエラーになって止まっていた形&lt;/p&gt;
&lt;p&gt;では、なぜエラーが返ってきているのか？と思って調べてみると、vgmdb.infoというドメインへJSONを要求しているんだけど、ここがvgmdb.netの非公式APIサイトと言う形になっていて何らかの事情でサーバー落ちている模様。&lt;/p&gt;
&lt;h3 id="代替案"&gt;代替案
&lt;/h3&gt;&lt;p&gt;数日待って使えるようになったら良いんですが、連携していない非公式のサーバということなので確実に復活するかは怪しげ&lt;br&gt;
ということで、代替案としてこのサイト構築しているソースはOSSとしてGitHubに公開されているのでこれを利用して自分だけが使えるAPIサーバを建てることにして、そちらをユーザースクリプトから参照させるようにする&lt;/p&gt;
&lt;h3 id="サーバ建設"&gt;サーバ建設
&lt;/h3&gt;&lt;p&gt;公開されているソースを見るとdocker-composeファイルも用意されているので少しいじれば行けそうだったので、vgmdb.infoが帰ってこなかったときに向けて自宅の環境使って実行できるかテスト実施&lt;br&gt;
結果としては問題なく動作している&lt;/p&gt;
&lt;p&gt;実施したこととして&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;docker-composeファイルを環境に合わせて修正&lt;/li&gt;
&lt;li&gt;iptablesの設定でDOCKER-USERにステートフルインスペクション設定を追加（外と通信するものなかったので基本的に全部遮断してた）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;くらいで、ユーザースクリプトのapiUrlのアドレス置換を建てたAPIサーバに変更して完了&lt;/p&gt;
&lt;p&gt;問題なく動作していそうなので、返ってこなかったらこのままにするか様子見て自宅のサーバで厳しそうならラズバイ買ってくるか、AWSに持っていって動かすかな&lt;/p&gt;
&lt;h3 id="追記"&gt;追記
&lt;/h3&gt;&lt;p&gt;GitHubのISSUE立ってた&lt;/p&gt;
&lt;iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgithub.com%2Fhufman%2Fvgmdb%2Fissues%2F75" title="host error 522 · Issue #75 · hufman/vgmdb" class="embed-card embed-webcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;" loading="lazy"&gt;&lt;/iframe&gt;[github.com](https://github.com/hufman/vgmdb/issues/75)</description></item></channel></rss>