2013年10月10日木曜日

  

lossyWAVを使用してのWalkmanでギャップレス再生

X-アプリのAtracやMedia Goで取り込んだmp3/aacは、
機種によってWalkmanでギャップレス再生できそうな事は分かった。
しかし、これはLameでいう所の--nogapオプション相当の機能で、
曲の長さがオリジナルと異なってしまうエンコード方法である。
オリジナルと一緒の長さを保ったままファイルを作成しようとすると、
可逆圧縮しか道は無さそうである。

通常のアルバムはLAMEでmp3にエンコードを行い、liveや、
NonstopMixのCDはflacでエンコードするのがいいのかなと思う。

だが、flacはファイルサイズがでかいのでWalkmanに入る曲が少なくなってしまう。
そこで、lossyWavでflacファイルを作ることによって、
不可逆圧縮でWalkmanでギャップレス再生できるファイルを作成してみた。

lossyWavとは何か?
lossyWavは、波形を最適化することによって、可逆圧縮をしたときに
ファイルサイズを少なくできるプログラム。
当然、波形をいじくるので可逆圧縮ではなくなる。
Wavファイルのサイズが小さくなるわけではない、あくまでもこの後に
可逆圧縮をかけることが必要。

用意するファイル
lossyWav 1.3.0
Flaccl 0.3
fpFlac (Open CL対応のグラボを持っていない場合)


Foobar2000のコンバート設定では--stdoutで2つのプログラムの橋渡しが可能らしい。
そこで、lossyWavとflacclを組み合わせて、LossyFlacを作ってみる。
LossyWavとFlacclを適切な場所に設置し、パスを通しておく。

コマンドラインオプション(lossyWav+Flaccl)
/d /c lossyWAV - -q X --silent --stdout|CUETools.FLACCL.cmd --quiet -b 512 -8 --verify  --cpu-threads 1 - -o %d
(スレッド数を増やすとエラーが出たのであえてスレッド数は1にしてある)

コマンドラインオプション(lossyWav+fpFlac)
/d /c lossyWAV - -q X --silent --stdout|fpFLAC -b 512 --threads 12 -f %s %d -V -8
(スレッド数は手持ちのパソコンの物に変更する。)

lossyWavの-q <X>オプションは
I , E , H , S , C , P , X
←高音質   高圧縮→
Xを指定するとflacファイルのビットレートが320kbpsぐらいになる。

Flaccl/fpFlacの方は-bオプションで512を指定してやる必要があるっぽい。

一応、出来上がったファイル名の末にlossyを付けることにした。

出来上がったファイルをNW-F807に転送して聞いてみた所、
ギャップレス再生される事を確認した。
今後、容量不足になった時にはLossyFlacを利用していこうと思う。

2013年10月9日水曜日

  

Media Go 2.5a のギャップレスエンコードを調べてみた。

Media Goがバージョンアップして2.5aになったらしい。
バージョンアップ内容にmp3のギャップレスエンコードがあったので、
どのような実装方式なのか調べてみた。

夏に買ったS2TB RecordingのHardcore United Tokyoが
ノンストップミックスだったのでエンコードを試してみる事にした。

結果
NOTittleFLACLAME MP3Media Go
01intro1:13.9461:13.9461:14.031
02Tranny Stream3:09.7733:09.7733:09.988
03Skorpion EVO2:36.2802:36.2802:36.264
04Look up in the Sky3:20.9333:20.9333:20.933
05Shout2:34.8802:34.8802:34.880
06See It Coming3:09.7603:09.7603:09.779
07The Haunted!3:05.5863:05.5863:05.573
08Odessey3:00.0003:00.0003:00.009
09As One feat. Yukacco [RoughSketch Remix]3:16.7603:16.7603:16.754
10KILLER MACHINE4:50.2403:54.3863:54.396
11Soul Of Noise4:50.2404:50.2404:50.194
12Oyasumi [TANUKI vs. Dil Remix]4:05.6004:05.6004:05.603
13Protorusion3:20.9063:20.9063:20.907
14Magic Rave Night4:05.5864:05.5864:05.603
15Are You Ready [DJ SHIMAMURA Remix]4:41.8534:41.8534:41.808
16Starlit Sky4:26.2804:26.2804:26.344

54:5254:5254:53

LAMEで取り込んだ曲もMedia Goで取り込んだ曲もFoobar2000では、
mp3_accurate_length = yesとなっていてギャップレス再生は出来た。
しかし、 Media Goで取り込んだ方はパディング等の情報が表示されなかった。

