Ogg Vorbisプログラム

このエントリーをはてなブックマークに追加
604593:2006/01/17(火) 19:08:44
自分にとってはどうでもよい方向に話が進んでますね…

>(単純にファイルを連結しただけ?)
なぜに594がここに突っ込んでくるか理解しがたいですが。
(単純にCOPY /B X.OGG+Y.OGGで作れると聞いた事がありました。)

念のため、説明しますが私は「WAVE+WAVE -> エンコード」ではなく
(WAVE->エンコード)+(WAVE->エンコード)のoggの話をしています。

SDKのVorbisFileを使わないデコードサンプルでは
oggの複数曲に対応しているので、そのような仕様もあるのです。

さて、本題に…
調べてみたらOggSパケットの中にシリアルが含まれるようなので
1曲と複数曲は区別できそうです。

しかし、複数曲oggに何曲入っているかを知るのに
全パケットを調べていたら効率が悪いです。
何か良い解決策が無いものかと。
605デフォルトの名無しさん:2006/01/17(火) 19:43:58
oggパケットのサイズなんて知れてるんだし、
最初と最後のシリアルを比べて、違ってるなら適当に
バイナリサーチ的にチェックしてけば?
606デフォルトの名無しさん:2006/01/17(火) 20:04:03
607593:2006/01/17(火) 20:14:06
複数の曲が一つになっていると言う事は10分程度では終わらずに
1時間以上の可能性もあります。

約40MB(40分、128kbpsとか。)のoggでパケットサイズが4KBで
計算すると10000回の処理が必要になります。

過去のoggはパケットサイズが4KB未満でしたが
現在は4KB以上のパケットが生成されるのでこれよりは
少なくなるとは思いますが…
ファイルチェックにかかる時間を減らしたいんですよね。
608デフォルトの名無しさん:2006/01/17(火) 21:21:24
こんな(複数のlogical bitstreamを積み重ねられる)構造になってたんだな。初めて知った。
ttp://www.xiph.org/vorbis/doc/oggstream.html

>607
で、たかが10000回程度のページスキップの処理時間が問題になる状況なの?
609593:2006/01/18(水) 18:36:11
時代遅れではありますがMHz-PCがターゲットですから。
10000回の処理はともかくファイルリードがネックになります。

デコードするだけなら初期化(パケットチェック)が長くても
構いませんが、プレイヤだったら次の曲の再生に2〜3秒も
待たされたら嫌になります。

vorbisfileのソースを見ると最初と最後のシリアルを
比較して違ったら複数曲oggと判別していますね。
その後、パケットの全検索を行っているようなので
こちらで測定すれば大体の時間は把握できそうです。
610デフォルトの名無しさん:2006/01/18(水) 21:08:46
よくわかんないけど、どっちにしろファイル全体をチェックするしか方法がないんでしょ?
なら出来る範囲でどうにかするしかないんじゃないの?
でも普通の人はOGG1ファイルに複数曲詰め込んだりしないでしょ?
俺はその場合は1ファイル=1曲という仕様とするのがベターだと思うが。

どうしても待ち時間を短くしたいなら先読みしておくか別スレッドで処理するかしかないと思う。
でなければ、ファイルの先頭からシリアルが連続していることを前提条件に処理するとか。
611デフォルトの名無しさん:2006/01/18(水) 21:34:35
よくわからないなら口出しするな。
612デフォルトの名無しさん:2006/01/18(水) 22:02:01
>606
にあるようにov_streamsじゃダメ?
連結ogg作ってやってみたら2って値が帰ってきたよ
613593:2006/01/18(水) 22:47:31
>>612
vorbisfileは使ってないのです。
ただ、vorbisfileが対応しているのは知らなかったので
ソースを解析して非常に参考になりました。

