Dies Aliquanti

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

しかたないので、AACを別録音する-その4 ext_bsではまる (2)

昨日の日経新聞の文化面に、レコード針のナガオカの社長さんが書いていたのを見て思い出しました。
実家にあったターンテーブルを持ってきたら、ちゃんと回らない
orz
修理しなくては、、、と思いながら早
4年。なんと意思の弱いことよ。

 


それはともかく、ハマッていたのは、STBからS/P DIFから録音したwavファイルから、ext_bsaacァイルを作成するところ。短いファイル(数分)ならば問題なく変換できているのですが、映画1本分ぐらい(2時間弱)の長さになると、「」と表示されて変換できません。頭キテ、「IEC61937(-1,-2,-6あたり)を買って自分でつくっちゃおうか?」と無謀な思いをはせたりしてました。

 

物は試しで、Waveファイルの編集をするツールで長いファイル(long.wav)50分くらいに分割(long1.wav,long2.wav)にして、ext_bsに食わせるとちゃんと、変換できます(long1.aac,long2.aac)。で、これを、

copy /B long1.aac+long2.aac long.aac

とかやって強引につなぎ合わせると全編分のaacが問題なくできました。まあ、継ぎ目のところは1ブロック分デコードできてない可能性はありますが、今回の実験ではちょうどstuffing dataのところで分割したようで問題なかったようです。

で、バイナリエディタBz (Vzを作った人なのね,懐かしい)で中身をみてみると、オリジナルのwavデータのDataチャンク(RIFFチャンク)の長さが変。dataチャンクの大きさが8000_0000(h) とかになってます。Linuxarecordコマンドで録音して、録画終了時にkill で止めてるいるためでしょう。
もともと
Wavファイル(RIFFフォーマット)4GBを越えられないのは知っていたけど、2時間でも、4800×4×60×60×2= 138240000 だから大丈夫と思っていたのですが、こんな値とは…本来uint32_tで扱わなければならないところを、int32_tで扱っているとすると、負の値になってしまいます。これが原因かな?んー、ext_bsのバグですかね。

普通はWavファイルの作成にでarecord + killなんか使わないのでしょうから、ちゃんとしたwavファイルができていて、この場合数時間でもdataチャンク長は正の値ですから問題が顕在化していないのでしょう。。。
実ファイル長と
dataチャンクの長さなんて、どうせ厳密には調べてないと思い、bzdataチャンクの長さを適当に正の値に変えてやったら、ext_bsでちゃんと最後まaacに変換できました(らっきー)

というか、linuxでarecordを動かしているスクリプトの中で、arecordを止めるのに、SIGKILLを送っているのがマズイ。ちゃんとSIGTERMにしたらdataチャンクの長さが正しいwavファイルができました。スクリプトは直しておきます。(ああハズカシイ)



コメント

Re:しかたないので、AACを別録音する-その4 ext_bsではまる(10/28)

ベルトドライブのターンテーブルはゴムの劣化でベルトが切れてしまうのね。
今のご時勢では、ベルトをどこで調達したらいいのやら難しいです。

ダイレクトドライブならば、ベルトやキャプスタンなどがないのでゴムの劣化なんて無縁ですけれども、「60極モーターだと極間6°ずつ進む」といった具合に、(モーターアンプ技術に間欠補完制御とかもありますが)物理的な問題で低速回転がスムーズにはならないのですね。
ダイレクトドライブがなんで60極とか偶数なのかといえば、分速33+1/3回転を50Hzや60Hzと掛けることをおもえば10と3の倍数になっていたほうが計算が簡単になるのだと思いますわっ!

  • 2009/10/30(金) 21:33:27 |
  • URL |
  • maimi09 #79D/WHSg
  • [ 編集 ]

Re[1]:しかたないので、AACを別録音する-その4 ext_bsではまる(10/28)

maimi09さん,おはようございます。
>ダイレクトドライブならば、…
DENONのDDなんですよ。脱調してるので、駆動系ならなんとかなるかも知れませんが、モーターの断線とかだとアウトです。何より重量が大きくて、押入れから出すことを考えるだけでユウウツになります。

  • 2009/10/31(土) 05:50:23 |
  • URL |
  • B.O #79D/WHSg
  • [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://diesaliquanti.blog.fc2.com/tb.php/725-9ca5a514
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

まとめ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。