音声可逆変換ソフト総合スレ

■ このスレッドは過去ログ倉庫に格納されています
2008/08/26(火) 01:50:03ID:S1f4gspJ0
です
2名無しさん@お腹いっぱい。
垢版 |
2008/08/26(火) 02:22:59ID:beofQXWh0
ごめん、よくわからないけどこのスレ開いちゃったんだ・・・

許してくれる????
2008/08/26(火) 02:30:41ID:VpM/W4vK0
Monkey's Audio http://www.monkeysaudio.com/
圧縮率と圧縮速度重視。オープンソース。
Flac http://flac.sourceforge.net/
展開速度重視。オープンソース。
Wavpack http://www.wavpack.com/
バランス型。非可逆圧縮との差分が作れる。オープンソース。
TTA http://www.true-audio.com/
圧縮速度重視。オープンソース。
TAK http://www.thbeck.de/Tak/Tak.html
圧縮率、圧縮速度、展開速度のバランスに最も優れる。Windowsのみ。
OptimFROG http://www.losslessaudio.org/
圧縮率重視。Windows, Linux, Mac。
Shorten http://etree.org/shnutils/shorten/
最古参。圧縮率は最低レベル。オープンソース。
MPEG-4 ALS http://www.nue.tu-berlin.de/forschung/projekte/lossless/mp4als.html
MPEG-4標準規格。一部オープンソース。
La http://www.lossless-audio.com/
圧縮率最重視。速度は度外視。Windows, Linux。
LPAC http://www.nue.tu-berlin.de/wer/liebchen/lpac.html
MPEG-4 ALSの前身。
Apple Lossless Audio http://www.apple.com/jp/itunes/
Apple純正。
Windows Media Audio Lossless http://www.microsoft.com/japan/windows/windowsmedia/9series/codecs/audio.aspx
Microsoft純正。
2008/08/26(火) 02:56:49ID:O25ptmL/0
>>3
以下に独自実装で対応しているffmpeg抜かさんでくれ。
TTA decoder
APE(Monkey's Audio) decoder
Shorten decoder
Wavpack decoder
FLAC enc/decoder
ALAC(Apple Lossless Audio Codec) enc/decoder

http://ffmpeg.mplayerhq.hu/
2008/08/26(火) 03:10:02ID:VpM/W4vK0
>>4
Monkey's Audioスレにあったフォーマットまとめにコメントを加えただけなのでw

基本的にlibavcodecは車輪の再発明かライセンスの問題絡みでやってるだけだから
純正のを(使える環境なら)使った方がいいんだよね。
FLACエンコーダの実装に関しては作者が使わない方がいいとまで言ってる。
http://www.hydrogenaudio.org/forums/index.php?showtopic=45013&st=300&p=443961&#entry443961
2008/08/26(火) 03:19:23ID:O25ptmL/0
>>4に追加で
MLP/TrueHD decoder (encoderは開発中の模様)

>>5
えーと、flakeがffmpegのflacエンコーダを作った人が作ったffmpegのflacの非公式フロントエンドだっけか。
シークがおかしいってのはmuxer側の問題で、もう修正されてたと思うけど…。
2008/08/26(火) 03:57:30ID:VpM/W4vK0
>>6
おかしいんじゃなくてFLACのメタデータブロックに格納されてるseektableがサポートされてない。
無くてもシークは可能なんだが、FLACの特徴である高速なシークの恩恵を享受できない。

今ソース見てみたけどデコーダ(これはflakeとは無関係)もseektableサポートしてないね。
2008/08/26(火) 04:36:10ID:81upYMGl0
       ,/‐ \ ::::::::::::ヽ
      , ' s    \::::::::::::i
     /"""''/ーナ-t----|
.    /   ,.‐   ⌒    /ヘ
    {入|(・)  (・)    |||||||   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
      |⊂⌒◯-------9)  <  ウィルス、ゲットだぜ!
      | |||||||||_    |    \_______
       \ ヘ_/ \ / ̄`\、
.        \、__ i⌒i/, -'"~  `ヽ、
       ,.‐'´   i--i        \
       `〈ヽ, -'"~T  ヽ、 , -'" ~ `ヽ、
       / ( ̄ T   iヽ、__     \.
     /    ( ̄T   |   `ヽ、    }
    く       ̄ `ヽ、/__        /
    / `ヽ、/|       `ヽ、 __ノ
       /  |          T
9名無しさん@お腹いっぱい。
垢版 |
2008/08/26(火) 04:41:06ID:+UIMU6H80
比較
http://www.monkeysaudio.com/comparison.html
http://flac.sourceforge.net/comparison.html
http://www.true-audio.com/TTA_Lossless_Audio_Codec_-_Performance_Comparison
2008/08/26(火) 04:43:15ID:VpM/W4vK0
>>9
定番が抜けてるぞw
http://www.synthetic-soul.co.uk/comparison/lossless/
11名無しさん@お腹いっぱい。
垢版 |
2008/08/26(火) 04:47:04ID:+UIMU6H80
>>10
クスコ

なんでMonkey'sAudioのInsaneが抜けてるんだろう?
12名無しさん@お腹いっぱい。
垢版 |
2008/08/26(火) 04:52:57ID:+UIMU6H80
関連スレ
Monkey's Audio part4
http://pc11.2ch.net/test/read.cgi/software/1136974601/
2008/08/26(火) 12:31:24ID:uxvUhCQU0
関連スレ
音声可逆変換ソフト総合スレ
http://pc11.2ch.net/test/read.cgi/cdr/1219666212/
2008/08/27(水) 12:49:10ID:ts6gl6Gl0
なんで可逆限定になったの?
2008/08/27(水) 15:25:44ID:37xf62iv0
俺が知りたいから
2008/08/27(水) 21:44:55ID:blDj8N7M0
>>1


>>14
非可逆まで入れたら収拾がつかないだろjk
17名無しさん@お腹いっぱい。
垢版 |
2008/08/31(日) 05:32:39ID:ntfelHhL0
今のところ圧縮率と速度でMonkey'sAudio
対応ハードの多さでFLAC

この2強という考えてOKだよね?
2008/08/31(日) 08:17:59ID:5y34/LxpO
まさかそうくるとは思わなかった
あとapeの速度は底辺
2008/08/31(日) 11:55:36ID:/WYunfG90
>>17
WAVへの展開の速さ=再生付加の軽さもダントツだよ>flac

しかし可逆は非可逆よりも乱立してる感があるなぁ
いくつかまとまってほしい
20名無しさん@お腹いっぱい。
垢版 |
2008/09/01(月) 20:53:06ID:Hpf6eOVd0
>>19
展開速度ってポータブルに載せるときぐらいしか重要じゃないよね

ape、flac、La、MPEG-4 ALS、applelossless ぐらいで十分かな?
2008/09/02(火) 00:51:41ID:W9g+jvmn0
>>19

可逆圧縮は純粋な論理処理だから、プログラマにはそそられるんでしょうね。

心理音響モデルみたいな要素は、非可逆圧縮の場合は実装のキモだけど、
コーディング以外の手間と時間がかかりますしね。

可逆は無劣化でトランスコーディングできるので、どのフォーマットが残ってもいいですね。
22名無しさん@お腹いっぱい。
垢版 |
2008/09/04(木) 00:55:19ID:DgjJRjhp0
>>18
ape速いじゃないか。
FLACよりエンコードは速いぞ。
2008/09/06(土) 18:30:57ID:+Akcd2vL0
takは速くてそれなりの圧縮率だぜ
2008/09/06(土) 23:18:20ID:hMiRkFyV0
craving explolerと携帯動画変換君では、flvからmp4にする場合、
どちらの方が、音質、画質がいいのでしょうか
2008/09/10(水) 20:04:14ID:SAB7gvn50
eacがcue書き込みでwav,ape以外をサポートしてくれればapeを捨てられるのに。
2008/09/10(水) 20:09:46ID:+chtzj850
wavから他の形式に変換すればOK
27名無しさん@お腹いっぱい。
垢版 |
2008/09/10(水) 23:47:58ID:l6mngndo0
>>25
イミフ
2008/09/11(木) 02:12:18ID:I0K7SYek0
FILE "CDImage.ape" WAVEなcuesheetがそのまま焼けるってことだろう。
人にあげる時とかwavに戻さなくていいから楽ではあるな。
2008/10/01(水) 02:54:07ID:cwJrYLCk0
flac、tak、wavpackでいつも悩むよ。

flac: 汎用性高、負荷低、tag editorでも扱いやすい。
tak: 性能良、だけど2chまででDVDから抜くときは使えないし、tag editor含めまだまだ発展途上。
wv: flacよりも圧縮率高だけど、汎用性や負荷が中途半端。

apeは負荷高いし、すぐ壊れるので使わない前提です。
2008/10/01(水) 07:44:11ID:Dhh56TnJ0
デメリットを書いてないflacを使えばいいんジャマイカ?
あえてデメリットを挙げるならその中で一番圧縮率が悪いってことだけども。

あと、個人サイトっぽいけどこんなのありました。
ttp://www7a.biglobe.ne.jp/~fortywinks/music5.htm
2008/10/01(水) 08:42:30ID:Dhh56TnJ0
urlはスレ違なので無視しして下さい・・・
2008/10/01(水) 12:45:25ID:2POb/yOD0
自前のwavファイル(24bit 96kHz 2ch 2:03:06 3.96 GB (4,254,562,124 バイト))
をflacへエンコードしようとしたのですが、作成されたflacのサイズが2.00 GB (2,147,498,063 バイト)でエラーになります。
foobar2000、flacDrop、FLAC frontendあたりを試しました。

FLAC 1.1.3でLarge file (>2GB) support everywhere
とあったので作成できるのでは?と思っているのですが、何か特別なコマンドライン等はあるのでしょうか?

flacのバージョンは1.2.1bで、念のためOSはXPのSP3です。
foobar2000でのエラーメッセージは下記のとおりです。

An error occured while writing to file (The encoder has terminated prematurely with code 1; please re-check parameters) : "a.flac"
Additional information:
Encoder stream format: 96000Hz / 2ch / 24bps
Command line: "C:\flac.exe" -s --ignore-chunk-sizes -5 - -o "a.flac"
Working folder: E:\
2008/10/01(水) 12:54:09ID:89WsoUBc0
たぶんwindows環境では2GB止まりなんじゃない
処理系のFILEとかoff_tの定義とか次第だと思う

WavPackも試してみたら?
2008/10/01(水) 18:55:10ID:2POb/yOD0
>>33
即レスありがとうございます。
内容は全く追ってませんが、ちとソースを覗いてみたところ、
#if _MSC_VER <= 1600 /* @@@ [2G limit] */とコメントもあったので、
お話にあったとおりWin環境ぢゃ厳しいのかもしれないです。
ちなみに、VCぢゃなくってICLでコンパイルしたものなら……って試してみても同じでした。

takでは前にエンコードしているのですが、-ihsコマンドを付加しPIPEで処理すればエンコード可能で、
(たしか-ihsをつけないと2GB以上はエラーになった気がしました)
WavPackでは先ほど試したところ問題なくエンコードは可能、
Monkey's Audioは即エラーとなりました。

そのうちVMwareにでもLinux入れて試してみます。
2008/10/01(水) 22:55:03ID:7k+DanR00
#if _MSC_VER <= 1600 /* @@@ [2G limit] */とコメントもあったので、

これに引っかかるコンパイラって、いつの時代の VC だよw
アプリの方が 2G 超えるファイルを扱えないか、
保存先に指定しているドライブが、FAT32 なんだろう。
ためしに Lilith で変換してみたら、
2.5GB の FLAC ファイル作れたので、
FLAC がサポートしていないわけではない。
環境見直してみなさい。
2008/10/02(木) 04:47:22ID:RKymDEoc0
>>35
こんな時間にすみません。
2Gで検索かけてコメントの2G Limitしかみてなかったw
相変わらずその先の処理もまだみてませんが。

ソースのwavファイルの位置、flac.exeの位置、保存先はNTFSでしたが、
Lilithで変換したらあっさりできました。

アプリの方が〜ってありましたので念のためGUIアプリを使わず、
コマンドラインからも変換を試みましたがやはり2GBでエラーになりました。
まぁ、そっちの理由は解りませんが、何はともあれ変換できました。
本当にありがとうございます。
2008/10/02(木) 05:05:53ID:CJRFS13e0
libFLAC自体にに2GB制限は無いけど
フロントエンドの実装がwinだとNGってことか
2008/10/02(木) 13:19:10ID:51IeJvMA0
コマンドラインでも落ちるってことは、GUIは無関係で環境のせいじゃないかな。
アホなウイルスソフトが2GBのファイルまでしか処理できなくて勝手に落とすとか。
3935
垢版 |
2008/10/02(木) 14:50:01ID:IqmyHboz0
>>36-37
ソースは見ていないが、コマンドラインプログラムの方は、
標準 C 関数のみで書かれているだろうから、
そっちの方のファイル入出力関数の制限で 2G までかと。
標準 C 関数は、ものすごく古い時代に作成されたものだから、
ファイルサイズとかは int 型 が使われていて、
32bit OS なら 32bitのサイズ。32bit 符号付きだと、
最大値がちょうど2Gになる。(厳密には 2G -1)

64bit OS でコンパイルすれば、int 型は 64bit になるはずなので、
2GB を超えるサイズを扱えるようになる。

最近では、32 bit OS 用でも、64bit int への拡張版の
C 関数互換のファイル入出力が用意されている場合が多いが、
環境ごと(コンパイラごと)に、実装内容が違うため、
こういうクロスプラットフォームなプロジェクトでは使用されない場合が多い。

しかし、foobar で2G 越え扱えないのはすごく意外だなぁ。
もしかして、flac は、CLI encoder だったりするのかしら?
built-in プラグインなら別なのかな?
2008/10/02(木) 17:16:12ID:CJRFS13e0
>標準 C 関数は、ものすごく古い時代に作成されたものだから、
>ファイルサイズとかは int 型 が使われていて、
処理系依存だよ。例えばLinuxはデフォルトだとoff_tはint32だが、
コンパイル時に_FILE_OFFSET_BITSマクロを64に定義するとint64になる。
OSXではデフォルトでoff_tがint64。
このあたりの違いはconfigureがよきにはからってくれる。

off_tがint64な処理系なら、基本的にstdioのfread/fwrite/fseekoだけで
問題なく2GB制限を突破できる。FLACのlarge file supportというのもこれ。
41
垢版 |
2008/10/02(木) 21:39:20ID:FwRQGWqv0
すげえ良スレだな、いいぞおまえら、つづけろ
2008/10/02(木) 21:44:17ID:RKymDEoc0
>>38
もともとGUIツールは引数をflac.exeに渡す位と思っていたので、念のため〜やはり〜と書かせていただきました。
takやらWavPackやらLilithで変換ができるのに、
何故flac.exeだけ2GBまでしか処理できず落とされるのか見当もつきませんがとりあえず環境みてみます。

>>39-40
型によってひっかかるのではないかというのは解りましたが、ファイルサイズになんで符号付きのintなんでしょ?
wavは確かunsigned longで4GBまでいけるのに……。

自分の中では、変換自体はWinでもできたので>>37氏の言う通りなのかなぁとは思っております。
まぁ、うちの環境がおかしいだけなのかもしれませんが、
>>35氏のLilithの件以外では、できてる、とかできない等の話も訊かないので。

ちなみに、foobarについてなのですが、ご推測の通りで、
最近のは専用のプラグインが入っておらずCLI encoderだったりします。
>>32のエラーメッセージでCommand lineとある通りです。

0.9.x系でflacエンコーダのコンポーネントってあるのかな?と思ったトコロで思い出したのですが、
0.8.3ではfoo_flaccer.dll(libFLAC 1.1.2)があり、foo_flaccer.dll経由でのエンコードはできました。
ただ、wikiによるとfoo_flaccerにはseektableを付加しないようですが。
ちなみにLilithで変換したのはlibFLAC 1.1.1だったけど、コレは問題ないのかな?

レスくださった方々ありがとうございました。
当初のもくろみでは

つコマンドラインオプション

みたいな感ぢで話題が終わると思っていたのだがw
2008/10/02(木) 22:00:18ID:CJRFS13e0
>>42
>ファイルサイズになんで符号付きのintなんでしょ
ファイルサイズというかoff_tはオフセットで相対位置を示す時にも使うから。
fsseko(fp,-1,SEEK_CUR)とかね

seektableの有無はmetaflac --list hoge.flacで確認可能。
2008/10/03(金) 04:45:00ID:5mcTPKC50
>>43
またまたこんな時間ですみません。

signed intの件、納得しました。
というかFILE_OFFSET_BITSやoff_tって書いいただいてるのだからオフセットと察しろって話ですよね。

Lilithで変換したファイルをmetaflac --listで調べてみたところ、
〜前略〜
point 736: sample_number=707171328, stream_offset=2841139388, frame_samples=4608
point 737: sample_number=708129792, stream_offset=2844727800, frame_samples=4608
と、問題はなさそうです。
ちなみにfoo_flaccer.dllで変換したファイルはエラーとなりwikiのとおりseektableは存在してませんでした。

まぁ、実際うちの環境だけできないのかは解らないですが、
うちの環境でlibFLACでのエンコードに問題がでないコトは解ったので、
そのうち、うちの環境でもlibFLAC 1.2.1でエンコードできるソフトでも探してみようと思います。
ホントにご丁寧にありがとうございました。
4535
垢版 |
2008/10/03(金) 23:23:50ID:Gk/CpB0M0
>>44
Lilith は、もしかしてオンラインアップデートしていないバージョンを使ってる?
0.992 にアップデートすると、FLAC 1.2.1 が使われてる。
これ最新のFLACのライブラリのはずだよね。

ところで、以前の flac.exe (公式のコマンドラインプログラム)では、
余計な SeekTable を作成するという不具合があったけど、
今のは直ってるのかしら?
たしか、曲長にかかわらず、100個だか1000個だか作成しちゃうっての。
短い曲のときは無駄だし、長い曲のときは数足りず、で
まともに機能しないケースが存在すると指摘されてたような。

>>40
処理系=コンパイラと捉えるなら、処理系と書いた方がよかったかもね。
Win みたいに複数のコンパイラが用意されている場合、
それぞれで制限違ったりするので。
VC の場合、少なくとも 2008 では、_fseeki64 とか用意されている以上、
通常の fseek とかで 2GB 以上を扱えるようには出来ないんだろうな。
関数自体は、define で置き換えればよいわけだが、
データを保持する変数の型のほう変更するのが面倒そうだ
2008/10/03(金) 23:24:08ID:B97GWqQQ0
flac tgfでデフォルトの圧縮率や保存先が設定できず、いちいち設定->バッチ
とやるのが苦痛なのですが、もっとマシなフロントエンドはないですか?
2008/10/03(金) 23:53:13ID:zbHi8B7I0
>>45
fseekで2GB以上のファイルを扱うのはLP64とかILP64な処理系じゃないと無理でしょ。
fseekoみたいにoff_tじゃなくてlongだから。

>余計な SeekTable を作成するという不具合
それってfoobar2000のpipe encoderがwavのヘッダに
適当なdataチャンクの大きさを書くのが原因のやつじゃないの?
1.2.0で--ignore-chunk-sizesが追加されてるけど、
これを付けるとそもそもseektableが作られなくなる。
4835
垢版 |
2008/10/04(土) 01:31:59ID:FD/w9THf0
>>47
いえ、flac.exe 本体のバグ(?) です。
かなり昔の話だけど、確か Lilith の HP で見た気がしたので、
作者の書き込みかと思ってたら、ユーザの人の書き込みだったみたい。

ttp://www.project9k.jp/cgi-bin/innovationbbs/bbs.cgi?mode=one&namber=1212
2ch からは直リンできないんだったかな?
みれなかったらURLコピペでよろすく
2008/10/04(土) 01:55:54ID:L6+WXtUj0
>>48
いや、それだとどうやってflac.exeを使ったかが分からないから
wavヘッダのサンプル数が間違っている可能性は捨てきれないと思うけど。
サンプル数を越えたところにまで空のseekpointを作成というのは
まさにその問題の典型だし。
2008/10/04(土) 12:09:03ID:M36DJN+M0
>>45,47-49
LilithのVerの件ですが、ご指摘のとおり0.9.9.2にアップデートでlibFLAC 1.2.1になりました。
度々ホントありがとうございます。
一度オンラインアップデートしたんだけどなぁw

SeekTableの件につきましては、
foobarというかPIPE処理等で事前にサンプル数が取得できない際におこるようです。
Seek Point計算はサンプル数が必須で、
例えば録音しながらPIPEで変換等は問題がでそうと考えます(サンプル数渡してもダミーだろぉし)
ttp://www.project9k.jp/cgi-bin/innovationbbs/bbs.cgi?mode=one&namber=1215&type=1170
その後の1217で投稿した方もエンコード方法を認めております。
投稿日付にあわせて1.1.1のflacにてエンコードしましたが、flac -5 -o "E:\CL111.flac" K:\test.wavと引数を渡して、
options: -P 4096 -b 4608 -m -l 8 -q 0 -r 3,3と変化するようで、
-b 4608にてframe_samples=4608になる位しか目立った違いはありませんでした。

対策は>>47氏のおっしゃるとおり、chunkSizeを取得しない--ignore-chunk-sizesにて対応ってコトなんでしょうが、
>これを付けるとそもそもseektableが作られなくなる。
まさに作られませんでした。素人考えですがflacはSeek Tableの構造上PIPEエンコードにはむかないのかなぁと。
PIPE用にchunkSizeをみないのならば作成サイズも無視してくれるかと期待した部分もあったのですが、
あくまで、ヘッダのchunkSizeをみる部分を飛ばすだけって感ぢで、
サイズが解らないからSeek Tableも作らないだけってコトっぽいですね。

Lilithでのエンコードとflac.exeでのエンコードの違いでは、Seek Pointのframe samplesに違いがあり、
現在のflacはオフィシャルにあるようにデフォルトだとframe_samples=4096となり、(-0、-1、-2だと1152ですが)
Lilithだと-b 4608としているようで、frame_samples=4608となりました。
あとはLilithはPADDINGのサイズを自分で付加するようになっていた位でしょうか?
デフォルトだと0で当然METADATA blockにPADDINGはありませんでした。

そもそもうちがflac自体全く解っていないのでなんとも言えませんが、
METADATA block位置はtypeで見分けているので関係ないだろぉと推測して、違いはコレ位のようです。
2008/10/04(土) 13:56:24ID:YQPA4Ds60
>>50
レポート乙

■ このスレッドは過去ログ倉庫に格納されています
大学生アイラと影の怪物と戦うリョウが、深夜3時3分の静止した世界で交錯する超常スリラーの概要

ニューススポーツなんでも実況