パケットサイズを調べましたが最大サイズは255*255=65025の
ようなので4KBは間違いだったようです。
ヘッダも26+(255未満)バイトを読み込めばパケットサイズが
取得できる事がわかったのでシークを使えば多少は
マシになるかなと思いました。
これから実際に検証したいと思います。
614デフォルトの名無しさん:2006/01/19(木) 03:04:56
> ヘッダも26+(255未満)バイトを読み込めばパケットサイズが
> 取得できる事がわかったので
既に知ったうえで書いてるのだと思ってたよorz
615デフォルトの名無しさん:2006/01/19(木) 14:07:05
>>611
よくわかってるなら教えてやれよ。
616デフォルトの名無しさん:2006/01/19(木) 17:04:37
>>615
ぎゃはは。頭わるいんじゃね?
だれもよくわかってるなんて言ってない。
もっとましなレスしろよ
617デフォルトの名無しさん:2006/01/19(木) 21:28:06
>>616
もっとましなレスをしろよ
618593:2006/01/19(木) 23:01:57
パケットカウンターを作ってみました。
中島美嘉−雪の華(341秒)をオフィシャル -Q4 で
エンコードしたoggを測定しました。

パケットサイズは4100〜4400バイトでパケット数は1204でした。
仕様では約64KBまで使えますがほとんど4KBしか使わないようです。

速度的には待ちが数秒発生するのでなんとかしたいですね…
619デフォルトの名無しさん:2006/01/20(金) 11:11:41
>>617
で、誰がよくわかってるなんて言ってるの?w
620デフォルトの名無しさん:2006/01/20(金) 16:48:48
>>619
すばらしくマシなレスですね
621デフォルトの名無しさん:2006/01/20(金) 18:41:16
>>620
で、誰がよくわかってるなんて言ってるの?w
622デフォルトの名無しさん:2006/01/20(金) 19:04:35
なにこの一連のレス。人工無能のテストだったらよそでやってくれ

ところでゲームとかに簡単に使えるvorbisが再生できるライブラリでおすすめが
ありますすか。
VOXとかあるようだけどどれがいいのかわからない。
あともしこれから作るとしたらどういう機能が欲しいですか。
623デフォルトの名無しさん:2006/01/20(金) 19:54:06
>>622
特にいらないからよそでやってくれ。
624デフォルトの名無しさん:2006/01/20(金) 21:16:00
>>622
作っても誰も使わないでしょ。VOX使ったゲームなんてある?
それなりに技量がある奴なら自分で実装してる。
625デフォルトの名無しさん:2006/01/20(金) 23:39:43
>624
HSPのゲームなんかでたまに見かける。
626デフォルトの名無しさん:2006/01/21(土) 07:30:27
HSP…orz
627デフォルトの名無しさん:2006/01/21(土) 18:32:30
>>622
HSPスレはたくさんあるからそっちに逝ってくれ
628デフォルトの名無しさん:2006/01/23(月) 11:59:01
>>622
1行目のせいで、まともなレスが返って来ないね……
629デフォルトの名無しさん:2006/01/23(月) 13:56:23
別に一行目のせいじゃなかろう
630デフォルトの名無しさん:2006/01/23(月) 22:05:32
結局、最後の1行が言いたかっただけだろ
631デフォルトの名無しさん:2006/01/25(水) 18:53:53
気に入った!
家に来て妹をファックしていいぞ!!

632デフォルトの名無しさん:2006/01/25(水) 19:05:39
Montyに言ってこいよ
633デフォルトの名無しさん:2006/01/28(土) 20:48:55
気に入った!
家に来てMontyをファックしていいぞ!!

634デフォルトの名無しさん:2006/01/28(土) 22:32:39
おまえんちかよwww
635デフォルトの名無しさん:2006/01/29(日) 19:35:47
vorbisのコメントの読み出しは出来たけど書き込みってどうやったらいい?
636デフォルトの名無しさん:2006/01/29(日) 20:13:52
可変長でファイルの先頭にあるから書き込みは難しい。
文字列が短くなるならそれなりにできるだろうけど。