Flacで取り込んだ曲と、lameを使って作成した曲は長さが一致しているが、
Media Goで取り込んだ曲は長さが違う結果となった。
これはMedia Goが--nogapオプションでmp3をエンコードしていると見て間違いなさそうだ。
現状では、Media Goで不可逆圧縮を利用すると曲の長さが改変されてしまう。
Atrac時代から、なぜこの仕様を引きずっているのか理解に苦しむ。
mp3エンコードでVBRが選べないのもこの仕様によるのだと思う。
個人的に、mp3の優れている所はLAMEを使ったVBRエンコードだと思っているので、
Media GoでのMP3のCBRエンコードはあまり意味がないように思う。
曲間情報を正しく保ったままWalkmanでギャップレス再生しようとすると、
Media Goで可逆圧縮形式を使うしか道は無さそうである。

2013年10月3日木曜日

  

PeercastでのFLV(H.264)視聴をまとめてみた

PeercastStationを導入する。

PecaFlowPlayerを導入する。
PecaFlowplayerフォルダ内のflowplayerをpeercaststationのフォルダ
C:\Program Files (x86)\PeerCastStation-1.5.3\htmlにコピー
その他のファイルはC:\Program Files (x86)\PecaFlowplayerと配置する。

pcyplite同梱のpcfp
pcfpはpcypliteに同梱されていますがpcyp2等でも利用ができました。
pcypLiteフォルダ内のpcfpをpcypのフォルダにコピーします。

PeerCastAirPlayer
pcap内のpcap.airをダブルクリックでインストール、同時視聴は4つまでだが、
同梱のinstal.regをレジストリ登録すると5つ以上見えるらしい。

pcypの設定
pcyp等のYP取得するTypeに『flv|』を追加する。
pcypliteには再生するメディアタイプによって再生するプレーヤーを選べますが、
pcypには無いので、ツールのコマンドよりプレーヤーを追加します。
とりあえずどちらもコマンドに"<stream/>" "<channelname/>" "<type/>"
等を追加すればよいみたい。
pcyp2への登録例
メニュータイトルコマンド
pcfpC:\Program Files (x86)\pcyp\pcfp\pcfp.exe  "<stream/>" "<channelname/>" "<type/>"
PecaFlowplayerC:\Program Files (x86)\PecaFlowplayer\pecaflowplayer.exe "<stream/>" "<channelname/>" "<type/>"
pcapC:\Program Files (x86)\pcap\pcap.exe "<stream/>" "<channelname/>" "<direct/>"
チャンネルリストより右クリック→ツールでプレーヤーを選んで視聴ができる。


PecaFlowPlayer
iniファイルに再生時の音量を記述することができる。
拡大縮小のアスペクト比が固定されている
フルスクリーン表示ができる。

pcfp
アスペクト比が固定されていない。
フルスクリーン表示が出来ない。(Windowのメニューバー、ダブルクリックで拡大は可能)

PeerCastAirPlayer(pcap)
Adobe Airを使用したFLVプレーヤーらしい。
ハードウェアデコードに対応していてCPU負荷を軽減できるらしい。









  

fpFLACを使った高速エンコード

Core i 7 3612QMのノートPCでは、flacclで変換速度が思ったほど伸びなかった。そこでOpenCLベースではなくて、通常のエンコーダを使って見ることにした。

flake
本家のエンコーダよりも高速化されているバイナリらしい。
flacclの-verifyオプションで使用されていたりするが、あくまでもテスト段階らしい。

fpFLAC
マルチスレッド処理のエンコーダということで
fpFLACを試して見ることにした。
(※エンコードするにあたって、64bitアプリケーション環境が必要です。)


可逆圧縮は、コンバータ設定にあるBit depthのHighest BPS mode supportedを16に設定する。
(ビットパーフェクトに出力するため)

EAC向けコマンドラインオプション
/c fpFLAC--threads 8 -f %s %d -V -8
圧縮率は本家と同じ-8にしてverifyをかけるために-Vオプションを付けた。
サイレントモードはどうも無いっぽいのでそのまま。

Core i 7 3612QMのノートPCで54分のCDが15秒ほどでエンコードできた。
GeForceやRadeonを搭載していないノートPCでは、
fpFLACの方が高速でエンコード出来ることが分かった。


※2017-08-11 fpFLACの配布元URLが変更になっていたので修正
  

testtest

連動test