[過去ログ] 音声可逆変換ソフト総合スレ (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
47(5): 2008/10/03(金)23:53 ID:zbHi8B7I0(1) AAS
>>45
fseekで2GB以上のファイルを扱うのはLP64とかILP64な処理系じゃないと無理でしょ。
fseekoみたいにoff_tじゃなくてlongだから。
>余計な SeekTable を作成するという不具合
それってfoobar2000のpipe encoderがwavのヘッダに
適当なdataチャンクの大きさを書くのが原因のやつじゃないの?
1.2.0で--ignore-chunk-sizesが追加されてるけど、
これを付けるとそもそもseektableが作られなくなる。
48(2): 35 2008/10/04(土)01:31 ID:FD/w9THf0(1) AAS
>>47
いえ、flac.exe 本体のバグ(?) です。
かなり昔の話だけど、確か Lilith の HP で見た気がしたので、
作者の書き込みかと思ってたら、ユーザの人の書き込みだったみたい。
外部リンク[cgi]:www.project9k.jp
2ch からは直リンできないんだったかな?
みれなかったらURLコピペでよろすく
49(3): 2008/10/04(土)01:55 ID:L6+WXtUj0(1/3) AAS
>>48
いや、それだとどうやってflac.exeを使ったかが分からないから
wavヘッダのサンプル数が間違っている可能性は捨てきれないと思うけど。
サンプル数を越えたところにまで空のseekpointを作成というのは
まさにその問題の典型だし。
50(2): 2008/10/04(土)12:09 ID:M36DJN+M0(1/3) AAS
>>45,47-49
LilithのVerの件ですが、ご指摘のとおり0.9.9.2にアップデートでlibFLAC 1.2.1になりました。
度々ホントありがとうございます。
一度オンラインアップデートしたんだけどなぁw
SeekTableの件につきましては、
foobarというかPIPE処理等で事前にサンプル数が取得できない際におこるようです。
Seek Point計算はサンプル数が必須で、
例えば録音しながらPIPEで変換等は問題がでそうと考えます(サンプル数渡してもダミーだろぉし)
外部リンク[cgi]:www.project9k.jp
その後の1217で投稿した方もエンコード方法を認めております。
省16
51(4): 2008/10/04(土)13:56 ID:YQPA4Ds60(1) AAS
>>50
レポート乙
52(3): 2008/10/04(土)14:48 ID:L6+WXtUj0(2/3) AAS
>>50
>素人考えですがflacはSeek Tableの構造上PIPEエンコードにはむかない
FLACはseektable無しでもシーク可能。seektableはシークを高速にするためにある。
>Lilithだと-b 4608としているようで、frame_samples=4608となりました
4096じゃないのはlilithがFLAC__stream_encoder_set_compression_levelを使ってないのが原因だな。
>デフォルトだと0で当然METADATA blockにPADDINGはありませんでした
今のFLACのフロントエンドはデフォルトで8192bytesのpaddingを付加するよ。
53(1): 2008/10/04(土)18:23 ID:M36DJN+M0(2/3) AAS
>>51
や、いつも長ったらしくてホントゴメンよぉ……、今回も長いけどw
>>52
>FLACはseektable無しでもシーク可能。seektableはシークを高速にするためにある。
PIPEでファイル作成できない、もしくは他のエンコーダに劣るという訳ではなく、
PIPEによってFLACの特徴を一つ失うとなるならば、むいてるとは言えないのかなと。
PIPEを使わずにSeekTableありで変換できるのならばそちらを選ぶでしょうし。
>FLAC__stream_encoder_set_compression_levelを使ってないのが原因
frame samplesの違いは試してた際に特に気になっておりました。ありがとうございます。
>今のFLACのフロントエンドはデフォルトで8192bytesのpaddingを付加するよ。
省3
54(2): 2008/10/04(土)18:58 ID:M36DJN+M0(3/3) AAS
あー、わざとfoobarで--ignore-chunk-sizes外した結果を書いてなかったです。
ソースwavファイル詳細:24bit 96kHz 2ch 9:11 (551sec) 302 MB (317,494,364 バイト)
flac.exe 1.2.1bでコマンドラインにてエンコード 184 MB (193,579,813 バイト)
〜前略〜
point 54: sample_number=51838976, stream_offset=189826283, frame_samples=4096
point 55: sample_number=52797440, stream_offset=193141717, frame_samples=4096
flac.exe 1.2.1bにてfoobarで--ignore-chunk-sizesあり 184 MB (193,578,801 バイト)
type: 3 (SEEKTABLE)は無しで後はコマンドラインと同じ。
flac.exe 1.2.1bにてfoobarで--ignore-chunk-sizesなし 18.3 MB (19,232,591 バイト)
〜前略〜
省11
55(4): 2008/10/04(土)19:47 ID:L6+WXtUj0(3/3) AAS
>>53
別にパイプだと必ずダメと言う訳じゃないよ。
普通にシェルからcat hoge.wav | flac - -o hoge.flacとかやる分には何の問題もない訳で。
サンプル数が既知なのに、わざわざパイプで渡す時に
チャンクサイズを不定にして渡すから問題になる。
だから47ではflacではなくfoobar側の問題という書き方をした訳だが。
スレ違いだがLAME 3.98のTLENタグなんかでも同じ問題が起こるはず。
56(2): 2008/10/05(日)06:00 ID:aBfFvcZR0(1) AAS
>>55
こんな時間ですみません。
>別にパイプだと必ずダメと言う訳じゃないよ。
ソレは実は解ってはいたんですが、変換元がwavファイルから渡すと確定していたり、
サンプル数が確定している場合がPIPE処理を使う前提の場合だと少ないのかなぁと思った訳です。
変換時に一時ファイルを作成したり、サンプル数が確定しているwavからの入力しかないと解るならば、
PIPE処理の必要性はあまりない気もしたので。
>LAME 3.98のTLENタグ
どぉやら似たよぉな感ぢですね、ちと色々みてみます。
ホントにご丁寧にありがとうございます。
57(1): 2008/10/05(日)16:25 ID:dwFW1c500(1) AAS
PCDJとバックアップの為に音源をアナログからPCに取り込もうと思ってここ来たが、
PCDJ用途と考えると展開速度が速いFLACが良いのかな
勉強になる
58(2): 2008/10/05(日)16:37 ID:IWv8Vcfq0(1) AAS
まあ、PIPE入力だと元がファイルではなくて終わりが決まっていないストリームの場合もあるから
エンコーダ側ではサンプル数を当てにした処理は避けうるなら避けたほうがいいのかも。
その辺はフォーマットのファイル設計なんかも関わってくるよね。
59(4): 2008/10/05(日)17:30 ID:Tg7yoQeF0(1) AAS
FLACの場合はメタデータブロックがファイルの先頭(圧縮データより前)にあるから、
seektableを作る場合、圧縮前にあらかじめseekpointの数だけ領域を確保する。
この操作のためにサンプル数が事前に必要。
ちなみに何サンプル目にseekpointを置くかを決めればいいだけなので、
サンプル数はおおよそでOKで正確である必要はない。
エンコード後に実際のサンプル数を使ってseektableを更新できるのが理想だけど、
確保した領域の分よりも多くのseekpointが必要な場合、
メタデータブロック後の巨大な圧縮データを再配置する必要がある。
ただ、padding領域を使えばある程度までならメタデータブロックのみの再配置で済むから
この程度の実装なら将来のFLACでやるかもしれない。
省1
60(3): 2008/10/06(月)00:21 ID:+Ew7Qu3h0(1/2) AAS
ごめんマニアックだけど
普通のWAV(CD音質=44100Hz)以外のWAVでも対応してるのってありますか
DTMしてるんで24Bit/48kHzで保存してたりするもんで。
61(4): 2008/10/06(月)00:31 ID:lIkuJkQR0(1) AAS
>>60
FLAC, WavPack, etc
外部リンク:en.wikipedia.org
62(2): 2008/10/06(月)00:43 ID:+Ew7Qu3h0(2/2) AAS
>>61
海よりも深くThx
63(1): 2008/10/06(月)12:26 ID:K/cRAG+O0(1) AAS
>>58
うちもそんな感ぢで考えてました。
入力元がファイルで長さが決まっているならば別フォーマットから変換でも簡単にwavのサンプル数割り出せるぢゃんってのは、
書いた後直ぐに気づいたのですが///
>>59
>FLACの場合は
詳細な説明ありがとうございます。
>サンプル数はおおよそでOKで
ってのが意外に感ぢしたが、きちんとchunkSizeを渡してなかった時もSeekTableを作ってはいたのに気づくべきでした。
ちと、foobarがstreamでなくファイルも何故サンプル数をきちんと渡していないか考えてみたのですが、
省8
64(3): 2008/10/10(金)20:56 ID:KUhZ1k0h0(1) AAS
保守
65: 2008/10/11(土)22:42 ID:PdZtDwEJ0(1) AAS
WMA可逆圧縮で保存したものをMP3に変えたいんだけど、どうやったらできるんですか?
66(2): 2008/10/11(土)23:56 ID:idxHXN7i0(1) AAS
dbPowerAmpでも使えばいいだろ
上下前次1-新書関写板覧索設栞歴
あと 936 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s