ライブラリかツールのソースで何かなかったっけ?
637デフォルトの名無しさん:2006/01/29(日) 20:53:04
そりゃあるさ
638デフォルトの名無しさん:2006/01/29(日) 23:12:18
またおまえか。知らないくせに。
よそに逝ってくれ
639デフォルトの名無しさん:2006/01/30(月) 00:16:16
知らないもなにも、ちゃんとそれらの処理をしてくれるツールが存在し、
なおかつちゃんとソースも公開されてるじゃん。
釣りなのかもしれんが、この程度の事でそんな低レベルな事書いてても
ちっとも面白くないって。
640デフォルトの名無しさん:2006/01/30(月) 06:54:28
恐らく、探せないからムキになってるんでしょう。
で、ゴネれば誰かが優しく提示してくれると思っているのでは :-)
641デフォルトの名無しさん:2006/01/30(月) 10:53:10
いいんだよ多少使い方が面倒な方が。誰でも出来ちゃうとつまらんだろ
それでもvorbisは簡単な方だ(つーか良く出来てる)とは思うけど
642デフォルトの名無しさん:2006/02/01(水) 23:50:28
コメントの読み書きなんて、ライブラリで面倒みてくれるじゃない。
643デフォルトの名無しさん:2006/02/02(木) 04:30:49
会話録音ってボルビスより適任のがあったよね?
644デフォルトの名無しさん:2006/02/02(木) 04:35:23
speex?
645デフォルトの名無しさん:2006/02/02(木) 04:51:20
GSM?
646デフォルトの名無しさん:2006/03/11(土) 16:16:21
コンパイルして実行したらエラーで強制終了されます><

#include <vorbis/vorbisfile.h>

int main(){
OggVorbis_File vf;
ov_callbacks oc;

ov_open_callbacks(stdin, &vf, NULL, 0, oc);
return 0;
}
647デフォルトの名無しさん:2006/03/11(土) 20:30:09
APIドキュメント読め、阿呆(>_<)
648デフォルトの名無しさん:2006/03/13(月) 15:04:14
ov_read呼ぶたびにメモリ使用量がじわじわと増えていって
+1MBになったあたりで一気に解放される。
これって正常?

libogg 1.1.3
libvorbis 1.1.2
649デフォルトの名無しさん:2006/03/30(木) 20:07:07
なんでイマイチ流行らないの?
とっととmp3をくちくして下さい><
650デフォルトの名無しさん:2006/04/11(火) 18:36:47
なぜって、mp3が浸透しすぎてるからじゃない?
PC触ったことない友達も「mp3プレイヤーっていいの?」って聞いてきたし。

「oggプレイヤーっていいの?」の方が言い易いのに。。
651デフォルトの名無しさん:2006/04/11(火) 18:40:50
oggの拡張子をmp3にしてしまえ!
652デフォルトの名無しさん:2006/04/12(水) 06:59:50
mp3だと再生のロジックが単純だから、携帯オーディオ等での消費電力が小さいってホント?
653デフォルトの名無しさん:2006/04/12(水) 08:19:42
うそ
mp3の消費電力がちっちゃいのは専用に設計されたハードウェアが乗っかっているから
654デフォルトの名無しさん:2006/05/04(木) 21:43:45
GOM Playerは使っちゃだめだよ〜ん。

Ogg Vorbisコーデックを使ってるファイルを、手軽に再生できるのが、
GOM Player。(↑ここが落とし穴)

どっこい、GOMには、、、

創価の人に聞けば。。。

