旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

Safariでクラッシュするmp3ファイルを修正する

2012年5月14日

JavaScriptライブラリのSoundManager2を使って
MacのSafariでmp3の楽曲ファイルを読み込ませた際に、特定の音楽ファイルだけ
演奏時に正常にループしなくなったりクラッシュしたりする現象が発生しました

その対応のために複数のツールをまたがるような作業が発生したので
忘れないようにメモっときます

なお、SoundManager2はHTML5版ではなくswfファイルを使うFlash版の方です
中身は見てないので詳細不明ですが、
SoundManagerを介さずに普通にFlashを使ってても起こることなのかもしれません

サンプリングレートが44.10kHzだとクラッシュする

「サンプリングレートが44.10kHzの音ファイル」だとクラッシュしました
「括弧」付きなのは、音楽のことがよーわからずに言ってるからです・・・

自分は、音楽ファイルの情報をテキストで出力してくれる
真空波動研SuperLite というツールをインストールして

↓その出力にこれが含まれているファイルはクラッシュして

MPEG1-LayerIII 44.10kHz 128.00kb/s CBR JointStereo 2165f

↓これなら大丈夫!

MPEG2-LayerIII 22.05kHz 128.00kb/s CBR Stereo 2355f

という風にして判定しました

44.10kHzから22.05kHzへ変換する方法

NCHソフトウェアが提供している
音楽ファイル変換ソフト「Switch」を使いました

基本的な使い方などはわかるだろ、ってことで以下ポイントだけ

  • mp3 →(変換)→ wav →(変換)→ mp3 と、一度wavを介して変換する
  • wav変換時に「エンコーダオプション」から属性を「22050Hz, 32ビット, ステレオ」を選ぶ

これで 22.05kHz のファイルになって、クラッシュしなくなりました!
・・・音は劣化してるらしいですけど、気になるほどではというかぶっちゃけワカラン!

補足

Safariのバージョンは 5 でした

今回のエントリで紹介したツールは、全てWindows7で動くフリーのツールです

Switchは、他に一緒に入ってしまうツールがあったり
最初の頃に、勝手に先方の公式HPを開いたりして若干アレでしたけど
自分的には許容範囲内でした