Archive for the ‘MusicBee’ Category

2/9に下記のようにお知らせしましたバージョンアップ作業が終わりましたので、サイトの運用を再開します。

 「サイトの一時停止予定のお知らせ」 (2019年2月9日 19:29)

サーバソフトのバージョンアップ作業のため、下記日程で本サイトを一時停止します。

2019/2/11(月) 朝から夕方頃まで (早期終了あり)

作業中は本サイト(ブログ)へのアクセスはできなくなります。断続的にアクセス可能になるかも知れませんが、不安定な状態ですので、終了のお知らせまでお待ちください。

なお、作業中に予期せぬ問題が生じた場合には、一旦止めて復旧させる予定です。

よろしくお願いします。

なお、しばらくは細かい問題が起こる可能性がありますが、その際は随時修正致します。

よろしくお願いします。

  •  0
  •  2

仕事サイトを作ってから1.5か月くらい経ったが、相変わらず閑古鳥しか居らず、そろそろ撤収(まだ撤退ではない)モードだ。受託開発とLinux用オリジナルソフトなどについて案内を出したのだが、コメントや問い合わせは一切ない。見込みが甘かった。僕の経験も合わせて理由を考えてみると、以下のようなことが思い浮かんだ。

  • 受託開発
    • 開発業者を探す人は、ネットで検索なんてせず、主に、過去の実績(= 付き合い)のある業者を選ぶ。
      • 検索するにしても、個人でなく企業を探す。
      • それ以外に、企業は営業が担当者を周って売り込むので、発注時に名前が浮かぶ可能性が高い。
      • 個人に依頼するなら、誰か(偉い人?)の知り合いであることが多い(そうでないと説得できない)。
      • 担当者が発注先を選定するのでなく、上から指示される場合も多い(それで失敗することも多いがw)。
    • 仮にネットで探したとしても、どこの誰とも分からない、有名でもない人に頼む気は起こらない。
      • リスクしか思い付かないし、上を説得できない。日本では100%そうでは?
      • 上を説得するとして、担当者がそこまでして責任をかぶる意味がある?
      • 個人だと、失敗した時の賠償能力がないのも弱い(保険はあるが、まだ一般的でない)し、仮にその業者(= 僕)が駄目になったらぽしゃるのが確実なのも弱い。
    • 仮に、「この経歴なら頼めそうだ」とか思っても、発注者はソフト単体でなく「システム」を作りたいことが多いが、個人ではシステム全体は担当できない(ソフト以外も絡むことが多いのと、工数や時間の制限がある)。
      • その場合、部分を切り出して発注することになるが、そんな面倒なことをしても、発注者にはデメリットしかない。
      • そもそも、作りたいシステムの中身について詳しい発注者は少なく、どういう風に切り出せるか分かる人はほとんど居ない(逆に、詳しいつもりの発注者に中身を細かく指定されると、失敗の原因になる)。
      • 頼むにしたって、きっちりとした契約でなく、派遣(SES)みたいに、「あれやって、これやって」と都合よく使いたい。
    • 得意分野が流行りから外れている。
      • 今はAI(機械学習)、ブロックチェーン、IoTなどか。あとはドローンやVR・AR? (良く知らんw)
      • あと、Python全盛だしw
      • 何でもスマフォだし。
  • Linux用オリジナルソフト
    • Linuxのユーザーが元々少ない。
      • PCを使う人が減っているうえに、PCならWindows。
      • Windowsが嫌になっても、(Linuxでなく)Macに行く風潮。
    • Linuxで、例をあげたソフト(Spotifyやバックアップ関係)を使う人は更に少ない。
      • (仕事サイトよりアクセス数が多いこちらに書いても、要望もコメントもなかったので、)僕の作ったものは(ニッチ過ぎて?)元々需要が少ない。
      • (すぐに手に入る)有名な既存ソフトを使うか自分で作る人が多い?
      • 「欲しい方居ますか?」などと聞くより、まずは公開しないと駄目?
    • 分野が流行りから外れている。(受託と同じ)

という訳で、勝てる見込みはなさそうだ。3か月経過するまでは様子を見ることにするが、近頃はやる気が低下して更新していないので、期待できなさそうだ。まあ、こうなることを予想して大きな投資はしなかったので問題ない。短期決戦・即断即決な性格なので、無駄なことは早目に止めることにする。それから、仕事サイトの技術的な投稿を順次こっちに転載しよう。

そして、来年の頭は次の進め方を考えよう。とは言え、日本では、「有名/天才プログラマー」になる以外は会社に属する(= 社員 or 派遣)しか現実的な選択肢はなさそうだが、夢のような会社がない限り避けたい・・・ (他にはクラウドソーシングでの受託もあるが、元々安いうえに価格競争になり、受けてもリスクが高過ぎるので、やる気は起こらない)

 

題は、今掛かっている、しみる歌より。

PS. 全くの冗談だが、「MusicBeeの使い方」を最新版に対応させて加筆して本にするとか、MusicBeeの有料サポート(トラブルや設定や音質改善などのコンサル)を引き受けるなどの方がはるかに需要がありそうだ。あ、本は、今時紙は古いし出版してもらうのは大変だが、電子ブックなら自分で作って売り出せそうでいいかも知れないな。Windowsは嫌いだけど、仕事になるなら贅沢は言えない。まだ需要はあるのかな。でも、仮にその本が売れたって、単発なので続かないだろう。が、その後のきっかけ(= 名前を売る)にはなるかも知れない。

と、「冗談からアイデアが出たかも知れない」とぬか喜びしながらアドバルーンを揚げる、今日この頃w

PS2. オリジナルソフトの当初の収受手段として寄付を考えていたが、ほとんど効果がないことに気付いた。自分だって滅多にしないからだ。近年したのはMusicBeeとLinux Mintくらいだ。「寄付歓迎」と書いてあっても、まず「まあ、あとで」とか「見なかった」ことにするし、うるさく出すと逆効果になる。お金をもらうなら、寄付ではなく販売や課金の方が良さそうだ。

それから、技術的な内容の投稿をしても、仕事のプロモーションにはならなそうだ。というのは、僕が何かで困って検索して役に立つ情報を見つけたら、即座に試して、OKだったら「良かった!」とか「なるほど」で終わるからだ。同じサイトをよほど何回も見ない限り、元のサイトに戻って、「このすごい人はどういう人なのか」などと調べることはないし、お礼を書くこともまずない。問題を解決することが目的ではなく、早く「本題」をやりたいからだ。

悲しいが、現実は厳しい。。。 (僕がセコ過ぎるだけで、実際は違うってことはないですよね?w)

PS3. FaceBookは既に撤退した。流入は最初に1件しかなく、仕事には全く無意味なことが分かったためだ。しばらく見ていたが、「知り合いかも」に出る人で、業者とそれに引っ掛かる人(実はサクラなのかも)以外に活発な人は少ない感じで、やはり、もうオワコンなのかも知れない。

  •  0
  •  0

MusicBeeに登録したビデオのメタデータ(特にカスタムタグ)を移行するのにDBの内容を直接使おうとしたので、DBのフォーマットを解析してみた。全容は解明できていないが、結構分かったので書く。なお、実際の移行にはDBを使わないことにしたので、これ以外の情報は追加しない。

  • 使用したMusicBeeのバージョン: 2.5
  • DBのファイル名: MusicBeeLibrary.mbl

※以降で"0xMN"は16進数。