いや、、、うーん、、、。
となる。
655デフォルトの名無しさん:2006/05/05(金) 20:49:23
oggも専用設計のチップを搭載するんだ!
656デフォルトの名無しさん:2006/06/13(火) 22:57:59
DirectXでストリーミング再生するサンプルソース
どっかにないかな?
657デフォルトの名無しさん:2006/06/13(火) 23:00:25
普通に再生すら出来ない俺ならいますよ
658デフォルトの名無しさん:2006/06/14(水) 01:17:42
>>656
SDKのサンプル見ろよw
659デフォルトの名無しさん:2006/06/14(水) 20:17:37
おれはわかってるし出来るからもういいや(・∀・)
660デフォルトの名無しさん:2006/06/15(木) 00:35:02
661デフォルトの名無しさん:2006/07/16(日) 04:41:18
Oggはもうこれ以上発展しないの?
ipodで使えないのが痛すぎる
662デフォルトの名無しさん:2006/07/16(日) 08:50:48
5年以上経った今でも普及してないってことだからなあ
663デフォルトの名無しさん:2006/07/16(日) 09:07:24
>>661
RockBox入れれば使えるよ。
664デフォルトの名無しさん:2006/07/16(日) 23:31:28
サンプル読んでも分からない俺はどうしたらw
SDKどこにあるん?
665デフォルトの名無しさん:2006/07/17(月) 10:49:51
C++Builder6 のポトペタメディアプレーヤーじゃogg使えないみたいだけど
どうしたら使えるようになるますか?
666デフォルトの名無しさん:2006/07/17(月) 11:12:50
codecs
667デフォルトの名無しさん:2006/07/17(月) 12:19:15
一般に普及してないってだけでしょ?
ゲームメーカは使ってるじゃん

一般の人はiPodとかだろうし、MP3で困ることもない
668デフォルトの名無しさん:2006/07/17(月) 23:03:48
オッグのほうがやや音質いいキガス
669デフォルトの名無しさん:2006/07/17(月) 23:07:07
拍子を意識して大きな音を大きくしてるだけのような気もする
670デフォルトの名無しさん:2006/08/24(木) 21:38:29
Javaで手軽に使えないの?
AudioClipでささっととって使いたかったのだけど無理そうだ
671デフォルトの名無しさん:2006/08/25(金) 00:11:16
手軽に使えるよ。
AudioClipだと制限が大きいのでどの道実用にならないと思うけど。
672デフォルトの名無しさん:2006/08/25(金) 04:45:30
他の音声フォーマットと比べてどんなメリットがあるの?
673デフォルトの名無しさん:2006/08/25(金) 05:15:18
674デフォルトの名無しさん:2006/08/25(金) 12:57:48
金が貰えるの?ならつかいたいかも
675デフォルトの名無しさん:2006/08/25(金) 13:54:52
釣れますか。
676デフォルトの名無しさん:2006/09/18(月) 14:46:08
ov_pcm_totalでトータルのサンプリング数を取得しようとしているのですが、0が帰ってきてしまいます。

何か原因になりそうな事ってありますか?


677デフォルトの名無しさん:2006/09/19(火) 15:28:54
で、日本語のマニュアルはないわけ?
678デフォルトの名無しさん:2006/09/19(火) 15:58:38
vorbisfileなら少しだけ
http://www.ii-park.net/~isou/bcb_ogg_func.html
679デフォルトの名無しさん:2006/09/19(火) 17:22:50
>>678
サンクス。あんた優しいね。
俺みたいなHSP厨に答えてくれるとはw
680デフォルトの名無しさん:2006/09/19(火) 18:49:29
メモリ上に展開したファイルイメージを変換する DLL を作ってみた。
ttp://netland.ddo.jp/user/cgi-bin/uploader/src/ng3160.zip

 ちなみに、8ビットにしか変換できない Vorbis ファイルが存在したら、対応できません。
