SONY WALKMAN NW-A850
通勤中などに音楽を聞く用途の場合、ノイズキャンセリング対応&そこそこ小型、というのが重要。
ということで、普段はNW-A850を使用している。
こいつを使用する上で、不満だった点がいくつかあった。
- 24h使用しないとスタンバイモードから電源OFFになるが、電源OFFになると再生していた場所を忘れる
- Vorbisに対応していない
- AACに対応と書いてあるが再生できない?
これらのうち、最後のAACの件について少しだけ進展したのでメモ。
aacの再生できなかった状況
NW-A850の仕様一覧を見ると、音声圧縮形式としてAACにも対応、と書いてある。
しかし、
*.aacなファイルを入れても再生リストに出てこない。
実は再生不可能なフォーマットになっていて、そういったものはリストに出てこないのかと思って
*.wmaで48kHzなファイルを入れてみた。
しかし、再生リストには出てくるが未対応のフォーマットです、と怒られる。ということで再生可能かどうかはあまり関係ないらしい。
aacが再生リストに表示されない原因
WALKMAN用のファイル転送ソフトであるx-アプリに関するWikipediaのページを見ると、aacに関するコンテナフォーマットとして
MP4(*.3gp,*.mp4,*.m4a)と書かれていた。
つまり、拡張子が
*.aacで再生リストに表示されなかった理由はコンテナだった。
AACといえば拡張子はaac、と思っていたので、まさかコンテナの問題とは思わなかった…
aac→m4aの変換方法
aacからm4aへの変換は
ffmpegでできる。
ffmpegで音声変換を行う際の基本的な書式は
ffmpeg -i <input_filename> -acodec copy <output_filename>だが、どうやらffmpegでは出力ファイル名として
*.aacが指定された場合には素のAAC、
*.m4aが指定された場合にはMPEG4コンテナに格納されたAACを出力するらしい。
そのため、
<input_filename>に
*.aacを、
<output_filename>に
*.m4aを指定することでAACファイルをMPEG4コンテナに入れることができる。
今回は下記のようなシェルスクリプトを作って一括で変換。
#!/bin/bash
IFS=$'\n'
for input_file in $*
do
/usr/bin/ffmpeg -i ${input_file} -acodec copy ${input_file%.*}.m4a
done
変換した後にWALKMANへコピーすることでリストにも表示されるようになった。
しかし、再生してみると再生はされてるようだけど音が出ない…
詳細情報を見るとビットレートが0kbpsと表示されているのでまだ何かがおかしいらしい。
原因はなんだろうなぁ…
(追記)
いろいろ試してみたところ0kbpsと表示されても再生できるものもある。
- ダメだったもの: 48kHz / 49kbps
- 再生できたもの: 44.1kHz / 49kbps, 98kbps, 194kbps
ちなみにNW-A850の仕様には下記のように書いてある。
本体で再生可能なAACファイル形式フォーマット:AAC-LC
ビットレート:16-320kbps(VBR)(サンプリング周波数によっては規格外および保証外の数値も含みます)
サンプリング周波数:8/11.025/12/16/22.05/24/32/44.1/48kHz
サンプリング周波数によっては規格外および保証外の数値も含みますに引っかかってしまっているのかもしれない。
(追記 その2)
先日スペインへ行った際に、WALKMAN本体を紛失してしまった。
そのため試行錯誤も終了。