ファイル構造:

  1. (ファイルの先頭) 1 0 0 : DBの開始
  2. 0 2/3/5 1/6 0xff : エントリの開始
    • 2バイト目: エントリのタイプ?: 3= 音楽, 5= ビデオ
    • 3バイト名: 不明
  3. 11バイトの0 またはデータ(内容不明)
  4. 0 + ファイルのパス: 可変長データ
  5. タグ(可変長データ)の連続
  6. 0x77 1 (0x4d/0x46)= エントリの終わり?: ない場合もある。
  7. (次のエントリの開始)

※ただし、フォーマットが違う部分がある。また、DBの最初付近しか見ていないので、後半に別の構造があるかも知れない。

可変長データの構造:

  • データタイプ (1バイト。ただし、ファイルのパスでは2バイトで 0xf0 1になっている場合がある)
  • データの長さ (1バイト)
  • データ (可変長。文字列はUTF-8と思われるが、未確認)

データタイプ:

  • 0= ファイルのパス>
  • 2, 8= アルバムアートのファイル名?
  • 0x1e= アルバム名?
  • 0x1f= アーティスト
  • 0x20= ?
  • 0x2b= アルバムアーティスト?
  • 0x3b= ジャンル
  • 0x41= タイトル
  • 0x49= レーベル?
  • 0x58= 年?

※上記以外のほとんどはカスタムタグ。私の環境では、最初のカスタムタグのタイプは0x2eだった。

  •  1
  •  1

昨日辺りから、MusicBeeからgmusicbrowser(GMB)への移行に関して残っていた、USBメモリなどのデバイスに曲を同期(転送)する機能を作る作業が捗って、基本機能がほとんどできた。

機能概要は以下のとおり。(MusicBeeのデバイス同期機能にならった)

  • 転送対象: GMBの管理している曲。特にフィルタ(=自動プレイリスト)の結果の曲。
  • 転送先: USBメモリなど (Linuxのディレクトリなら何でも可)
  • 転送時の処理: MP3でないファイルはMP3に変換して転送する。
  • その他: 同期先にあって同期元にないファイルは削除する。

どのようにGMBに組み込む(連携させる)か、いろいろ考えたのだが、GMBのexportプラグインを改造することにした。これには多くのメリットがあった。

  • プラグインなので、(外部コマンドを自分で起動するなどせずに)GMBからシームレスに起動できるようになった。
  • GMBのプレイリストをファイルに保存する機能があるので、それを使って、同期対象のファイル一覧を作れる。(当初は自分でプレイリストを保存する手順が必要かと思っていたのが、不要になった。)
  • 外部コマンドを呼ぶ機能もあるので、それにならって、実際に同期を行う外部プログラムを起動できる。
  • 設定機能もあるので、同期機能の設定を作る時の参考になる。

それからいろいろ検討した結果、以下のような作業・処理手順を実現することにした。

  1. デバイス(USBメモリ)を挿す。
  2. GMBで、同期対象のプレイリスト(フィルタ)や曲を右クリックして、"Sync to directory"を選択する。
  3. (以下の処理が終わるまで、GMBは待ち状態になる。)
  4. 同期プログラムは、指定された曲に対して、以下の処理を実行する。
    1. その曲が同期先(デバイス)にある場合には、何もしない。(同名だが内容が違う場合に備えて、ファイル名以外にタイムスタンプでも判定する: ホストの日時 > メモリの日時 → 転送する)。
    2. その曲が同期先にない場合、曲のフォーマットがMP3でなければMP3にし、トラックの最大値を統一する(例: -0.9dBになるように、データを増幅する)。同時に、再生ゲインのタグを除去して、同期先にコピーする。
  5. 同期プログラムは、同期先にあって同期元にないファイルを削除する。

ある程度実装した後、以下の問題が見つかったので、対処した。

  • GMBは同期プログラム(外部プログラム)の終了を待たない。→ 同期結果が分からない。→ 同期するプログラムで、途中経過や結果のダイアログを出すことにした。
  • 同期元のトップディレクトリは一つでないので、それを元に同期先のトップディレクトリを設定してはいけない。→ 同期するプログラムで、同期先のトップを指定するようにし、トップ下のディレクトリは曲のタグ(アーティスト、アルバム)から生成するようにした。
  • どうやって同期先のトップディレクトリの指定をするか。→ GUIプログラムzenityでファイル選択ダイアログを出すことにした。
  • 元のファイルにトラックの最大値(REPLAYGAIN_TRACK_PEAKなど)がある場合は、改めて最大値を求めずにそれを使えばいい。
  • SOXでは日本語のMP3のタグ(アーティストなど)が文字化けする。→ ffmpegを使うことにした。
  • カーナビでアルバムアートを表示させたいので、MP3にアルバムアートを埋め込む必要がある(埋め込まないと、カーナビには表示されないため)。→ オリジナルのディレクトリからアルバムアート(cover.jpgなど)を探して、縮小してMP3に埋め込むことにした。
  • 処理(特にMP3へのエンコード処理)が遅い。→ とりあえず、ffmpegを2スレッドで並列化した(-threads 2)。本当はファイルごとに別プロセスで処理するといいのだろうが、結構面倒だ。→ その後、MP3には-threadsは効果がないことが分かったので、止めた。(10/28 5:53)