681デフォルトの名無しさん:2006/09/23(土) 10:38:38
>>680
いらね
682デフォルトの名無しさん:2006/09/24(日) 03:25:14
なにその敗北感を覚えたときしか書かれることのない無意味なレス
683デフォルトの名無しさん:2006/09/24(日) 15:23:43
>ちなみに、8ビットにしか変換できない Vorbis ファイルが存在したら、対応できません。
ヴァカまるだし
684デフォルトの名無しさん:2006/09/24(日) 17:34:58
なんでそんなに悔しそうなの?
685デフォルトの名無しさん:2006/09/25(月) 23:04:11
なんでそんなに悔しそうなの?
なんでそんなに悔しそうなの?
なんでそんなに悔しそうなの?
なんでそんなに悔しそうなの?
なんでそんなに悔しそうなの?
なんでそんなに悔しそうなの?
なんでそんなに悔しそうなの?
なんでそんなに悔しそうなの?
なんでそんなに悔しそうなの?
なんでそんなに悔しそうなの?
なんでそんなに悔しそうなの?
なんでそんなに悔しそうなの?
686デフォルトの名無しさん:2006/11/05(日) 17:40:04
>>680
再うpお願いします。
687デフォルトの名無しさん:2006/12/02(土) 00:12:14
>>676
すげーかめだけどov_openで横着するとしゅとくだきねーきがするぞ
ov_open_callbackでやったらふつーにとれたお
688デフォルトの名無しさん:2006/12/02(土) 05:55:36
11個前の書き込みに反応しただけで亀になってしまうのが
Vorbisの悲哀をよく表してるよな・・・。
689デフォルトの名無しさん:2006/12/02(土) 10:54:30
だな
690デフォルトの名無しさん:2006/12/02(土) 22:54:28
問題も何もなく平穏に使われてるからじゃね?
691デフォルトの名無しさん:2006/12/03(日) 08:24:46
ゲーム音楽に使ってるけど何の問題も発生しなかった。
692デフォルトの名無しさん:2006/12/03(日) 15:56:41
ネットの資料だけで、問題なく組み込めるしなあ
このスレの存在意義って
693デフォルトの名無しさん:2006/12/05(火) 12:17:39
俺の存在意義って
694デフォルトの名無しさん:2006/12/09(土) 23:31:17
>>693
ないな
695デフォルトの名無しさん:2006/12/09(土) 23:32:29
しまった、ageちまった
696デフォルトの名無しさん:2006/12/10(日) 04:02:55
VB.NET2005で使いたいが・・・
できるのかこれ?
せめてかる〜いサンプルでもあれば・・・
697デフォルトの名無しさん:2006/12/12(火) 22:14:46
>>696
意味不明なライブラリはC++で作ったdllをVBから呼び出せばいいじゃない。
698デフォルトの名無しさん:2006/12/29(金) 03:24:34
>>648 と同じ現象?
liboggのos_types.hでmallocとかを自分の関数に換えて
メモリリーク調べるようにしたら、イパーイリークしてるんだけど…
教えて!
699デフォルトの名無しさん:2007/04/27(金) 08:54:26
>>687
ov_openは中でov_open_callback呼んでるだけだから一緒だと思うが。
FILEでのファイル操作がちゃんと出来るようにlibvorbisfileをコンパイルしてやれば問題無く使える筈。
700デフォルトの名無しさん:2007/06/30(土) 20:27:48
age
701デフォルトの名無しさん:2007/07/30(月) 21:53:22
vorbis 1.2.0 release age(遅い?)

だが、サイトからのダウンロードリンクが辿れないよ
svnからは取れるけども.
一体何だろう...マズいバグでもあったりしたのかな

そうそう、windows環境ではov_openは非推奨とのsvnログがあるね(r13289)
ov_open_callbacks(fd,vf,NULL,0,OV_CALLBACKS_NOCLOSE)を使えとある

俺は最初からov_open_callbacks使ってたので無問題でしたが.
702デフォルトの名無しさん:2007/07/31(火) 03:50:40
svnのログ見てないけど、Windowsだと処理系によって
FILE構造体に互換性がないからって話?
703デフォルトの名無しさん
処理系が同じでもc runtimeの種類やインスタンスが違うとダメ