以下、実装時の細かい話を書く。

  • 同期先のファイル名は、同期元のファイル名のsuffix(拡張子)を"mp3"に置換して生成している。が、今思えば、タグから作っても良かったかも知れないし、通し番号でも良かったかも知れない。
  • ファイル名によっては、特殊な文字("や()など)が入っているため、外部コマンドに渡す際にファイル名をクォートする処理が必要だった。
  • 同様に、USBメモリはVFATなので、同期先のファイル名中の、VFATで使えない文字は"_"に変換するようにした。
  • 再生ゲインタグの抽出にはexiftoolを使った(-s2)。ffmpegでも可能だが、exiftoolの方が速かったためである。
  • FLACとMP3では再生ゲインタグの名前や記法が異なるので(下の例を参照)、両方に対応した。
    • FLAC: REPLAYGAIN_TRACK_PEAK: 0.921652
    • MP3: User Defined Text               : (replaygain_track_peak) 0.921652
  • 同期元に再生ゲインタグがない場合に最大音量を求めるのには、ffmpegを使った(-af volumedetect)。この場合は、エンコードの前に追加処理として行うため、処理が遅くなる。
  • ffmpegでの音量の正規化は、loudnormフィルタがちゃんとしているようだが、車で聴くのにそこまでする必要はないため、MusicBee同様、volumeフィルタで最大値を設定することにした(例: volume=-0.5dB)。← volumeに指定するのは絶対値でなく増減なので、最大音量近くを意図して-0.5dBを指定するのは誤っている。(10/29 18:29)
  • 再生ゲインの計算は単純な最大値ではないようなので、元のファイルに再生ゲインタグがない場合は、警告を出して、正規化を諦めるようにした。ffmpegでloudnormフィルタを使えば求められるが、それにしてもGMBで再生ゲインを求めたファイルと音量差ができると考えたからだ。そもそも、元のファイルはすべて再生ゲインタグを入れている前提なので、問題は生じないはずである。(10/29 18:29)
  • 不要なタグの削除は、エンコード時にffmpegで行った。(例: -metadata REPLAYGAIN_ALBUM_GAIN=)
  • 少しでも小さいファイルサイズで音質を良くするため、MP3は可変ビットレート(例: -q:a 3)でエンコードした。ちょっと聴いた限りでは、音質に問題はなかった。品質に3を指定した場合、平均ビットレートは約180kbps程度になり、ファイルサイズはFLACの1/5程度になった。
  • アルバムアートの埋め込みも、エンコード時にffmpegで行った。
  • アルバムアートの埋め込み前に、convertコマンドを使って256x256画素にしている。元のサイズがそれより小さい場合は処理しないようにしたいが、今はいつも処理している。→ その後、縮小のみをする方法が見つかったので、元のサイズが最小サイズより小さい場合は、拡大しないようにした。(例: -resize "256x256>") (10/29 18:35)
  • 上述のように、ffmpegでさまざまな処理を一気にしているため、ffmpegを起動するコマンドラインがかなり長くなった。
  • 同期先にあって同期元にないファイルの削除は以下のようにしている。
    1. 同期の前に、同期先のファイル一覧を取得する。
    2. 同期中に、同期またはスキップしたファイル一覧を保存しておく。
    3. 同期終了後に2つの一覧を比較し、同期したファイル一覧にないファイルを削除する。
  • 削除機能の基本動作は問題なかったが、ファイル数が多い場合に使用メモリ量や負荷が高くなる可能性があるので、要注意だ。

実装後、この同期プログラムで作成したMP3ファイルがカーナビで再生でき、アルバムアートも表示されることを確認した。

以下、操作時の画面キャプチャを示す。

最後に、同期機能に関して以下のような残件はあるが、現在のところ、GMBに大きな問題はなく、この先にもあるとは思えないので、MusicBeeからGMBへの移行は完了したと考えてよいだろう。

  1. 同期プログラムのオプションを実装する。
  2. exportプラグインの設定画面で同期のオプションを設定できるようにする。
  3. 細かい調整・高速化
  4. 全体的な動作確認
  5. 詳細な動作確認
  6. 実際に使っているUSBメモリにフル同期(全曲を同期)してみる。
    1. 所要時間を測る。
    2. 使用メモリ量を測る。
    3. カーナビで再生を確認する。

上の1, 2を実装し、同期中のファイル名を表示し、同期結果に実行ログも表示できるようにした。(10/27 21:46)

3の高速化について、ffmpegのマルチスレッド指定(-threads)は効果がなかったので、複数ファイルのエンコードを同時に実行できるようにしてみた。すると、曲にもよるが、6ファイル(プロセス)を同時に処理した場合には、約3-4倍高速になることが分かったので、6プロセスでの並行処理を採用することにした。以下に、いくつかの測定結果を示す。(CPU=Core i7-2600, 転送元=HDD, 転送先=SSD)

・ポップス 28曲 (Blondie, FLAC, 125MB)

  • 1プロセス: 112s → 4s/曲, 1.1MB/s
  • 2プロセス: 65s → 2.3s/曲, 1.9MB/s
  • 4プロセス: 39s → 1.4s/曲, 3.2MB/s: 1プロセスの約3倍速
  • 6プロセス: 29s → 1s/曲, 4.3MB/s: 1プロセスの3.9倍速

・クラシック 6曲 (ブロンフマン, FLAC, 313MB)

  • 1プロセス: 81s → 13.5s/曲, 3.9MB/s
  • 2プロセス: 49s → 8.2s曲, 6.3MB/s
  • 4プロセス: 34s → 5.7s/曲, 9.2MB/s: 1プロセスの2.4倍速
  • 6プロセス: 26s → 4.3s/曲, 12MB/s : 1プロセスの3倍速

なお、6プロセス同時の場合、CPU使用率は75%程度まで上昇した。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88_2016-10-28_21-42-49-1

ここまでやって大分良くなったし、プログラムもなかなか本格的になったのだが、まだまだ9.75合目程度で、完成までにはもう少しある。そして、ここからは結構辛い。。。(10/28 22:25)

 

PS. これが完成して気が向いたら、他の改良・修正(主なものは以下のとおり)と一緒に作者に送ってみようかと思っている。(僕からすれば、)寄付よりはいいかなと思う。

  • 再生ゲインモード(off/album/track)の切り替えを(設定画面でなく)メニューで行えるようにした。(頻繁に使うため)
  • 「今の曲が終わったら停止のon/off」を行う内部コマンドを追加した。(リモコンで行いたいため)
  • 設定の"Remember playing position between sessions"をonにしている時、次回起動時に再生を開始しないようにした。(文面通りにした)
  • Queueの"Stop after this song"がonの時、再生終了後、次の曲に進む(ただし、停止のまま)ようにした。(次回の再生時に次の曲に進める手間を省くため。MusicBeeに合わせた)

そして、オープンソースプログラムは自分でいろいろ改良・修正できるので、やっぱりすごくいいと思う。そして、GMBはプログラマーにとって、最高の音楽プレーヤーだと思う。

(23:30 加筆・修正; 10/27 5:35 少し加筆;10/28 5:53 ffmpegの-threadsについて追記;10/28 22:25 並列処理について追記; 10/29 7:24 わずかに修正; 10/29 18:35 再生ゲインタグがない場合とアルバムアートのサイズが小さい場合について更新)

  •  0
  •  1

疲れたので、この週末はプログラミングは休むつもりで居たが、Linux移行作業は進めていた。しかも、気付いたら、散歩や掃除などの予定していたことを何もせずに、プログラミングしていて日が暮れていたという体たらくである。

が、そのおかげで、MusicBee(MB)からgmusicbrowser(GMB)への移行がかなり捗った。MB関連で残っていたのは、以下である。

  1. 音楽ファイルの管理の移行
  2. デバイスとの同期
  3. GMBのリモコン(I/Oデータ USB-IRUNIT2)対応

それらのうち、1と3ができた。

まず、音楽ファイルの管理の移行での問題点は以下だった。

  1. GMBはWAVとWMAをサポートしていないので、一覧に出ず、再生できない。
  2. MBのカスタムタグのGMBへの移行。

WAVとWMAの件は、基本的には単純で、それらをFLACに変換すれば良い。なお、それら以外にGMBのサポートしていないフォーマットは使っていなかった。

手順としては、MBの自動プレイリストでWAVとWMAのファイルを抽出(検索)して、それらに対してフォーマット変換を行った。ちょっと面倒だったのは、変換したファイルをサブディレクトリに入れたかったのだができなかったことと、WAVには再生ゲイン(その曲の音量の最大値のようなもの。いろいろな曲の音量を揃える時に使う)の値が入っていないので、変換後に計算する必要があったこと程度だ。

サブディレクトリについては、おそらく、MBの変数を使えばできたのだろうが、入力画面には出ず、どうせヘルプドキュメントもなく、調べるのが面倒だったので、同じディレクトリで我慢した。WAVなどが同じディレクトリにあっても、GMBはそれらを認識しないのだから、自分でディレクトリを見ない限り、問題はない。

その量は膨大で、約8600個(約220GB)もあり、全ファイル数の半分以上だった。変換には4スレッドで約5時間掛かった。FLACに変換後のサイズは約70GBだった。なかなか気持ちよく圧縮された。もちろん、HDDにはまだ余裕があるし、何かの間違いがあるかも知れないので、元のファイルは消していない。なお、WMA(ロスレス)からFLACへの変換がロスレスなのかちょっと心配はあるが、どっちにしても聞き分けられないので、問題はない。この処理によって、念願だった、GMBでビートルズの曲が聴けるようになった。

なお、再生ゲインの計算は約2000ファイルに対して実施し、約30分掛かった。

次に、カスタムタグの移行を行った。カスタムタグは、MBだけの特別なタグで、基本的にはファイルに書き込まれていないので、ファイルを移しただけではGMBは認識しない。また、ファイルに書き込んでいるカスタムタグでも、GMBは「やれば表示できる」程度で検索やソートには使えないので、何らかの対応をする必要がある。それにはいくつかの方法があるのだが、以下のようにした。

  • 値が1/0のタグ (例: 「この曲を無視する」)
    1. 自動プレイリストで、対象の(値が1の)ファイルを検索する。
    2. ファイル一覧を通常のプレイリストにエクスポートする。
    3. それをGMBでインポートして、その中の曲に対して、GMBのラベルを設定する。
  • 値が任意のタグ (例: 購入日)
    • いい解決策がなかったのだが、幸い、音楽ファイルではタグも対象のファイル数も少なかったので、手で、一般的なタグであるコメントに追記した。
    • ビデオファイルにはいくつかのカスタムタグがある(例: ソース)のだが、GMBはビデオが扱えないため、別アプリで対応する必要があるので保留にした。

なお、プレイリストは、MBの設定では"M3U(#EXT)"形式で、絶対パス・UNIX形式でエクスポートし、エディタでパスを修正した。M3U(#EXT)形式でないと、GMBではインポートできない。ファイルの先頭に"#EXTM3U"が必要なようだ。なお、UNIX形式にしても、パスの先頭にドライブ名が残るなど、そのままでは使えなかった。相対パスにしても、ドライブが複数あるためにパスが間抜けになっていて、便利ではなかった。この辺りは、もう少し何とかすべきだろうが、Windowsでしか動かないプログラムに求めるのは酷だろう。

それから、余計なファイルを削除したり無効化したり、タイトルなどが文字化けしたファイルに対応した後、ファイルの過不足のチェックをした。概ね問題はなかったのだが、移行前後のファイル数に若干違いがあった。全体としては、GMBの方が数十個多かった。どうしてかは良く分からないが、誤差の範囲だろうし、少ないよりはいいだろうw いや、実際には、デジタルなので誤差はないはずなのだが、まあ、聴いた時におかしければ対処するから問題ない。そのためにも、オリジナルのファイルは残しておくのだ。

あと、どういう訳かアルバムアートが出ない曲が結構あったので、手で登録したり、なぜか再生ゲインが入ってない曲があったので再度計算したり、同じアーティストでも微妙に異なる綴り(例: "the"と"The")のせいで別人に扱われているのを、手で修正したりした。

リモコン対応は比較的楽だったが、問題点は以下だった。

  • どうやってリモコンとGMBをつなぐか。
  • GMBにないコマンド(今の曲が終わったら停止のon/off)をどうするか。

リモコンとGMBの接続には、以下の方法がある。

  • キーボードのシミュレーション (MBでやっていた方式)
  • MPRIS2
  • DBus

キーボードのシミュレーションはいろいろと面倒なので、却下した。例えば、キーを送る前にGMBのウインドウを探したり、ウインドウマネージャのホットキーを無効にしたりする必要がある。

次に、MPRIS2とDBusはどちらでもいいのだが、GMBにないコマンドを追加する可能性があったので、メッセージの仕様に自由がある(仕様がない)DBusにした。DBusだと、GMBのRunCommandコマンドでほとんど何でもできる一方、MPRIS2は(下位ではDBusを使っているのだが)、仕様にあるコマンドが少なくてできることが余りなく、わざわざ規格を決めたメリットがあるのか、ちょっと疑問だ。

リモコンのキーを読んでDBusで送信するプログラムは、以前試しに作ったものがあったので、改良程度でできた。ただ、思わぬ問題が起こった。リモコンのキーを押すと、ウインドウマネージャが終了するらしく、ログアウトしてしまうのだ。

この原因は良く分からないのだが、おそらく、リモコンのキーがキーとしては滅茶苦茶(文字でなく、バイナリデータ)なので、ウインドウマネージャが誤動作して落ちるのではないかと思う。検索したら、運良く対処方法が見つかった。xinputというコマンドで、リモコンを除外すれば良い。除外するには、リモコンのデバイス名などを調べる必要があった(USB接続なので、デバイス名が変わる可能性があるため)ので、ちょっと手間が掛かった。udevadmやlsusbといったコマンドを使った。

(2016/10/29 7:06 追記) しばらく使っていると、xinputでの除外設定が解除されてしまうようなので(以前あった、xmodmapで変更したキー配置が戻るのと同様か?)、XOrg (X Window Systemのサーバー)の設定にリモコンを無視する設定を追加して、恒久的な対応をした。以下に設定例を示す。

/usr/share/X11/xorg.conf.d/10-evdev.confに追加:
 Section "InputClass"
   Identifier "bad device"
   MatchProduct "I-O DATA DEVICE,INC. USB-IRUNIT2"
   Option "ignore" "on"
 EndSection

なお、リモコンはudevというプログラムでLinuxに自動的に登録されるのだが、デフォルトでは管理者(root)以外はアクセスできない。そのため、リモコンを認識した後で、他人もアクセスできるようにする処理をudevに設定を追加した。

それからリモコン関係の機能追加をした。まず、面倒だと思っていた「今の曲が終わったら停止のon/off」コマンドをGMBに追加した。「今の曲が終わった後の動作の指定」のコマンドはあったので、それのコピーと修正(現在の状態を元に、新しい状態を設定する)でできた。更に、Windowsでやっていた、リモコンの電源ボタンで休止する機能も付けて、リモコンは完璧になった。

今気になっているのは、あるプレイリストを再生中に別の曲が入ってしまう問題である。例えば、ポップスのプレイリストを聴いているのに、途中でクラシックが入ることがあった。やっぱり原因はわからないのだが、GMBの設定で、「現在の楽曲は常にプレイリストにある」と「最新の楽曲」をoffにしてみたら、今のところ再発していない。それにしても、どちらも意味不明な訳ではあるが、自分でやる気はしないので、文句は言わない。ただ、設定がなくて英語にできないのが、ちょっと不便だ。Linuxのデスクトップアプリは、OSの言語設定に合わせるのが流儀なのかも知れない。

もう一つ気になっているのは、戻れる曲数に限度があることだ。1曲程度しか戻れない。シャフルしているせいだろうか。まあ、戻ることは滅多にないので、問題ではない。

という訳で、残ったのはデバイス(USBメモリ)との同期だけのはずだ。それについては、方法を考えた。基本的には、soxというオーディオファイル処理プログラムと、デバイスとホスト間のファイル同期処理(デバイスにないファイルだけを転送する)を併用すればできそうだ。

もちろん、ファイル同期プログラムは世の中にいくつもあるのだが、以下の特別な処理が必要なので、使えない。

  • デバイスに転送する時に、MP3でないものをMP3に変換する。
  • 再生ゲインを恒久化する(タグの数値でなく、データ自体を増幅する)。
  • 再生ゲインのタグを除去する。

ファイルの同期はデジカメでもやったので、それほど難しくないだろうから、あとは実装するだけだ。

そして今は、MusicBeeでなくgmusicbrowserで音楽を掛けている。VirtualBoxとその上のWindows 7を動かさずに済むようになったおかげで、メモリ使用率は12%程度に減り、平常時のCPU負荷も2%程度に減った。全くいいことづくめだ。更に、GMBに再生ゲインの切り替えメニューを追加できれば、差し当たっては言うことは何もない。最高の音楽プレーヤーのできあがりだ。

その後やる気が出て、GMBに再生ゲインの切り替えメニューを追加できた。先日試しに作ったコードがそのまま使えた。今は設定するだけで、現在の状態(off/アルバム/トラック)は表示できないが、結構便利になった。あと、ダウンロードしたソースだとなぜか英語表記になっていて、更に都合がいい。(23:44)

20161023-gmb-add-rg-1

その後、ちょっと苦労したが、なんとか再生ゲインの切り替えメニューに現在の状態を表示できた。まったくPerlは判じ物で、どうなっているのか理解できないが、便利なのは認める。(10/25 4:15)

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88_2016-10-25_04-13-07-1

  •  0
  •  0

MusicBeeの使い方の付録として、MusicBeeに関する情報について書きます。

1. フォーラムについて

MusicBeeのフォーラムは、MusicBeeの最新版カスタマイズ(各言語対応プラグインスキンなど)、質問・コメント要望不具合報告アドバイスや便利な使い方などに関する掲示板です。作者のSteven Mayallから回答がもらえることもあります。使用言語は英語です。

2. ベータ版について

開発中のMusicBeeのベータ版や不具合修正版は、上記フォーラムのLatest Versionで取得することができます。

現在、V3の開発が進められていますが、まだベータ版はありません。(2015年10月現在)

3. 使用条件について

MusicBeeは個人で利用する場合には無料です。("MusicBee is freeware for personal use.")

詳細については、ライセンスをご参照ください。 (2015年10月現在)

4. 寄付について

MusicBeeが気に入った方は、サーバーの費用をPayPalで寄付することができます。ダウンロードページ下部の"PayPal Donate"のアイコンからお進み下さい。

(2015/10/18 15:16 最新の状況に更新)

  •  0
  •  0

お知らせ: このサイトの記事は、公開から5年で非公開にしています。本記事、「MusicBeeの使い方」は2020年2月頃から非公開となる予定ですが、機械的に非公開にすることはせず、2019年中頃にアクセス数やコメントなどの状況で公開を継続するか決めようと思っています。なお、もし非公開にすると判断した場合には、事前にここでお知らせします。

(2018/11/13 れんと; 11/13 13:46 期日を修正)

「MusicBeeの使い方」が5年以上経過しても非公開にならないようにしました。非公開にしている仕組みを手直ししましたが、もし、誤りがあって非公開になった場合には、修正します。

(2019/2/4 4:22 れんと)

本稿の公開後、数多くの質問を頂いて回答して参りましたが、今後は止めることにします。というのは、私はもう3年くらいMusicBeeをを使っていないために、忘れてしまったことが多いうえに最新の状況も分からないのと、ほとんどすべてのコメントが使い方に関する質問だったのは想定外だったからです。私はMusicBeeの作者ではないですし、ここは「MusicBee質問掲示板」ではないのです。

質問についても、私がちょっと試すだけでできることを聞いて来る方が多く、もう少しご自分で試行錯誤してはいかがかと思います。それから、質問に回答しても返信されない方や、質問する際の最低限のマナーすらお持ちでない方も居らっしゃいましたが、いかがなものかと思います。

今後の代替策を以下に書きます。

  • 他のサイトで調べる。
  • Googleなどで検索する。
  • 自分で試行錯誤する。
  • MusicBeeのフォーラムで質問する。

勝手ながら、ご了承下さい。

なお、過去の質問と回答は引き続き見ることができるようにします。

(2019/9/27 11:04 れんと)


数回に分けて書いている、「MusicBeeの使い方」の目次です。

初めてお使いの方は、入門編をご覧下さい。

  1. 入門編
  2. 表示編
  3. 再生編
  4. ホットキー+リモコン編
  5. プレイリスト編
  6. CD取り込みとデバイス同期編
  7. タグとアートワーク編
  8. 各種ツール編
  9. 雑多編

付録

  1. いい音で聴くには
  2. MusicBeeのフォーラム・ベータ版・使用条件・寄付について

※この資料はMusicBee 2.4に対応しています。MusicBee 2.5の動作や表示が2.4と異なる場合には、<2.5の場合>と書いて併記します。

※「各種ツール編」は、以下の内容を書く予定でしたが、一旦キャンセルします。ご要望がございましたら、書きたいと思います。(2015/10/18 15:42)

  • タグツール
  • ファイルの整理
  • 重複したファイルの整理
  • ディスクに書き込む
  •  3
  •  3

これまでに書いていないMusicBeeの機能について書きます。初めての方は入門編をお読み下さい。

内容

  1. フォーマット変換
  2. ツールバーボタン
  3. 通知ポップアップ
  4. SNSへの投稿
  5. 曲のファイルの場所を調べる。
  6. 曲の再生関連の個別設定
  7. 良く聴く曲やアーティストなどを調べる。
  8. インターネットラジオを聴く
  9. 曲を評価する。
  10. アーティストと曲名をクリップボードにコピー
  11. 再生履歴を表示する。
  12. ビデオの管理と再生
  13. 検索
  14. 自動シャットダウン
  15. SoundCloudの検索、リリース・コンサート予定の表示
  16. 音楽フォルダを移動した場合(音楽フォルダの再割り当て)
  17. バックアップ

1. フォーマット変換

音楽ファイルのフォーマットを変換する(例: FLAC→MP3)機能です。以下の手順で実行できます。

  1. 変換する曲を選択し、右クリック→送る→フォーマットコンバータを選択します。
  2. フォーマットコンバータのウインドウが表示されますので、変換先のフォーマットとプロファイル、出力先などを選択・設定し、「進む」を押します。
  3. 変換が終わると、出力先のフォルダに変換されたファイルができています。

※変換の設定は、「MusicBeeの使い方 (CD取り込みとデバイス同期編)」の「4. エンコード設定について」をご参照下さい。

2. ツールバーボタン

良く使う機能を、タブバー上のボタンにできます。以下の手順で設定できます。

  1. タブバーを右クリック→ツールバーの構成を選択します。
  2. 「ボタンの文字列またはアイコン」にボタンの名前を入れます(例: "終了")。
  3. 「コマンド」に、そのボタンで実行したい機能を選択します(例: 「全般: MusicBeeの終了」)。
  4. 「更新」を押すと、タブバー右側のレイアウト切り替えボタンmb-std-sel-btnの左にボタンができます。

作成したボタンを押せば、上で指定した機能が実行されます。

※私は「再生: リプレイゲインの切り替え」を割り当てています。

3. 通知ポップアップ

曲の再生開始時に、ポップアップウインドウを表示できます。以下の手順で設定できます。

  1. 編集→設定→再生中の「ポップアップを表示」にチェックを入れ、表示する秒数を入力します。
  2. 「カスタマイズ」を押すと、サイズや表示内容を設定できます。
  3. 設定終了後、「保存」を押します。

4. SNSへの投稿

MusicBeeには、Last.fmにscrobble(曲情報を送信)する機能があります。以下の手順で設定できます。

  1. 編集→設定→プラグインの「last.fm」の「有効」ボタンを押します。
  2. 表示されるウインドウに、Last.fmのユーザ名とパスワードを入力します。
  3. Scrobbleボタンmb-std-as-2を押すと、それ以降に再生する曲の情報がLast.fmに送信されます。

更に、SNS用のプラグインをインストールすることで、FaceBookやTwitterなどに再生中の曲名などを投稿できるようです(未確認なので、説明は割愛します)。

5. 曲のファイルの場所を調べる。

曲のファイルの場所は、表示したい曲を右クリック→編集→プロパティの「場所」に表示されます。

また、Windowsのエクスプローラーで表示することもできます。手順は次の通りです。

表示したい曲を右クリック→検索...→Windowsエクスプローラで表示を選択

6. 曲の再生関連の個別設定

曲ごとに音量や再生禁止やイコライザや再生開始・終了時刻などの設定をすることができます。設定したい曲を右クリック→編集の「設定」です。

なお、イコライザが有効になっていないと、曲に設定されたイコライザも有効になりません。イコライザを有効にするには、イコライザボタンmb-std-eqを押して表示されるウインドウで、「イコライザ有効」にチェックを入れます。

7. 良く聴く曲やアーティストなどを調べる。

プリセットされた自動プレイリスト「良く再生される25曲」で、再生回数の多い上位25曲を表示できます。同様に、最近追加した曲は、「最近追加した」で表示できます。

また、ライブラリの統計情報で、曲数の多いアーティスト・ジャンル・年や再生回数の多いアーティスト・ジャンル・アルバムなどを表示することができます。ファイル→ライブラリ統計の表示です。

<2.5の場合> ライブラリの統計情報は、ファイル→ライブラリ→ライブラリ統計の表示で表示されます。

8. インターネットラジオを聴く

ライブラリの「ラジオ」を選択すると、インターネットラジオを聴くことができます。手順は以下のとおりです。

  • メインパネル下部のラジオディレクトリで、ジャンルで聴きたい局を検索してダブルクリックすると再生されます。
  • 「ライブラリに追加」を押すと登録されて、メインパネル上部に表示されます。登録された局をダブルクリックすれば再生されます。

また、検索で出ない局は、ストリームのURLが分かれば、以下の手順で登録できます。

  1. メインパネル上部で右クリック→新しいラジオ局を選択します。
  2. 「ストリームのURL」にストリームのURLを、「名前」に局名を入力し、「保存」を押します。

9. 曲を評価する。

ウインドウの再生制御の部分に☆が5つ並んでいる部分は、曲の評価を示しています。ここをクリックすることで、評価を付けることができます。評価は0.5刻みで付けられます。左端の★の左側でクリックすると、「星なし」にできます。

また、曲を選択し、右クリック→評価→★でも評価を付けることができます。こちらでは、「禁止」にすることもできます。「禁止」にすると再生されなくなります。

曲をLast.fmの"Love"に指定することも可能です。曲を選択し、右クリック→評価→Loveです。また、Loveボタンを表示することができます。ウインドウの再生制御の部分で右クリック→パネル設定のカスタマイズ→Last.fmの"Love"ボタンを表示です。

10. アーティストと曲名をクリップボードにコピー

曲を選択し、右クリック→送る→クリップボードで、アーティストと曲名をクリップボードにコピーできます。デフォルトでは、以下の書式でコピーされます。

アーティスト名 - 曲名

コピーする内容と書式は、編集→設定→タグ(2)の『「クリップボードに送る」内容』で変更可能です。

11. 再生履歴を表示する。

左ナビゲータパネルのライブラリの「履歴」で、メインパネルに再生履歴が表示されます。

12. ビデオの管理と再生

MusicBeeは、ビデオの管理と再生もできます。ただし、実際の再生には外部プレーヤーが使われます。

ビデオは、ビデオ用のライブラリで管理します。デフォルトではビデオ用のライブラリは表示されていませんが、設定を変えれば表示できます。編集→設定→レイアウト(1)の「左ナビゲーターパネル」の「ビデオ」にチェックを入れて下さい。

ビデオにも音楽と同様にタグが付けられます。

ビデオ用の外部プレーヤーは、編集→設定→プレーヤーの「ビデオプレーヤー」で指定できます。

13. 検索

曲やアルバムを検索するには、メインプレーヤー右上の検索欄、あるいは、メニューの編集→検索を使います。また、コンパクトプレーヤーやミニプレーヤーでも検索が可能です。

13.1 検索欄

mb-std-search

ここに文字列を入力すると検索が行われます。検索結果は入力に伴ってリアルタイムにメインパネルに表示されます。右端の×を押すとクリアされます。文字列をクリアすると、検索結果は表示されなくなります。

13.1.1 検索条件

検索条件は、左側の虫眼鏡をクリックすると選択できます。以下の条件が選択できます。

  • 検索対象: 「ローカルのみ」はその時選択されているリスト(音楽ライブラリ、プレイリストや再生中など)だけを対象にします。「ライブラリ全体」は音楽ライブラリ全体を対象にします。
  • フィールド指定: すべてのフィールドを対象にするか、特定のフィールドだけを対象にするか(「特定フィールドの検索...」)、ファイル名も対象にする(「+ファイル名」)かを指定できます。

また、「カスタム検索」を指定すると、より詳細な条件を指定して検索することもできます。メニューの編集→検索でも同じです。

「検索結果」の「常に全アルバムを表示する」※を選択すると、アルバム中のいずれかの曲がマッチした場合に、アルバム全体が表示されます。

※この訳は不適切ですので、次の版で修正する予定です。

<2.5の場合> 「検索結果」の項目は表示されません。

13.2 コンパクトプレーヤー(モダンレイアウト)での検索

検索欄が表示されていない場合、ウインドウをクリックしてAlt-Fを押すと、検索欄が表示されます。

また、ウインドウ下部の虫眼鏡をクリックすると検索画面になります。上部の検索欄に文字列を入力すると、マッチした曲が表示されます。右端の×を押すとクリアされます。

ウインドウ右上の←をクリックすると、元の画面に戻ります。

※検索条件は不明ですが、いずれかのフィールドに部分一致と思われます。

13.3 コンパクトプレーヤー(クラッシックレイアウト)での検索

検索欄が表示されていない場合、ウインドウをクリックしてAlt-Fを押すと、検索欄が表示されます。

検索欄に文字列を入力すると、その時表示されているフィールド内の単語に先頭一致した曲が表示されます。マッチした曲がない場合には、表示が変わりません。

13.4 ミニプレーヤーでの検索

ウインドウ右の虫眼鏡をクリックすると検索画面が表示されます。上部の検索欄に文字列を入力すると、マッチした曲が表示されます。右端の×を押すとクリアされます。

※検索条件は不明ですが、いずれかのフィールドに部分一致と思われます。

14. 自動シャットダウン

プレイリスト・曲の再生終了後や指定した時間の経過後などに、PCをシャットダウンしたりスリープ状態にしたりすることができます。ファイル→自動シャットダウンを有効にするを選択し、条件と動作を指定して下さい。

15. SoundCloudの検索、リリース・コンサート予定の表示

15.1 SoundCloudの検索

SoundCloud中の曲を検索し、再生したりダウンロードしたりすることができます。左ナビゲータパネルの「サービス」の「トラックの検索」を選択し、上部左寄りの検索欄に文字列を入力して下さい。結果が一覧で表示されますので、通常の曲と同様にダブルクリックすると再生されます。右クリック→今すぐダウンロードでダウンロードできます。

※私の環境のV2.4ではなぜか検索できませんでしたが、V2.5(β)では可能でした。

<2.5の場合> SoundCloud中の曲を検索するには、上部右寄りの検索欄に文字列を入力してEnterを押して下さい。

15.2 リリース・コンサート予定の表示

今後のリリース・コンサート予定を表示することができます。左ナビゲータパネルの「サービス」の「リリース予定」や「コンサート予定」を選択して下さい。結果が一覧で表示されます。

16. 音楽フォルダを移動した場合(音楽フォルダの再割り当て)

音楽ファイルの格納されているフォルダを別のドライブに移動した時などには、MusicBeeの音楽ライブラリの登録を変更しないと、移動後の音楽ファイルにアクセスできなくなります。

その対処にはいくつかの方法が考えられますが、MusicBeeの「音楽フォルダの再割り当て」機能を使うと容易です。これは、MusicBeeが音楽ファイルにアクセスする際に、フォルダ名を読み替える機能です。

以下の手順で実行します。

  1. ファイル→拡張→音楽フォルダの再割り当てを選択します。
  2. 元の場所と割り当て先(新しい場所)の一覧が表示されるので、割り当て先に新しい場所を入力して下さい。(例: F:\MusicBee\ → G:\MusicBee\)
  3. 「更新」をクリックして下さい。

<2.5の場合>

  1. ファイル→ライブラリ→音楽フォルダの再割り当てを選択します。
  2. 元の場所と割り当て先(新しい場所)の一覧が表示されるので、割り当て先に新しい場所を入力して下さい。(例: F:\MusicBee\ → G:\MusicBee\)
  3. 「更新」をクリックして下さい。

上の例では、F:\MusicBee\以下で登録されているファイルをアクセスする際に、フォルダ名がG:\MusicBee\に読み替えられます。

17. バックアップ

ここでは、MusicBeeをバックアップする方法を説明します。バックアップ対象は以下が考えられます。

  • 音楽ライブラリ(DB)
  • 音楽ファイル
  • MusicBeeの設定

それらはMusicBeeの機能でバックアップできます。以下の手順で実行して下さい。

  1. ファイル→ライブラリのバックアップを選択します。
  2. バックアップ元とバックアップ先の一覧が表示されるので、バックアップ先を入力して下さい(バックアップ先は、元とは別のドライブである必要があります)。なお、2行目以降に音楽ファイルが格納されているフォルダ名を入力して下さい。
  3. 「実行」をクリックして下さい。

<2.5の場合>

  1. ファイル→ライブラリ→ライブラリのバックアップを選択します。
  2. バックアップ元とバックアップ先の一覧が表示されるので、バックアップ先を入力して下さい(バックアップ先は、元とは別のドライブである必要があります)。なお、2行目以降に音楽ファイルが格納されているフォルダ名を入力して下さい。
  3. 「実行」をクリックして下さい。

なお、リストアする時のために、バックアップ元のフォルダ名をメモしておくといいでしょう。

(2015/6/20 16:06 検索を追加, 6/21 3:57 プリセットの自動プレイリスト名を修正, 6/21 15:09 自動シャットダウンとSoundCloudの検索、リリース・コンサート予定の表示を記載, 7/18 13:17 音楽フォルダを移動した場合を追加, 13:37 バックアップを追加, 10/18 15:11 若干加筆・修正, MusicBee 2.5での変更点を追記)

  •  1
  •  9

MusicBeeでの、タグやアートワーク(ジャケット画像)の編集や管理などについて書きます。初めての方は入門編をお読み下さい。

1. はじめに

MusicBeeは、音楽ファイル内のタグ(ID3v2.x)をサポートしています。また、音楽ファイルの特徴を元に自動的にタグを付けることや、ユーザ独自のタグ(カスタムタグ)を定義することもできます。更に、アートワーク(ジャケット画像)を表示したり、インターネットから取得したりできます。

以降では、それらについて説明します。

2. タグの表示・編集

以下の手順で、音楽ファイル内のタグを表示・編集することができます。

  1. 曲を選択します。
  2. 右クリック→編集を選択します。
  3. タグ編集ウインドウが表示されますので、必要な項目を変更し、「保存」を押して下さい。

なお、メインパネルに表示されているタグ(例: タイトル)は、(ダブルクリックにならないように)間をおいて2回クリックすると、直接編集できます。

3. タグの自動設定

以下の手順で、音楽ファイルのタグを自動的に設定することができます。

  1. 曲を選択します。
  2. 右クリック→編集を選択します。
  3. タグ編集ウインドウが表示されますので、右上の「自動タグ」の右端の▼をクリックし、「トラックを識別」、「タグの更新」、「Webサイトからアートワークを更新」にチェックを入れます。
  4. 「自動タグ」をクリックします。
  5. 「保存」を押して、変更を反映します。

4. カスタムタグ

カスタムタグは、ユーザ独自のタグです。以下の手順でカスタムタグを定義し、曲に設定することができます。

  1. [定義] 編集→設定→タグ(1)の「カスタムタグ」の「カスタム1」~「カスタム16」に表示名と保存場所を指定し、「保存」を押します。
  2. [曲に設定] 「タグの表示・編集」と同様に、タグ編集ウインドウを表示します。
  3. 「タグ(2)」に、先ほど定義したカスタムタグの名前が表示されているので、値を設定し、「保存」を押して、変更を反映します。

※カスタムタグは、デフォルトではMusicBeeのデータベース内にのみ保存されますが、曲のファイル内に保存することも可能です。手順や詳細については、こちらをご参照ください。

5. WAVE(WAV)ファイルのタグの文字化けについて

MusicBeeは、標準ではWAVファイル内のタグのエンコーディングにUTF-8を使用しますが、曲のファイルを作成したソフトがShift_JISなどを使っている場合には、タグが文字化けして「�」のような文字が表示される場合があります。その場合には、次の手順で直る場合があります。

  1. 編集→設定→タグ(1)の「タグの格納」の「WAVEファイルにUTF-8を使用する」のチェックを外して下さい。
  2. 文字化けした曲を右クリック→送る→ファイルの再スキャンを選択します。

なお、同じPC内にUTF-8とShift_JISが混在している場合には、上記の手順では解決しません。その場合には、例えば以下の手順で文字化けをなくすことができます。

  1. 「WAVEファイルにUTF-8を使用する」にチェックを入れ、再スキャンする。
  2. 文字化けしているWAVファイルを探し(自動プレイリストで「�」で検索)、インボックスに移す。
  3. 「WAVEファイルにUTF-8を使用する」のチェックを外し、再スキャンする。
  4. インボックスに移したWAVファイルをFLACなどにフォーマット変換する。
  5. (WAVに戻したい場合)「WAVEファイルにUTF-8を使用する」にチェックを入れ(再スキャン不要)、フォーマット変換したファイルを再度WAVにフォーマット変換する。
  6. 文字化けしていたWAVファイルをライブラリから除去する。

ただし、WindowsはWAVファイルをShift_JISと想定しているようで、UTF-8のWAVファイルをエクスプローラーで見ると文字化けします。

6. アートワーク(ジャケット画像)

アートワークは小さな画像で、通常は音楽ファイルと同じフォルダ内にあります。ファイル名は、通常"folder.jpg"か"cover.jpg"です。また、音楽ファイルに埋め込むことも可能です。

アートワークは、CDを取り込む時にインターネットのサイトから自動的に取得されます。また、取り込んだ後でも、インターネットのサイトから自動的に取得することも可能です。もちろん、自分で取得した画像を使用することもできます。

6.1 アートワークの再取得

曲が音楽ライブラリに入っている状態で、アートワークをインターネットのサイトから取得するには、以下のようにします。

  1. 「タグの表示・編集」と同様に、タグ編集ウインドウを表示します。
  2. 「タグ」または「アートワーク」の「ここにアートワークを―」の四角形を右クリックし、「インターネット検索」を選択します。

6.2 アートワークの手動設定

自分で取得した画像をアートワークとして設定するには、以下のようにします。

  1. 「タグの表示・編集」と同様に、タグ編集ウインドウを表示します。
  2. 「タグ」または「アートワーク」の「ここにアートワークを―」の四角形に、設定したい画像をドラッグ・ドロップするか、右クリックしてペーストします。

(2015/6/20 14:15 若干修正, 6/21 13:11 WAVの文字化けについて記載・修正, 10/18 14:57 MusicBee 2.5でも変更がないことを確認, 2016/8/1 21:35 カスタムタグを曲のファイル内に記録する手順へのリンクを記載, カスタムタグ番号の最大値を16に修正)

  •  0
  •  13

MusicBeeで、CDの取り込みとデバイスへの同期をする手順などについて書きます。初めての方は入門編をお読み下さい。

1. はじめに

MusicBeeに音楽を追加するには、CDを取り込んだり、配信されているものをダウンロードするなどの方法があります。また、MusicBeeは、管理している音楽を携帯音楽プレーヤーやUSBメモリなどのデバイスに同期(コピー)する機能もあります。

以降では、CDの取り込みとデバイスへの同期について説明します。

2. CDの取り込み

MusicBeeでCDを取り込むには、以下の手順を行います。

  1. 編集→設定→CDの取り込みで、取り込み条件を適宜修正します。特に以下の項目は要確認です。
    • エンコード形式とプロファイル: プロファイル(エンコード形式ごとの条件)を変更するには、「エンコーダ設定...」を押して下さい(4を参照)。また、MP3やAACに変換するには、事前準備(5を参照)が必要です。
    • 保存先フォルダ
    • ドライブ設定: 取り込み時のエラーを回復したい場合には、「セキュアな取り込み(エラー回復する)」にチェックを入れて下さい。この場合、取り込み速度が約1/2になります。
  2. 設定後、「保存」を押します。
  3. CDを挿入し、Windowsが認識するまで数秒~十秒間待ちます。
  4. ツール→CDを取り込むを選択します。
  5. CD取り込みウインドウが表示されますので、ジャケット画像やアルバム・曲情報を確認し、必要なら修正します。このウインドウの「設定」ボタンを押すと取り込み条件を変えることができます。
  6. 「開始」を押してしばらく待ちます。
  7. 取り込みが完了すると、CDがイジェクトされます。
  8. 取り込んだ曲は、インボックスに格納されています。必要ならタグなどを修正します。
  9. 取り込んだ曲を音楽ライブラリに移動するため、インボックス内のすべての曲を選択して右クリックし、送る→音楽ライブラリを選択します。

※CDの取り込み後は、一旦MusicBeeを終了した方がいいです。登録したファイルや情報が内部のデータベースに書き込まれていないことがあり、MusicBeeが異常終了した後にそれまでに登録した曲情報が消えてしまうためです。

3. デバイスへの同期

MusicBeeは、以下のようなデバイスをサポートしています。

  • 携帯音楽プレーヤー
  • USBメモリ
  • スマートフォン

Appleのデバイスは、iOSでない旧世代のものしかサポートしていませんが、プラグインをインストールすることで、iTunesの機能を利用して同期できるようになるそうです(私はそれらのデバイスを持っていないので、試しておりません)。

3.1 同期手順

MusicBeeの音楽をデバイスに同期するには、以下の手順を行います。

  1. Androidデバイスと同期する場合には、編集→設定→デバイスを開き、「MTPデバイスを検出する」にチェックを入れて下さい。
  2. デバイスをPCに接続し、Windowsが認識するまで待ちます。
  3. MusicBeeで編集→設定→デバイスを開いてください。
    そこに接続したデバイスの設定が表示されていなければ、そのデバイスはMusicBeeでは使用できません。
  4. 最初に同期する時は、同期の設定を適宜修正します。特に「デバイスの設定」の「オンザフライ変換」の項は要確認です。
    • オンザフライ変換(同期する時のフォーマット変換)をするか。: デバイスのメモリ使用量を減らすため、通常はします。オンザフライ変換には、ある程度のCPUスピードが要ります。
    • 変換先のフォーマット・プロファイル: 設定については4を参照して下さい。また、MP3やAACに変換するには、事前準備(5を参照)が必要です。
    • 変換する条件: 変換先のフォーマットと異なるもののみ変換する、すべて変換するなど。
    • 音量を揃えるか(リプレイゲイン): ここで設定すると、デバイスに保存される曲の(リプレイゲインのタグでなく)データ自体の音量が揃うように処理されます。
  5. 同期する曲の条件を指定したい場合には、「自動同期の設定」で設定します。
    • デバイスに格納されている曲をPCと同じにしたい場合は、「自動同期リストに含まれていないトラックをデバイスから削除する」にチェックを入れて下さい。
    • デバイスの容量が小さい場合には、「同期するファイル」でファイル数を減らすか、「デバイスのすべてのトラックを削除して、ランダムに選択して格納する」にチェックを入れて下さい。
  6. 設定の終了後、「保存」を押します。
  7. 左ナビゲータパネルのデバイスを開き、接続したデバイスを選択します。
  8. メインパネルにデバイスの情報が表示されますので、同期したいデバイスであることを確認し、「同期する」を押してしばらく待ちます。
  9. 同期が完了後、左ナビゲータパネルのデバイスを右クリックして「安全な取り外し」を選択し、少し経ってからデバイスを取り外します。

4. エンコード設定について

MusicBeeが曲のデータフォーマットを変換(エンコード)する場合、エンコード先のフォーマットごとにエンコード条件を設定できます。

エンコード先のフォーマットは、以下が利用できます。

MP3, AAC, OGG, OPUS, MPC, FLAC, ALAC, WAVE, WavPack, TAK, WMA

エンコード条件は、以下のプロファイルごとに設定できます。「保存用」が最も高音質ですが、一番ディスク容量を消費します。

  • 小さなファイルサイズ
  • ポータブルデバイス用
  • 高音質
  • 保存用

設定するエンコード条件は、エンコードプログラムのパラメタかメニューの選択で指定します。パラメタを変更するには、各プログラムのドキュメントを調べる必要があります。

5. MP3やAACでの取り込みや同期について

ライセンスの制限によって、MusicBeeにはMP3やAAC用のエンコードプログラムが同梱されていません。それらを使うには、事前準備が要ります。

準備の手順はMusicBeeのWikiに記述されていますが、以下に日本語訳を書きます。

4.1 MP3

  1. LAMEをダウンロードします。
  2. lame.exeをMusicBeeのコーデックのフォルダ(例: C:\Program Files\MusicBee\Codec\)にコピーします。
  3. 編集→設定→ファイルコンバータの「MP3有効」にチェックを入れます。既に入っている場合は、一旦外して入れ直して下さい。

4.2 AAC

  1. Nero AAC(ミラー)をダウンロードします。
  2. neroAacEnc.exeをMusicBeeのコーデックのフォルダ(例: C:\Program Files\MusicBee\Codec\)にコピーします。
  3. 編集→設定→ファイルコンバータの「AAC有効」にチェックを入れます。既に入っている場合は、一旦外して入れ直して下さい。

(2015/6/18 6:47 「音量を揃えるか」の項に若干加筆・修正, 6/20 若干修正, 6/21 13:01 WAVEとWavPakの混同を訂正, 6/21 14:54 自動同期の設定に加筆, 10/18 14:55 MusicBee 2.5でも変更がないことを確認)

  •  1
  •  7