Ogg Vorbisプログラム

このエントリーをはてなブックマークに追加
1オッグボルビス
そろそろ需要がのびてきた(?)Ogg Vorbisのプログラムを語ろう。
まだまだ日本語で勉強できるホームページも少ない中でここから広めましょう。
2Whiter ◆MINDZooo :02/09/22 00:55
|д゚)ン
関連リンク張ってちょ
4オッグボルビス:02/09/22 01:18
関連リンク
Ogg Vorbisの開発元
http://www.xiph.org/
Vorbisページ
http://www.xiph.org/ogg/vorbis/
Ogg Vorbisオフィシャルページ
http://www.vorbis.com/

関連スレ
新世紀の音声圧縮フォーマットOgg Vorbis Part4
http://pc3.2ch.net/test/read.cgi/software/1028967549/l50
Ogg Vorbisを普及させろよ(win)
http://pc.2ch.net/test/read.cgi/win/988822634/
Ogg Vorbis はどうよ?(mac)
http://pc.2ch.net/test/read.cgi/mac/1027665072/
1年くらい前にOgg virbisで一人ハァハァしてたなんて言えないよなぁ。
6デフォルトの名無しさん:02/09/22 01:26
オレもとりあえず再生してみようと思ったけど
なにから初めて良いのかまったくわからんかった。
SDKのダウンロードまではできたんだけど・・・
次はどうする?
>>6
サンプルをコンパイルしる!
8!6:02/09/22 01:47
6ではないけど
俺もあの英語マニュアルわかりづらいすね
マニュアルのリンクもところどころ抜けてるし…
ソースとサンプル見比べてハァハァするしかないですかね
9デフォルトの名無しさん:02/09/22 11:14
ov_read(だっけ?)でOggDropで生成したファイル読もうと思ったら
Oggファイルのヘッダ情報が違う、みたいなエラーが返ってきた。
なぜ?
日本語の勉強ページ誰かしらない?
11デフォルトの名無しさん:02/09/22 11:23
利点、欠点、ライセンスは?
ライセンスはフリー
パテントもフリー
もちろんMP3のような特許料もいらない。今後も。
WMAのような面倒な契約もいらない。
そこが利点。
欠点はまだ一般普及率が少ないことかな。
だからこそプログラム技術の普及を!

13デフォルトの名無しさん:02/09/22 11:46
利点://フリー、特許なし、オープンソース
欠点:// うんこ。対応ソフトすくない
ライセンス:// GPL?
14デフォルトの名無しさん:02/09/22 11:52
対応ソフト:winmx
フォーマット自体のライセンスフリー
ライブラリはBSDライセンス
基本的に著作表示するだけでいい
16デフォルトの名無しさん:02/09/22 12:38
>>15
著作表示って必要なんだっけ?
そういう記述は見当たらなかったんだけど。
公開されているライブラリ組み込むときの話
18デフォルトの名無しさん:02/09/22 13:43
で、なんて発音するの?
オッグ ボービス
オージージー ボービス
オッグ ボルビス
オージービーフ
21デフォルトの名無しさん:02/09/22 19:31
おれもogg気になってた。
しかし、このままだと雑談のみで終わってしまわない?
誰か救世主はいないのか?
22デフォルトの名無しさん:02/09/22 19:37
てか、ム板的になにをするつもりなのか?
エンコーダもプレイヤーも既にオープンなのがあるし。

そういえば、かまいたちの夜2でもOgg Vorbis使ってたな。
まだプログラムした人すくないのでは?
24デフォルトの名無しさん:02/09/22 19:39
オッジジ ヴァーディス
>>23
プログラムっていっても、単にライブラリ使うだけになると思うしなぁ。
現状のライブラリが使えない環境用のエンコーダ/デコーダ作りっての
はあるかも知れないけど。
26初心者:02/09/22 19:59
再生したいんだけど、どれをダウンロードすればいいんだ?
27デフォルトの名無しさん:02/09/22 20:02
>>25
それでもライセンスとかなんにも考えずにかってに使っていいの?
それならそれを使ってプログラムすればかんたんでいいね。
oggはエロゲ屋さんが良く使ってるらしい
エロゲってPNG&oggがベターだよね、素人目から見て
Cygwin[gcc3.2]でoggライブラリのコンパイルは問題ないようです
31イタリア人 ◆itaRyYHk :02/09/22 20:38
かまいたちの夜2の取り説の巻末にoggのライセンス文が長々と書いてあったな。
やねうらお氏も絶賛
UnrealTournament2003も使ってるねぇ
34デフォルトの名無しさん:02/09/22 21:16
>>32
氏のプログラム本みたけど、結局Oggの再生できなかったぞ。
っていうか、結局どうやるのかわからんかったオレはアフォですか?
35デフォルトの名無しさん:02/09/22 21:25
>>31
フリーでもやっぱりそういう記述はひつようなん?
使用するのになんか面倒なことあるのかな。
36イタリア人 ◆itaRyYHk :02/09/22 22:01
>>35
ReadMeに原文のコピペ載せとけばいいんでないの?
あとソースの所在を明記

 libOgg及びlibVorbisのソースコードは以下の場所から取得できます
 http://www.vorbis.com/
 http://www.xiph.org/

みたいな感じで
俺はそうしてるぜ。
Ogg Vorbisがパテントフリーというのは作った人たちの主張だが
どこかの誰かの特許に抵触していないという保証は無い
さらに国ごとに特許制度が異なるから製作者の主張はどこまで有効か不明

というのは本当ですか?
38イタリア人 ◆itaRyYHk :02/09/22 22:15
>>37
過去にも事例はイパーイある。
MP3も然り、GIFも然り、JPEG、LHA、ZIPも危うい(ウチの会社じゃぁM$純正CAB以外で圧縮すなって通達が来てるし)
嫌な世の中だねぇ
39デフォルトの名無しさん:02/09/22 22:37
まったくだ。企業側から見るとそのへんが面倒だし恐れになる。
だからこそこのVorbisなのだが。
40デフォルトの名無しさん:02/09/22 23:11
>>35
>フリーでもやっぱりそういう記述はひつようなん?

フリーかどうかって記述BSDにありましたっけ?
修正BSDじゃないみたいだしauthorは表示しろゴラァってことでは
41デフォルトの名無しさん:02/09/22 23:25
>>38
正直普及して2年経過したら特許の対象から除外してほすぃ
>>40
BSD-like license だよ。
これに入っている COPING ファイル参照のこと。
http://www.xiph.org/ogg/vorbis/download/tremor_cvs_snapshot.tgz

コピーライト表記をどこかに入れておけ、くらいの非常に緩いライセンス。
UT2003のコピーライト表記

ReadMe-Demo.int.txt
> ========================================================================
> 9 Copyright Notice
> ========================================================================
>
> Ogg Vorbis Copyright ゥ 2001, Xiphophorus
>

ま、実質こんだけでいい。
44デフォルトの名無しさん:02/09/23 22:37
>libOgg及びlibVorbisのソースコードは以下の場所から取得できます
再生にはこれだけ用意すればOK?
お前らまたライセンスか、おめでてーな。

>>45同意
>>45
ジサクジエン(・∀・)カッコイイ!!
>>44
どゆこと?
コピーライトの話?ライブラリの話?
48デフォルトの名無しさん:02/09/24 10:53
うち某ゲーム作ってるんですがoggを即採用しました。
次回作からoggで行きます。

うちの所はC++とDelphiでやってるんですがDelphiだけおいてけぼり、
まあそのうち出来るだろうけどね。
>>48
C++は直接組み込んでるの?
 DLLを呼ぶのは嫌って事?
 DLLだとそんなに違う?
じゃDelphiに移植してみようかな
まてよ 全部のデコーダソースを一つに纏めて BCBでobjを吐かせれば Delphiから直接呼べるから
そっちがいいかな?
51デフォルトの名無しさん:02/09/24 11:04
>>47
ダウンロ―ドするライブラリのことではないかと思われ。
>48
Oggのプログラムは難しいですか?
使い勝手はいかがでしょう。
って、もしかしたらoggファイルをデコードさえすれば
あとはPCMデータになって、DirectSoundとかで操作できる?
そしたら使い勝手は同じかな。
そしてデコードさえできればいいからプログラムも面倒ではないか?
53デフォルトの名無しさん:02/09/24 11:53
>>52
DirectSoundの場合簡単でした。
ov_readでしたっけ?(曖昧)
思いっきりオブジェクト指向なやりかたです。

ちなみにDirectSoundでやってます。
54デフォルトの名無しさん:02/09/24 12:42
DirectSoundならこれまで作ったプログラムいじればいいので楽かも。
ファイル読みこむ部分だけOgg仕様にすればいいのですな?
ということは、ov_playなんてのは必要ないんですね。
>>50
今、おれそれやってるとこ。
手持ちのBCBが古い(初代)のでBCCでobj作って、組み込むところ。
俺はDelphi+DLLでやってるけどなー。特に問題ないが。
objだとなんか利点あるの?
>>56
他人のライブラリに頼っていることを知られたくないんだろ
>56
DLLがちらばるのがどうも気に入らない。
たとえば、同じ方法でogg以外でも他のライブラリを使うと、
その分どんどんDLLが増えるわけだ。

ま、人によってはくだらない理由だな。

>57
コピーライト表記なんかをかくとわかるから、それはないな
59デフォルトの名無しさん:02/09/25 10:03
たしかにDLLって便利なんだろうけど、ソフトは実行ファイルオンリーで
配布したい。exe以外にもDLLが必要とか面倒なのはいや。

OggもDLLなしでできますか?
あ、それとOggの再生環境ってどのくらいスペック必要ですか?
DirectX入ってないとダメとか、なんかのドライバ必要になるとかありますか。
>>58
たとえばmp3ならlameを組み込めばいいし、
ソースが配布されてるなら好きなように出来るが
>>59
DLLなし可能。
mp3よりちょっと負荷が高いみたい。
他に依存するものはないはず。再生時にDirectSound使うとかは組み込む人次第。

>>60
ん?だからソース配布されてるから、好きにするよ。
DLLでいいじゃんと言われたからレスしだけ。
62初心モノ:02/09/25 20:25
SDKダウンロードしてきたのですが、ov_read使う為には
どうやってDLL組み込んだら良いのですか?
DLLなしにするにはogg_static.libっていうスタティックライブラリを
つかうのかなぁとは思うのですが・・
手も足も出なくなったので誰か助言を頂けませんでしょうか。
63DJ高円寺 ◆DJiGqKo2 :02/09/25 22:33
>>67
コンパイラは何を使ってるのかは知らないが
DLL版のインポートライブラリ、「ogg.lib」をリンクすれば良いのではないかい?
64DJ高円寺 ◆DJiGqKo2 :02/09/25 22:33
すまぬ!ミステイク
>>62
65デフォルトの名無しさん:02/09/26 02:33
あぁ、俺も今OGG使おうと試行錯誤中
たしかに日本語説明ページ無いし
英語が出来ない俺は悪戦苦闘中
てか、サンプルソースで使ってる関数がリファレンスに載って無いぞコラッ

>>62
OV_シリーズ使うって事は3個のlib組み込まないと駄目
ogg_static.lib
vorbisenc_static.lib
vorbisfile_static.lib
以上は組込たいときね
DLLを利用する時は、static無しバージョンをリンクすると

OVってのは簡単なんだけど
MCIでWAV鳴らすみたいにファイル指定しか出来ないからねぇ
俺の用途はゲームだから、使えねぇ
ファイルパックして自前でシークして使いたいしね
>OVってのは簡単なんだけど
>MCIでWAV鳴らすみたいにファイル指定しか出来ないからねぇ

ov_open_callbacks
6765:02/09/26 02:39
それよりか、負荷がMP3よか重いのが欠点かも
ゲームだと音楽音声効果音とか数個同時にデコードしなきゃだしさ
本心で言えば可変ビット長やら、浮動小数点余り使いたくないよなぁ
でもADPCM程度な圧縮率は悲しいし

誰か最適化とかしてます?
浮動小数点が多いし、INTELコンパイラが良いと思うんだけど
どうなんでしょ?
6865:02/09/26 02:41
>>66
うわっ、さんきゅ
調べてみます

泣きたくなってきた
単純な浮動小数点演算速度ならAthlonじゃないか?
負荷が気になるならマルチプロセッサ専用にして、
一つをデコード専門に割り当てるとか。
7065:02/09/26 03:00
連書きスマン

>>66
ちょっと聞きたいんだけど

ファイルじゃなくて、メモリポインタ渡してデコードしたいんだけど
ov_open_callbacks
これでも出来るって事なんだよね?

>>69
いや、ゲーム用なので
MMX無しクラシックペンタとかで動作させなきゃ駄目なんで
AthlonなりDUALマシンなら最適化しなくても十分速いと思うしね
ClassicPentiumて…
デコードだけで大半のCPUリソース持ってかれるぞ。
シーンの最初ですべてデコードしておくしか無いだろ
クラシックペンティアムならmp3すらキビシイよ・・・・・。
単体で鳴らすと他作業何もできなかった覚えがある
>>67
fp 使いたくないのなら Tremor 使えば? もっとも Classic Pentium とかいう
動作環境はいまや論外だろ。
ゲームでもそろそろ下限スペックを P-III 程度に引き上げてもよいかと。
ウチはOgg-vorbis使う上で割り切ってますが…
エロゲメーカーでも最近は下限スペックをじわじわと上げてきてますし。
クラシックでも動作させたいならVisualArtsのエンジンみたいにADPCM系で
かなり音質落ちるけどすごい軽い圧縮エンジンを採用するしかないのでは…
つか、うちのClassicPentiumは生wavのストリーミング再生がすでに追いつかない。
それはプログラムがヘボすぎるだけだと思われ
>ov_open_callbacks
>これでも出来るって事なんだよね?
どうやるかは自分で考えてね。まあメモリからの入力だったら
decoder_exampleを参考にしてvorbisfile使わない方がよさそうだが
>>76
昔そういうゲームが多かったんだよ。(しみじみ
Vorbis SSEで検索してたらSSE化されたデコーダのパッチをハケーン
ttp://www.din.or.jp/~glit/TheOddStage/di/200207.html
吉里吉里というソフトのソースの中のわかりづらいところに入っていた。
*.patchでファイルを検索すると見つかるとおもう。
しかしSSE検出方法が分からなくてつまずく罠。もうちょっとがんばりまっす
そのうちOggVorbisも速くなるんじゃないだろうか。
上みたいにSSE化してくれるところもあるわけだし。
とりあえずパテントフリーってだけでもでかい。
今は最適化より音質向上に力を入れて欲しい
つか、音作りすぎ
Delphi + objでやろう言っていたものです。
参照されているRTL周りが解決できまず、リタイアです。
_mallocとか_memcpyくらいならいいのですが、もう検索しても出てこないような関数はどうしようもありません

Delphiで.libが扱えればなあ。

そんなわけで、おとなしくDLLでやります。
c0w32.objとかも混ぜれば?
>>83
駄目ですた。c0w32.objら辺はスタートアップモジュールですよね。
RTL類は.libの模様。

DelphiさっさとBCBとくっついてほすぃ。
85デフォルトの名無しさん:02/09/26 22:59
ov_readを使う為にライブラリをVC6+MFCで
StdAfx.hに
#pragma comment(lib,ogg_static.lib)
#pragma comment(lib,vorbisenc_static.lib)
#pragma comment(lib,vorbisfile_static.lib)
の3行を付けてみましたが、
OggVorbis_Fileが定義されていませんとエラーが帰ってきてしまいました。
ヘボな質問ですいませんが、あと何を付け足したら良いのか教えてください。
そもそもlibの組み込み方間違えてますか?
>>85
#include <vorbisfile.h>
とか付けてみれば?
8785:02/09/26 23:16
ありがとうございます。ビルドできますた。
で、早速ov_readつかってみたところ、OV_EBADHERDERという
エラー値が返ってきました。
oggファイルはCD-DA X-Tractorというツールで作成したものです。
何か特別な制限とか形式とかあるのですか?
88DJ高円寺 ◆DJiGqKo2 :02/09/26 23:18
OV_EBADHERDER
バッドヘッダ?
oggと思いきやMP3とかWMAになってるとかいうオチは無しよ。
89デフォルトの名無しさん:02/09/26 23:36
KdMedia Playerという再生ツールではちゃんと動きました。
なので、そのオチはないと思うのですが・・・
RIFFの中にでもOGGをいれてあるんじゃないの?
MSACMで読めるやつはそういじってあるけど。
正しいヘッダはOggSから始まる。
9189:02/09/27 00:12
えっと、詳しくは分からないのですけど、ためしにVC6で開いてみたら
OggSという文字が最初に入っていました。
これじゃだめですか?
ov_open ( f_in, &vf, NULL, 0 )
コレはチェックしてますか?
93デフォルトの名無しさん:02/09/27 00:29
FILE *file
file = fopen( filename, "r" );
OggVorbis_File ogg;
ZeroMemory( &ogg, sizeof(ogg) );
int i = ov_open( file, &ogg, NULL, 0 );
if( i==OV_EBADHEADR ){
err = "なんでここにくるの?";
}

こんな感じでプログラムしています。
とりあえずバイナリでひらいてください
file = fopen( filename, "rb" );
9693:02/09/27 00:35
すげー! 解決しました。ありがとうございます!



って、これは初歩的ですか?(鬱
>93
ぶっちゃけ初歩的ですがよくうっかりやる間違いだから
DOS系は改行コード変換が入るから必ずバイナリで開かないと
アレなんですよね… 直ってよかったです
98デフォルトの名無しさん:02/09/27 09:50
DirectSoundで再生させる為にOggからPCMデータをバッファに
コピーしようと思ったのですが、デコードされる分のバッファサイズは
どうやって調べたらよいのですか?
ov_infoとかで調べられるとかありますか。
9998:02/09/27 16:29
double time = ov_time_total( &ogg, -1 );
でファイルの再生時間を取得して、
size = time * 44100 * 2 * 2
とかでバッファサイズを求めてバッファを確保してデコード。

これでOKですか?
それでもいいけど、バッファが巨大にならない?
ストリーミングしる。
ストリーミングはOggに限らずWAVEでも基本的な技術だぞ。
102101:02/09/27 18:29
あ。ちょっと関係ないが、
ov_time_totalじゃなくて、ov_pcm_totalっていうのがあったはず。
10398:02/09/27 19:11
>>102
それを使えばバッファサイズ直で分かるやつですか?
そっか、いちいち計算しなくていいんだ。

というよりも。
すとりーみんぐか。そうだよなぁ。いくら圧縮したってデコードして
使ったら同じ位になるもんなぁ。
それならもしかして、デコード時間が余計にかかるから、WAVEを普通に
読みこませたほうが早い?
104101:02/09/27 20:03
>>103
確かトータルサンプリング個数を取得するんじゃなかったかな?
だからチャンネル数と各サンプルのバイト数をかけるんだったと思う
ステレオ16ビットなら4倍。間違ってたらごめん。記憶だけで書いてるので

デコード時間は確かにかかるが、メモリイメージを直接持つよりマシだと思うんだが。
BGMのRAWデータを全部持ってたらバカみたいにメモリ消費するぞ。
それに元々ov_readは少しずつ読み込めるように設計されている。
必要なだけ少しずつ読み込めば1フレームでいきなり固まるとかいうこともあるまい。
105デフォルトの名無しさん:02/09/28 03:41
Oggをストリーミングで再生するには実質どのくらいのスペック必要
なんだろう。ペンティアム100Mhzくらいでも無事再生できるだろうか。
>>105
無理だと思う。
昔ClassicPentiumの100MHzだったけどMP3すらまともに再生できなかったよ。
しかし、いまどきPentium100ってのはないだろ、さすがに。
今なら最低動作環境Celeron400くらいで考えていいんじゃないかなぁ
Oggだけで200MHz分くらいほしい。
100MHzはMP3でもきついわ。
ver1.0のvorbisfile.dllがほかしい。
ov_open_callbacksで止まりやがる。
仕方ないのでRC3のDLL使ってるけど、同じ人いる?
あ、気のせいかも。
call back用の(*tell_func)の返却値ミスってた……。
遅いマシンではあらかじめデコードしておけばいいのでは
デコードしておくのって、
マシンが高速なら再生開始が遅くなるしディスクアクセスもバカにならないよな。
ユーザーに選ばせるのがいいと思った
>>79
gogoとかlameのソースも読めばいいじゃん。馬鹿だなぁ。
定期あげ
>SSE
インラインアセンブラか組み込み関数かアセンブラかどれでもいいので
eax=1でcpuidを読んでecxの(1<<25)ビット(だったような)を確認したらよかったと
cpuidとSSEでぐぐれば沢山でてくるはず…
;こんな感じ
mov eax,1
cpuid ; cpuid が使えるかチェック必要(intelのサイトに詳細あり)
mov eax,ecx
shr eax,25
and eax,1
ret
ようやくDelphiで鳴らせたよ。
DLLうぜー。3つも置かないといけないのか。
VC++辺りでソースからコンパイルすれば、1にまとめられる?
アスロンがSSE対応してるかしてないか分からないような話があったような
117デフォルトの名無しさん:02/09/29 11:16
Oggって、CDのクォリティーじゃないとエンコードできないんだっけ?
>>117
そういうのはこっちで。
新世紀の音声圧縮フォーマットOgg Vorbis Part4
http://pc3.2ch.net/test/read.cgi/software/1028967549/
119デフォルトの名無しさん:02/09/29 15:37
OggのスタティックDLLをプログラムに組み込んだら
defaultlib "〜.lib"は他のライブラリの使用と競合してます
というwarningがでてしまったのですが、意味分からないので
ほっとこうと思ったのですが、まずいことになりますか?
なります
121119:02/09/29 16:23
>>120
まじですか!
エラーメッセージには
/NODEFAULTLIB:libraryを使用してください
とでてるのですが、何をどうしたらよいのか見当もつきません。
情報少なくてソースコードないとどうすることもできないかもしれませんが、
できたら助言を頂きたいです。
12279:02/09/29 16:42
すみません、あの直後googleで検索して大量に資料見つけました。
114の方法だとSSE未対応のOS側でも「使用可」と
なってしまうそうなので、簡単なのはWin32構造化例外で
xorpsとかの命令で無効命令フォールトが出るかどうかを調べるそうです。
いちおうその方法でできました。報告遅れてスマンこ
>>122
SSEってOS関係あるんだっけ?
SSEレジスタxmm0〜xmm7をコンテキストスイッチング時に退避できない
OSだと複数スレッド/プロセスでSSEを使ったときに悲惨なことになる
旧来との互換性をとるためにSSEに対応しているOS側がSSEを有効にする操作
をするまではSSE命令は使えない
125デフォルトの名無しさん:02/09/29 19:57
ov_openを使用してファイルを読みむまえに普通にファイルを開くけど、
後々のファイル操作はOggVorbis_File構造体でやるから最初に開いた
ファイルポインタは記録しておかなくてもよいのですか?
>>121
そりゃOggに限らん話だ。Oggライブラリがリンクしようとしているライブラリと、
プログラムがリンクしようとしているライブラリが違うわけだな。
で、そのOggがリンクしようとしているライブラリを無視させるために/nod:なんたらって奴を使う。
127デフォルトの名無しさん:02/09/29 23:56
と、いうことは、"abc.lib"がダメと言われたら、
#pragma comment(lib,ogg_static.lib)
とかの宣言している後あたりで/nod:なんたらを使えばいいのかな?

そもそも、自分で作ってるプログラムのスタティックDLLの宣言の
使い方をなおさなくちゃいけないんだろうか。
ちょっと何かで調べてみようかと思います。
どこかに参考文献やらがあったら紹介していただけないでしょうか。
/NODEFAULTLIB:library
が何のことだか判ってないのか……。
129デフォルトの名無しさん:02/09/30 04:38
>>124
そういえばWindowsはそうでしたね
WindowsはSSEサポートの情報を投げないからアクロバチックな方法に
頼るしかないけど、もう少しスマートな方法はないでしょうか?
無効命令を発行して例外を拾ってくるっていうのは美しくないなぁ…
>>129
簡単に調べるWINAPIは無いの?
OSFXSRかAthlon HWCRでもよみまつか?
どなたかBCB6でやってる人いないでしょうか?
implibで-aつけてdllからライブラリ生成して、
#pragma comment(lib,"vorbisfile.lib")
ってな感じでリンクして、必要なヘッダインクルードしてるのですが、
ov_openとかを使うとビルドは通るのですが、
実際に実行してみるとフォームも表示されずに
CPUウィンドウが表示されてしまいます。
そのまま続行すると「例外により実行を停止しました」を
表示され停止してしまいます。
どなたか解る方がいらっしゃったらお助けください。
お願いします。
133132:02/10/01 09:36
>131
自己レスですが、_dのついたDLL使えばいけました。(鬱
ですが次は
ov_open(rfile, &vf, NULL, 0)
を実行すると例外エラーが起きるんです(泣

プロジェクト Project1.exe が EAccessViolation クラスの例外を生成しました。
'モジュール 'ntdll.dll' のアドレス 77F51C96 でアドレス 00000010 に対する書き込み違反がおきました。'

って言われてもさっぱりです。
134132:02/10/01 09:37
連続かきこスマソ。
>131
じゃなくて
>132
でした。
135129:02/10/02 00:59
>>133
ov_open() で渡すファイルポインタに互換性がないんじゃない?
VCでビルドしたDLLを使っているなら VC仕様の FILE でないといけない
内部で VC仕様の FILE でアクセスしてるから AccessViolation してるのだと
思いますけど (BCBは使っていないので良くわかりませんが…。)
ov_opencallback() でラッパー関数を作って試してみては。
>>130,131(遅レスすまそ)
探してみたのですがなんだか見つからないですね…。
さくっとひとつAPI拡張したらいいのに > M$
>>131
CR4へのアクセスは特権命令ぽいのでNTとかだと不安です。
他に手はないことはないけど…。
136132:02/10/02 01:58
>>135
仰るとおりのようです。
一発で指摘なさるとはすごいですね(^^;
ぐぐって調べている最中にこんなHPを見つけました。
BCBで詰まっている人は参考になると思います。
http://www.ii-park.net/~isou/
Delphiでやってるけれど、当然FILEに互換性がないから
ov_opencallbackでやってる。
BCBでも互換性はないんだ・・・
callbackのほうが安全な気がする俺はチキン
だってFILE*なんて使われるのイヤン
139デフォルトの名無しさん:02/10/03 14:08
OggVorbisをDirectSoundでストリーム再生させてるのだけど、
1曲目が終了したら2曲目、または停止させたいのだけど、
ov_readがゼロを返したら読みこむの辞めたら最後の部分を
繰り返し再生(TT)してしまうので、DirectSoundのPlayで
設定したループの設定を変更したいのだが、何か設定を
変えるプログラムありますか?
140デフォルトの名無しさん:02/10/03 17:41
>>125
いらないんじゃない?
141デフォルトの名無しさん:02/10/03 23:05
>>139
調査して結果を俺達におしえてくれ
>>139
停止するには、最後のデータの後に、バッファの長さ分だけの
無音データを送り込めばいいように思うけどどうですか
143139:02/10/04 00:36
リングバッファを使っていると、途中の音が抜け落ちる可能性が
あると思うのですが。
バッファサイズって、ストリーミング再生の為にどのくらい
確保してます?
そして毎回読みこむようにするためにタイマーの間隔どのくらい
にしてますか?
>>143
なぜ抜け落ちるの?
146139:02/10/04 02:01
バッファ:■□□□□■■
     3   →12
な、感じで回ってくるので書き込んだ先に無音データを入れると
バッファ:■******
な、感じで1、2が消えてしまうかもと。
消えないように書き込むだけでは?
148デフォルトの名無しさん:02/10/04 09:37
「→」からスタートして「1」「2」そして「3」に逝った後は
バッファのループ再生をとめたとしても
無音が続いて「1」「2」そして停止。となる気がする。
EventNotifyは使わないの?
>>146
いいかた悪かったか。
データの後ろに(バッファの長さだけの)無音部分をくっつけるのよ。
くっつけたのを普通どおりに全部流せば、最後まで再生したときには
バッファ中は無音データだけになる。
151139:02/10/05 00:19
>>149
調べてみました。考えたのは、
EventNotyfyを使って、
(Oggのデコード後全データサイズ) % (セカンダリバッファサイズ)
で計算して出した位置にイベントを発生させるようにする。
そしてov_readがゼロを返したらファイルの終端なので、
次に来たイベントでDirectSoundにストップを掛ける。
で、念の為に>>150の処理をしておく。
まだEventNotifyは使い方が完璧じゃないので調べ中ですが、
こんな感じの処理でOKですか?
>>151
結果を是非報告してほしいズラ
つーか、Notifyつかってなかったのか
DirectSoundのNotifyってDirectX5以降だった気がする
155139:02/10/06 00:42
EventNotyfy難しいぞ...
DirectXのサンプルミロ
>>144
3秒分くらい取ってる。
バッファが一周するうちに2回くらいバッファを更新してる
>>157
マニュアルかなんかに、2秒あれば十分と書いてあったきがするぞ。
159139:02/10/18 22:11
Oggストリームいまだに試行錯誤中・・
やりだしたらスレッドやらイベントやらと今までやってなかった
処理が目白押し。
先にストリーム再生を勉強しておくんだった(鬱

そして久しぶりに来たらこのスレ落ち着いちゃったかんじですね。
結局ストリーミング再生自体、waveをストリーミングするのと何も変わらないし、
OggVorbis自身はライブラリとして提供されてるから組み込みも容易だし……。
しかも、一度自分用のライブラリに組み込んでしまうと、当分さわらないからな(´д`;)
Ogg固有のことをするとなると、最適化ぐらいしかない……。
Ogg関係の編集ツールって何かありますかね。
どっかにまとめたページがあったらキボン
この辺とか。
http://www.babylonic.com/ogg/

結局OggVorbis固有の編集って圧縮率の指定ぐらいしかない気がする
163139:02/10/21 00:53
デキタ━━━━━━(゚∀゚)━━━━━━ !!!!!

いったい何日かかったのか分かりませんが、やっとできました。
これで少しはまともなプログラムになったかも・・・
>>163 とりあえずおめでと
165デフォルトの名無しさん:02/10/24 05:26
基本時な関数は分かったのだけど、その他の関数の種類とか
使い方ってみんなどうやってしらべてるんだ?
>>163
おめ
何かネタがあったら披露してほすぃ
>165
(信用できないが)ドキュメントと、あとはライブラリのソース。
xiph.orgに繋がらないのは俺だけ?
今試したら、ちゃんとつながるよ。
170168:02/10/27 14:58
繋がるようになりました
お騒がせしますた
>>169 わざわざすみません
oggエンコーダーとogg123というプログラムが最初から入っていて
音声ファイルの圧縮と再生はできるのですけど
今どんなことをやろうとしてるのですか?
どうしてあなたがやろうとしていることを、私が知っているのでしょう……
おまえら、どういうことに、どういうふうに使う予定ですか?
ぐらいの意味だと翻訳してみる
ゲームのBGMに使ってます
ちと古いマシンで負荷が気になる。
c0w32.objとかも混ぜれば?
>>175
なにそれ
>>175
ソース配布するときに、それも含めていいのかよ!って話になるんすよ
>>175
で、なにそれ
>>174
声とか入れてもCDに入りそうだもんな。
MP3を採用しようか迷ってたら問題起きて。
まさに救世主ってかんじだと思うのよ。
.Netで全リビルドかけても>132と同じになる……何故。
_d付きにリンクしてもダメだ。何が悪いんだろ……。
age
なんでこんな、話題のないスレをageるの?
至れり尽せりで、何の問題もない気がするけど・・・。
sage
ホッシュ
ov_time_tellで今再生している時間を取得しようと思ったのですが
これは秒単位なんですよね。
ミリ秒単位で取得したいのですがどうすればいいのでしょうか?
小数点が返ってくるからそれを使うんじゃなかったっけ?
return codeで「n indicates the current decoding time offset in seconds.」
となっているから小数部使えばいけるっしょ。っつーかドキュメントちゃんと嫁。嘘多いけどな。
188185:02/12/01 17:32
マニュアルは英語が苦手なりに読んでますょ… 。・゚・(ノД`)・゚・。

sprintf(buf,"ov_time_tell=%f\n",ov_time_tell(&vf));
とやって値をとっても4.000000とか5.000000とか整数秒しか帰ってこないんですよ。
もう本当にdouble型かと疑いたくもなるんですが。
皆さんちゃんと返って来ているんですか…?
書き忘れましたが念のため。
使っているSDKはoggvorbis-win32sdk-1.0です...。
良く知らんが double なら %lf では?
191185:02/12/01 18:43
>>190
だめでした(´・ω・`)

ov_time_totalなら小数点も返って来るんですけど、
そう考えるとバグかな…とか思い始めたり。
ov_time_totalの方を使えば?

でもさ、ストリーム再生で先よみしてると、実際の再生位置より先を
返してくることになるよなぁ
どないしよ。
ov_time_totalだったら曲の長さになってしまいますよ…。
でも、そうか、ストリームである以上正確な再生位置はわからないんですよね。
難しい。
194185(193):02/12/02 08:19
名前入れ忘れた
おなじSDKでちゃんと数値かえってくるけどな。
もしかして、ぴったしな数値読み込んでるからじゃないの?
192で書いたけど、あれってストリーム再生している秒数だすんじゃ
なくて、Oggの読み込んだ位置を出してるだけのような気がするし。
バッファ1秒分とってデコしてるなら、1秒ごとの値しか帰ってこないと思われ。
バッファを細かくするか、自力で時間を計るしかないかと。
197185:02/12/03 10:42
あー、1秒でバッファ取ってました…。
ホント申し訳無いです。

やっぱ自前で計算ですかね。
何だかんだ言ってそれが一番楽で確実そう。
再生と同時にgetTickCountを持ってみるとか...。

ありがとうございました。
何とかやってみることにします。
バッファを細かく取った方が圧倒的に楽だと思うのは勘違いだろうか?
勘違いです。
>199
じゃあ音声を途中で一時停止された場合でも正しく対処できるんだね。結構面倒だと思うが。
で、結局メモリーから再生するにはどうするんだ?
ov_open_callbacksの詳しい使い方キボンヌ。
>197
逆を言えば、1秒でバッファを取れば再生時間取得精度が1秒で、
500ミリ秒なら、100ミリ秒なら・・・
と、それなりに正確に取れるということか。

203201:02/12/04 18:28
メモリーから再生できたよママン。
これくらいみんなとうの昔に出来てんのか?スマソ。

データを読む為のコールバック関数の所在を示す構造体ov_callbacks。

typedef struct {
size_t (*read_func) (void *ptr, size_t size, size_t nmemb, void *datasource);
int (*seek_func) (void *datasource, ogg_int64_t offset, int whence);
int (*close_func) (void *datasource);
long (*tell_func) (void *datasource);
} ov_callbacks;

引数に関してはfread系のライブラリ関数とほぼ同じと考えてよい。
datasourceからptrにsize * nmemb byte読む。(read)
whenceの位置からoffset byte シーク(seek)
whenceの値はfseek互換。(seek)

ov_open_callbacksに生ポインタとov_callbacksを渡せばおっけ。
俺はまずそれを探したぞ。
それができるとどんな良いことがあるんでつか
こちとら、DelphiなんでFILEなんてものは使えません。
ファイルを暗号化してるとか、
arでアーカイブしてあるとか、
ネットワークからダウンロードしながら再生するとか、
etcetc
>206
TStreamでやれば?
やってますが何か?
210デフォルトの名無しさん:02/12/16 19:58
急速浮上!
対応ソフト:winmx
>>461
やばいこと書き込んだら訴えられる
213IP記録実験:03/01/09 01:41
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
>>440
そんなに寄付集まらないと思うぞ。
利用者に月1万円って現実的ですか?
↑ウェー、ハッハッハ
特に問題ないっしょ。会社からとかでも
ミルクカフェみたいな糞掲示板には行きたくないしなー
2ちゃんねるだって俺たちが離れていけばもうなんの機能もなくなる。
ひろゆきは大失敗だな。
人が多いから2ちゃんねるの意味があるのであって
人がいなくなればもう用はないのです。
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
何が起きたんだ?
「ハッキング」から「夜のおかず」までを手広くカバーしすぎた巨大掲示板群です。。。
気兼ねなく、会社、学校、座敷牢からアクセスできないように、発信元はバリバリ記録してますです。
お気楽ご気楽に書き込まないで下さい。お約束・最低限のルールを守ったフリをして、
他人に迷惑をかけまくって騒ごういうことです。ルールを守らないと、祭りになっちゃいます
まず、他人が見て不愉快になることを書きましょう。大勢の読者がいることを意識しないでください。他には、
ひろゆきが、超・不定期にお送りする裏口ネット駄情報。2ちゃんねるヘヴォメールマガジンがあります。
2ちゃんねるがアクセスログ記録を始めましたが、あなたの考えは?

2003年1月9日より 計1868票
匿名性に絡む問題なので反対�� 28% 527 票
サイトのためになるから賛成�� 53% 1004 票
利用しないから関係ない�� 9% 171 票
2ちゃんねるってなに?�� 4% 85 票
アクセスログってなに?�� 4% 81 票
http://newspolls.yahoo.co.jp/public/archives/2076384460/p-ne6-7
>>51
だから、
たとえば「古川は人間のクズ、詐欺師だ。」って書き込みがあって、
それを古川って人間が、名誉毀損で削除依頼の内容証明出します。
それがひろゆきに届いたら、上記の名誉毀損があることを知りえますよね。
そしたら削除義務が起こるってことじゃないの?
>>52
あのね、名誉毀損が無ければそもそも削除義務なんて発生しない。
そしてどうして判決が削除依頼や内容証明より遅い訴状送達時にしたかと
言うと、名誉毀損と確定してないから名誉毀損と認識したとは言えないわけ。

そこで訴状の送達で名誉毀損を認識しえたとしてるんだよ。
スレのペースは裁判関係で随分早まったが
それでも現在板で5番目に古いスレになった
>>327
コピペにマジレス。批判にかこつけた明白な差別・人権侵害も行われているのが
今の2ちゃんだろう。
だとすると、また隠語が必要になってくるな。氏ねとか。
おまえを殺す!とか言ったらタイーホされるの?
さんが群馬のソネットだということも分かりますよ
吉と出るか、凶と出るか。。
IP取ろうが取らなかろうが
捕まるときは捕まるだろ?
↑縦読み不可
421 名前:三毛 ◆MowPntKTsQ 投稿日:03/01/10 00:18 ID:McoZGeeY
普通、ノートンが反応するような代物をむざむざ開く莫迦はいないだろ。
では、君のお薦めのソフト教えてよ。

あ、それと、そんなもの貼った意図も併せてね。

423 名前:g056137.ppp.asahi-net.or.jp 投稿日:03/01/10 00:20 ID:6BZCtvnU
これ
http://pc.2ch.net/test/read.cgi/sec/1036482812/

意図。
風に吹かれて、かな。

今ちょっと色々試してる。
具体的に
今後はどんな
書き込みをしてるとまずいんでしょうか?
OGMを正式の ogg の動画形式として採用することを決定した。
Tobias は ogg チームに参加、OggDS は今後オープンソースとなる。
さらに、Xiph.org の CEO、Emmett Plant は、現在すでに広く用いら
れているOGM動画形式について、 xiph.org が今後開発するものと互換
性を保つ予定であると明言。これによってプライベートなファイル形式
だったOGMは一気にオープンソース標準として確立、いま現在あるOGMも
事実上、すでに「正式なOggフォーマットの一部」という地位になる。
IPの先頭何文字かをぶった切って、残りで
日付をシードにパス生成してるんだと勝手に思ってたんだが。>ID

======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
ヴァカハケーン
MD5ですか
そこまでのストーカーぶりは気に入った。
話がすりかえられてるような気もするが 漏前は「きこり」か?w
2ちゃんねる知らない人4%と言う事は、
96%の人が、2ちゃんねるの存在を知っていると言う事?
>234
関連ページリンク下さい
>>242
たぶん「妖精現実」。検索してね。
トリップ公開時期
鈍舞ですわ。>マァヴさん
IPアドレスは番号みたいなもの。
ホストは、住所みたいなもの。
IPは郵便番号みたいなもの。
両方ばれるとヤバイネ!!
記録するっても、変なコトしなきゃ公開される事は無いだろうしな。
反対してるヤシとかいるの?
テレビで放送されると厨が大発生するから嫌になる
井の頭線さんのことなら、規格外で捕まりません。
>243
どうも。
で、なんて発音するの?
本当にそう、IP皆さん解ってる?
泉ピン子の略ってこと。
スマソ。良かったらオレにも教えてくれ。
オレも同じの付けて遊びたい・・・。
実はもう終わってます 
>252
いのきぱんち
もうネタなんていっていいレベルじゃない
はっきり 馬  鹿 って言ってあげようよ。
257山崎渉:03/01/15 17:54
(^^)
258デフォルトの名無しさん:03/01/19 23:04
ov_readの最後の引数には何の意味があるの?
>258
>bitstream
> A pointer to the number of the current logical bitstream.
from ドキュメント。

まぁわざわざポインタ経由にする意味はわからないんだけど。
260山崎渉:03/01/23 20:08
(^^)
261デフォルトの名無しさん:03/02/07 00:15
保守
Linux on iPod 用に Tremor を最適化する香具師求む。
http://ipodlinux.sourceforge.net/
OggVorbisって死滅しちゃうの?
エロゲの音声用として以外の使い道は日本にはないと思う
>>264
なぜ俺が今やってることが判る?
エスパーかお前
>>264
普通にゲームのBGMに使ってますけど・・・
つか、音声フォーマットだから他に使い道あんの?
ダウンロードさせるときに軽く済みそうだから。
金がかからないから。
以上
OggFlac
OggVorbis
OggTheora
Ogg Vorbisをoggと略すのは良くない。(開発者自身が主張している)
Ogg自体はデータフォーマットを示す部分で音楽の非可逆圧縮に関する規格部分はVorbis(Ogg Vorbisの場合)。
270デフォルトの名無しさん:03/02/13 19:22
そろそろオヮァッグバォルヴィェス(正しい発音)のプログラムできたか?
おっじーじー ヴぁーびす。
オッグボルビス
オッグセオラ
Ogg Vorbisをoggと略すのは良くない。(開発者自身が主張している)
Ogg自体はファイルフォーマット・コンテナを示す部分で音楽の非可逆圧縮に関する規格部分はVorbis(Ogg Vorbisの場合)。
274デフォルトの名無しさん:03/03/10 16:36
275デフォルトの名無しさん:03/03/11 16:33
oggのフロントエンド作りたいんだけど、何か良い情報クレ
276デフォルトの名無しさん:03/03/11 18:32
午後のこーだOgg Vorbis対応版とかでたら…。
277デフォルトの名無しさん:03/03/11 22:54
MIOタン…ハァハァ…。
>>275
SDKのドキュメントに読んでみることをお勧めー。
279デフォルトの名無しさん:03/03/29 19:11
203の解説じゃ理解できんかった・・・鬱だ・・・
ov_open_callbacksに渡すov_callbacks構造体の設定がいまいち分からない・・・
誰かヘルプ
>>279
コールバック関数を4つ並べただけだよ
281279:03/03/29 22:13
>>280
要するにこれは自前でopening, closeing, seeking, locationを行う関数4つを作っておいて、
ov_callbacks構造体にそのアドレスを設定して、
それを生ポインタと一緒にov_open_callbacks関数に渡すって解釈でいいわけ?
それが一番素直な解釈だし、それであってる。
あとopenじゃなくてreadね。

つかソースあるんだからそれ見ようや・・・
283デフォルトの名無しさん:03/03/30 08:42
いやなサンプルだな。
いまの時代にコールバック関数なんて。
ソースあるからみようって認識もいまの時代には合わないよ。
多分かなりの人数が正しく動かせないんじゃない?
例えば、場合によっては音が消えるとか飛ぶとかない?大丈夫?
煽りにしては幼稚だな。
残念ながらただの妄想です。
286キタ━━━━━━!!!:03/04/01 00:04
Ogg Vorbis GT3 beta 2

-q4から-q10まで調整されたとの事。
http://www.hydrogenaudio.org/index.php?act=ST&f=10&t=7945&s=6bba117c3ff67b818bbc5cfc09a7a0c0
287デフォルトの名無しさん:03/04/01 13:42
>286
Garf先生ですな
encoderは当然調整されているとして、decoderも調整されているのですか...?
デコーダまで調整されてると困るんですがねえ・・・
289デフォルトの名無しさん:03/04/04 23:51
oggdropXPdのソースコードを頂いてビルドしようとゆるゆる
してますが、どうしても"tag_setup.c”が見つからず。
このファイルはどちらに存在するのですか?
911 名前:名無しさん@編集中[sage] 投稿日:03/03/17 01:41
このスレを見ると、oggがいかに糞か、がよく判るな。

912 名前:名無しさん@編集中[sage] 投稿日:03/03/17 03:37
というかogg信者がいかに糞か、がな。
まぁおそらくアンチoggがイメージダウンを目的に、わざとらしい迷惑マンセー書き込みを繰り返しているんだろうが。
>>289
そのくらい自作しろよ
>>291
無茶言うなって。
293デフォルトの名無しさん:03/04/05 15:55
ogg vorbisって特許には触れないんですよね。
俺は単純な正弦波をできるだけコンパクトに作りたくて、mp3形式のファイルをバイナリエディタで作ろうと思ったことがあったけど、特許の壁でどうしてもデータ構造が分からずあきらめたことがある。
ogg vorbisならできそうだね。そのうち暇ができたら挑戦してみようかな。
正弦波を非可逆圧縮するとどのみち波形が崩れると思うが。

Oggの場合、開発サイドは特許でしばってないが、かといって
JPEGみたいにならないとはいえない。
単純な正弦波なら差分をとってランレングスとかの方がよかろ
特許フリーであるかどうかって、
結局その国で裁判しないとわかんないからねえ。
>>293
> 特許の壁でどうしてもデータ構造が分からず

特許ということは全て公開されてるはずですよ。
それもそうだな。
299デフォルトの名無しさん:03/04/06 17:49
mp3は周波数成分を適度に間引いて圧縮する方式を使っているから、周波数成分が1つしかない正弦波はかえって生waveよりも正確なのを作れそうだね。
全て公開しないという特許なんです
いや、それを言うならデムパを発する特許だろう。
302デフォルトの名無しさん:03/04/13 23:08
>>300
どういう特許だよ

仕組み公開しないと特許は取れないだろ
じゃないと、それ、うちが10年前に考えましたって言えちゃうやん
ネタにネタなのか、それとも・・・・
304通りすがり:03/04/15 00:07
仕組みというかあまり詳しく書いてもすぐパクられるから
大事な核となる所はブラックボックスとなっている場合がありんす
UML図みたいな感じを想像するといいかも・・・

データ構造は仕様の問題じゃあ?
アルゴリズムで特許取れるらしいけど、出願の所にデータ構造までかかなあかんのかいな・・・
305山崎渉:03/04/17 15:24
(^^)
306デフォルトの名無しさん:03/04/18 04:40
特許って仕組みを公開する替わりに権利を保障するんじゃないの?

たとえば新しい音楽圧縮を考えたとして、
実装した圧縮コードやデータ構造を公開する必要はないけど
圧縮アルゴリズム、これがほかのMP3やら何かと違う部分はどこか、
ってのを詳細に書かないと申請すらさせてもらえない気がするんですが
307山崎渉:03/04/20 03:44
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
308(σ・∀・)σ:03/04/25 14:31
309 ◆BHHOtghNS6 :03/05/20 02:15
最近Ogg Vorbisのプログラム始めたんだけど
このスレはもう廃れているのかな?

ざっと過去レス読んでみたけど
どうやってメモリ上のデータ再生すんじゃ( ゚Д゚)ゴルァ
って香具師が何人かいたみたいね。

まぁov_open_callbacks使ってごちゃごちゃやりゃイイんだけど
なんか美しくないなぁ、と思ってcodec.h内の関数だけで
メモリ上のデータをデコードする関数を作って見ますた。

需要がありそうならソースうpしようと思うんだけど
欲しい人いまつか?
需要は微妙だが、どれだけやればいいのか知りたいというのはあるなあ。
とりあえずキボン。
NCL ってなに
http://ngwww.ucar.edu/ncl/
312 ◆BHHOtghNS6 :03/05/20 14:59
>>310
とりあえずうpしました。
ttp://strawberry.3utilities.com/cgi/up/img/340.lzh

俺はvorbisfile.cのソースを参考に自分的に不要な処理を
削って逝ったんだけど、ソースはあんまり長くないよ。

あとシーク関係怪しいんで、わかる人詳細キボン
313デフォルトの名無しさん:03/05/21 12:41
OggはAVIやWAVみたいなデータの格納形式でVorbisは圧縮方式 (コーデック)だ。
本家によると、その"The Ogg Encapsulation Format Version 0"が今月
RFC3533として標準化されている。
http://slashdot.jp/articles/03/05/20/0816235.shtml?topic=52
314 ◆BHHOtghNS6 :03/05/22 04:21
で、うpしたソースは流れてしまったワケだが>>310は落とせたのだろうか?
何にしろ反応がないのは正直寂しいね
>>314
310じゃないけど落とせますた。

そのうち参考にさしてもらいますよ。
316 ◆BHHOtghNS6 :03/05/22 15:45
>>315
落とせた人もいるみたいで一安心

俺は今、そのデコード関数をラッピングして
Windows用サウンド再生ライブラリを構築中。

ストリーミング再生、多重再生、ループ
ボリューム変更、フェード、ポーズ

などを実装してて、もうじき完成予定。
一段落したら、デコード部でバグがでん限り
しばらくOgg Vorbisプログラムから離れると思います。

そろそろスレ違いになりそうだな…
317 ◆BHHOtghNS6 :03/05/23 01:25
今バグって言うか、ちょっとしたミスに気付いたんで訂正
16bitでデコードするところでunsigned shortでやってるけどshortの間違い。
落とした人は直しといて

と言っても誰もいないか…
グッドジョブ
319山崎渉:03/05/28 12:54
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
どうしてあなたがやろうとしていることを、私が知っているのでしょう……
321デフォルトの名無しさん:03/06/02 10:06
VorbisだけでなくOgg関連のプログラミングを語るスレにしない?
Xiphはマルチメディア全般を視野に入れているみたいだし。

#デベロッパ不足で開発が思い切り遅れてはいるけど。
>>322
別に構わんと思うよ。
このスレで特にvorbisに限定すべき理由もなかろうし。
つーかネタ振れや
324 ◆BHHOtghNS6 :03/06/11 03:51
>>312のプログラムで、またバグに気付いたんだけど
落とした人あんまおらんみたいやし、訂正しなくてイイよね?

深刻なバグじゃないんで、特に問題になる事はないと思うし
バグありなのか。じゃあイラネ
>>324
バグかよ〜
落とし損ねた(ノД`、)
328 ◆BHHOtghNS6 :03/06/11 14:46
>>325>>326
バグはもうないと思うよ。
ただ、あんま人おらんみたいやから
訂正なり再うpとかする前に聞いとこうと思って。

>>327
欲しいなら再うpするよ
329327:03/06/12 01:43
>>328
魅惑のプロゴラマきた━━( ´ー`)━━!
ご面倒でなければ (´人`) よろしくお願いふまふ
330 ◆BHHOtghNS6 :03/06/12 07:21
>>329
再うpしときますた
ttp://strawberryblack.zive.net/cgi/up/img/up20030612070324.lzh

あと、前のを落してくれた人で、
今回のも落してくれる人は、解凍後に追記.txtてファイルがあるから
それだけ見てくれればイイかな。
修正内容とか書いといたんで

ほな、よろしゅう
331327:03/06/12 10:31
>>330
ありがとう ヽ(´ー`)ノ 全力でダウソしますた
他板関連スレ

ソフトウェア板
【Vorbis/FLAC】Ogg統合2【Theora/etc.】
http://pc2.2ch.net/test/read.cgi/software/1052237144/

Linux板
Ogg Vorbisについて語るスレ
http://pc.2ch.net/test/read.cgi/linux/1044899724/

DTV板
________On2________
http://pc.2ch.net/test/read.cgi/avi/1027955774/
333デフォルトの名無しさん:03/06/15 04:04
これからのエロゲメーカー

システムは吉里吉里2
サウンドはOgg Vorbis & Ogg Flac
画像はPNG
ムービーはOgg Theora
ボイスはOgg Speex
これぜーんぶタダ!


ついでにゲーム本体もタd
吉里吉里レベルじゃ製品にならんべ
おいおまいら!今のエロゲが製品として出荷できるレベルだと本当に思ってますか!

∴吉里吉里でもたいしてかわんない!
いやフリーだからってバカにできんぞアレは。
平均的なエロゲのシステムよりはずっとよいからな。
実際に商用でぼちぼち採用され始めてるし。

っつか日記にまたSSEパッチの話がでてるな
Ogg/Vorbisネタねーのか
最新のCVSのTremorの再生負荷はどんな具合なん?
>日記にSSEパッチ
SSE&3DNow最適化デコーダらすぃ。
://kikyou.info/diary/
 吉里吉里用プラグインである wuvorbis.dll を他のアプリケーションからも利用できるようにするためのライブラリを吉里吉里ダウンロードページの方で公開しました。
 SSE にくわえて 3DNow! 向けのコードも追加したので結構使い物になると思います。非 SSE 非 3DNow! な CPU でも普通にビルドしたやつよりは速いですたぶん。
SIMDが載るようなCPUならvorbis程度の負荷は大したことない気もするが・・。
FPUがクソ遅いK6とかを相手に3DNoW!を使ってくれるのはうれしいかも。
とくに複数同時ストリーミングとかしようとするとね。
SSEも3DNow!ものってないCPUむけがどれぐらい速いか。

まあ速いに越したことはないしライセンスもゆるいし試して見ようかな。
でも不都合おこすといやだな・・・
ユーザーに選ばせるのがいいと思った
343デフォルトの名無しさん:03/07/04 04:36
ちょっとお聞きします。

ov_pcm_total()で総サンプル数を取得して、
これにチャンネル数と2(16bit)を掛けて
デコード後の総バイト数を求めてるんですけど、
実際にデコードしてみると、これをオーバーしちゃって
あぼーん、てことがたまに起きます。

総バイト数の求め方おかしいですか?
>>343
これでダメですか?
int64_t totalbytes = channel * (16/8) * ov_pcm_total(&vf,-1);
345343:03/07/04 08:12
>>344
>int64_t totalbytes = channel * (16/8) * ov_pcm_total(&vf,-1);
そのとおりにやってます。

ほとんどの場合は大丈夫なんですけど
データによっては、実際のサイズを少しオーバーする場合があります。

可変ビットレートとかって関係ないですよね?
>>345
可変ビットレートと総サンプル数は関係ないですな。
対症的な対策を考えるとするなら、ov_read でデコードするときに
総サンプル数と一致しなくても問題がないようにクリップするとか
処理するくらいかな。
うちはそういう問題にあったことないんだけど...。
347343:03/07/04 15:39
>>344>>346
ご回答ありがとうございました。

サイズが違ってくる原因は不明ですが
>>346さんがおっしゃるように、対症的な対策で回避する事にします。


この問題を調べてるときにちょっと気になったので、もう一つ質問。

ogg_page_eos()が非0を返すまでループさせてページの終わりまで行き
ogg_page_granulepos()でgranuleposを取得する
というテストプログラムを書いてみたところ
granuleposとov_pcm_total()が返す値は同じでした。

granuleposというのは、そのページに含まれる最後のサンプルが
先頭からいくつめのサンプルであるかを示す値という解釈で合ってますか?

granulepos(粒の位置?)の扱い方がおかしいのか?と邪推してしまったもので…
VP4きますたよ。とりあえずsage
http://www.on2.com/vp4.php3
VPxを流行らそう
ttp://www.newtype.ne.jp/~morimae/kenkyu/09.htm
VP3コーデック(VP3ホスィYO氏改造版)
ttp://www.newtype.ne.jp/~morimae/kenkyu/vp3/vp3252j.lzh
VP3ホスィYO
ttp://kyoto.cool.ne.jp/vp3/
質問なのですが、
OggVorbis_Fileを使用してファイルアクセスした時の
デコードサイズの求め方は以前にありましたが、
メモリに読上げた状態でogg_sync_stateを使用してアクセスする方法で
デコードサイズを求める方法ってあるのでしょうか?
350343:03/07/11 01:26
>>349
>ogg_sync_stateを使用してアクセスする方法で
というのはvorbisfile.hをインクルードせずにやりたいってこと?

それなら俺が>>347でやったやり方でできると思ふ。

もうちっと詳しく書くとogg_sync_pageout(もしくはogg_sync_pageseek)で
ページを取得しつつ、最後のページ(ogg_page_eosが非0を返す)までループ。
(当然だが、このとき適宜ogg_sync_buffer、ogg_sync_wroteでデータを書き込む必要あり)
最後のページまで来たらループを抜けて、そのページに対して
ogg_page_granuleposを呼び出してgranuleposを取得。

俺が試した限りでは、このgranuleposってのが
ov_pcm_totalが返す総サンプル数に等しかったんで、後は同様

あと、この処理をやるとogg_sync_stateは最後のページまで逝ってるんで
この後デコードするんならリセットせなあかんよ

351343:03/07/11 02:28
>>349
ちょっと気になったんで補足

>メモリに読上げた状態でogg_sync_stateを使用してアクセスする方法で
これが単にメモリ上のデータをデコードしたいっていう意味なら
OggVorbis_Fileでもov_open_callbacksを使えばOKっすよ!!
OGMついにオープンソース! 「コンテナ対決」白熱 喜びのユーザ
OGM is not dead - oggds now in xiph CVS
http://forum.doom9.org/showthread.php?s=&threadid=57217
OGM動画のかなめOggDS.dllが昨日、ついにオープンソース公開された。
353349:03/07/14 11:20
>>350
解決しました。
ありがとうございます。
354山崎 渉:03/07/15 10:13

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
355デフォルトの名無しさん:03/07/16 16:50
                _∧_∧_∧_∧_∧_∧_∧_∧_
     デケデケ      |                         |
        ドコドコ   <   Theoraまだぁ〜!?         >
   ☆      ドムドム |_  _  _ _ _ _ _ _ _ _|
        ☆   ダダダダ! ∨  ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨
  ドシャーン!  ヽ         オラオラッ!!    ♪
         =≡= ∧_∧     ☆
      ♪   / 〃(・∀・ #)    / シャンシャン
    ♪   〆  ┌\と\と.ヾ∈≡∋ゞ
         ||  γ ⌒ヽヽコ ノ   ||
         || ΣΣ  .|:::|∪〓  ||   ♪
        ./|\人 _.ノノ _||_. /|\
         ドチドチ!
>>355
おちけつ
まぁ、アレだ。
分からないことあってもメーリングリストの
アーカイブ読めばだいたいのことは分かるよな。
358デフォルトの名無しさん:03/07/23 02:25
330さんのリンクが切れてる…
どなたか再アップしていただけないでしょうか。
お願い致します
359 ◆BHHOtghNS6 :03/07/23 08:26
360sage:03/07/24 01:59
再アップ有難うございます。
これから試してみたいと思います
>>359
そのうち、必要になるかも知れまへんので、横取りさせて頂きまふ
VP3 Codec 3.2.6.1 for Video for Windows Installer
http://www.xiph.org/~mauricio/VP3_VFW_Win.exe
VP3 Codec 3.2.6.1 for Quicktime Installer
http://www.xiph.org/~mauricio/VP3_QT_Win.exe
________Theora________
http://pc.2ch.net/test/read.cgi/avi/1059467626/
364デフォルトの名無しさん:03/07/30 01:00
Pen200でWAVとOGGを多重再生しようとすると
両方メモリにあげてるのにDirectSound側で
ブロックされて音が途切れる…
ClassicPentiumじゃぁ無理かな?

365デフォルトの名無しさん:03/07/30 01:02
http://www.vesta.dti.ne.jp/~hi-lite/sample.html
サンプルキキキキタタタタ━━━((゚(゚∀゚)゚))━━━!!!!サンプル
>>364
明らかに思い
971 名前: 名無しさん@編集中 [sage] 投稿日: 03/07/28 08:52
DivXのように個人向けに機能制限を外したものを売り出せばいいのにね。
Waveletですよと言っておいてどこにもWavelet使っていなかったVP3といい、
On2はどうにもこうにもアレだ。
369デフォルトの名無しさん:03/07/31 23:11
>ライセンス関係がうっとうしいAACより、フリーのVorbisのほうが気持ちがいいが、
>純粋に技術的に見た場合、AACがすぐれた音声圧縮技術であることも確かだ。
ttp://www.faireal.net/articles/7/26/#d30731
32 名前: 名無しさん@編集中 投稿日: 03/04/30 06:27
VP3は完全Wavelet方式
WMV9やRealVideo9はDCTとWaveletを組み合せた方式
VP3最強


971 名前: 名無しさん@編集中 [sage] 投稿日: 03/07/28 08:52
Waveletですよと言っておいてどこにもWavelet使っていなかったVP3といい、
On2はどうにもこうにもアレだ。
371山崎 渉:03/08/02 02:07
(^^)
372山崎 渉:03/08/15 16:12
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
373デフォルトの名無しさん:03/08/19 19:02
あげ
 サブカルチャーと呼ばれるもの全てに言えることではあるが、「フリーソフト」も
また、現実社会での劣等感を肩代わりするための救済システムの一つであり、
同時に、クリエイターと一般ユーザの距離が限りなく近いという幻想が発生し
やすい場所なのだ。

 だから、ユーザーが必要としているのは、製品のオリジナリティなどではなく、
物語商品と、その背後にあるクリエイター自身のサクセスストーリーなのだ。
しかし、商業的に発展し、システムが完成されていくうちに、既存のメーカーが
そうしたニーズを汲み取ることは困難になっていく。

 クリエイターとなることができない一般大衆の自意識は、クリエイター神話に帰属し、
自分がクリエイターのサポーターであるかのような錯覚に陥ることで救済される構造
になっている。

 自分の好きな作品を他人に強く勧める人間や、自分が属している訳でもない「『業界』
の行く先」を本気で案じ語る人間がフリーソフトファンに多いのはこのためである。
ほう

それどこからのコピペ?
ソフ板にもあったな。
いわゆるオタク思考
379デフォルトの名無しさん:03/09/12 23:23
Xiph純正のOgg動画では画像字幕として、アニメーションPNGにあたる
MNGの字幕を使うことも考えている。
アイデアとしては奇抜で非常に魅力的だが、実用には遠そうだ。
2003年8月版のOggWritのほうが現実味が高い。
Xiphに限らず誰でもよくやってしまうことだが、実物を作らずに
泥臭いテストをせずに、机上だけで考えると、後から思わぬ問題が見つかる。
http://wiki.xiph.org/MNGOverlay
http://www.xiph.org/archives/cvs/3515.html
http://www.faireal.net/
2003年9月18日 OggDS 0.9.9.6――UTF8サポート日本語SRT文字化け一切なし、ただしタイミングに不具合
http://nic.dnsalias.com/OggDS0996_inst.zip
http://nic.dnsalias.com/OggDS0996_bin.zip
これはOgg動画なのか?――ソースの出所がxiph(Oggプロジェクト)である以上
もはや「OGMはOggではない」とは言えないが、xiphからリリースされたわけでない。正式のOggではない。
現在のOGMと、現在のOgg動画(xiphの言い方ではOggfile)は仕様が異なっており
どちらかがどちらかに合わせないと統合できない。
―ということで、2つの可能性がある。OggDSを全部書き直すか、Oggfileを
OggDSに合わせるか。 Monty自身がOggfile側を変える可能性を受け入れている
ものの、現在のOgg動画とOGM動画には隔たりがある
http://www.faireal.net/
381デフォルトの名無しさん:03/09/29 12:18
オッグ
382デフォルトの名無しさん:03/10/03 17:26
2003年10月2日 Ogg Vorbis 1.0.1 予定より遅れ
現行の公式バージョン 1.0 は、入力として 24-bit WAV を使えない
など最近のニーズに合わない部分がある。
ダブルブラインドテストによる聞き比べでは、低レートではMP3PROやAAC
(とくにHE-AAC)に負け、中・高レートではMusePackにひけをとるなど
オーディオ単体としては限界もある。
映像コーデック Ogg Theora は一部で期待を集めているが
こちらもリリースが何度も延期されている。
http://www.faireal.net/
また妖精か。
384デフォルトの名無しさん:03/10/08 04:49
1.0.1は永遠にリリースされない…

・突然の開発停止

いつまで経っても1.0.1がリリースされない事からうすうす感づいていた人も少なからずいるでしょう、
残念ながらOggVorbisは2003年10/6をもって開発停止となりました。
現在、ほぼ1.0.1版がhttp://rarewares.hydrogenaudio.org/ogg.htmlからDL可能です
またOggTheoraの開発も同じく10/6をもって開発停止となります。
悲しい事にもう新版がリリースされる事はありませんが、これからも皆でOggスレを盛り上げていきましょう。
385デフォルトの名無しさん:03/10/08 13:33
なんだ結局潰れたのか
最初から期待してないけどな
>>384
ニュースソース希望

vorbis.com等に開発中止という話が見当たらない
387デフォルトの名無しさん:03/10/08 20:33
The bad news is that Vorbis 1.0.1 is being held hostage by Win32 build problems,
but the good news is
that Monty is already bravely charging ahead to work on Vorbis 1.1.
(C)www.vorbis.com

悪いニュースは、Vorbis 1.0.1がWin32構造問題によって人質にとられているということです。
しかし、良いニュースは、Vorbis 1.1に作用するためにMontyが勇ましく前方に請求しているということです。
(C)エキサイト翻訳/(C)www.vorbis.com

要はWindowsの仕様に引っ掛かって開発が難航してるって事だろ?
(C)俺
>>387
ん? build problemsってんだからWin32用のコンパイルがコケてるから
リリースできねってんだろ。別にWindowsの仕様がどうって話じゃないと思うが。
Vorbis 1.0.1 is being held hostage, but
Vorbis 1.1 Monty is bravely charging ahead.
flacに期待
TheoraをARM以外のCPUで動かしてるんだけど、
あと少しだけ処理が間に合わない。

プロファイラ使えんのでどの関数を高速化すべきか判らないんだけど
どこを高速化したら良い?
何が問題になってるんやろ?
394デフォルトの名無しさん:03/10/19 19:52
もう「ソースコードが公開されている」だけの糞ソフトは流行らないワケで。
流行らない規格は無用なワケで。
禿堂
oggなんか役に立たないから消えていいよ
>>391
今更ツッコミですが、TheoraではなくてTremorでは?
TremorだったらMDCT関係の最適化は恐らく効果があるでしょう。
397デフォルトの名無しさん:03/11/05 19:50
javaでAudiere Audio Systemを使用して
oggプレーヤーを作りたいのですが
英語が理解できません。
コツを教えてください。
電子辞書片手に海外の英語のニュースサイトを読みまくるとよい。上達するよ
399デフォルトの名無しさん:03/11/17 13:24
ども。VS.NET 2003でデバッグ版のライブラリがどうしても使えないんですが、
何か心当たりないでしょうか。

・マルチスレッドデバッグDLLでstatic版をリンク

> LINK : warning LNK4098: defaultlib 'LIBCMTD' は他のライブラリの使用と競合しています。
> /NODEFAULTLIB:library を使用してください。

・マルチスレッドデバッグでstatic版をリンク

> (略)
> MSVCRTD.lib(MSVCR71D.dll) : error LNK2005: _ldexp は既に LIBCMTD.lib(ldexp.obj) で定義されています。
> LINK : warning LNK4098: defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。
> /NODEFAULTLIB:library を使用してください。

・マルチスレッドデバッグDLLでDLL版をリンク

ビルドは成功するが、実行すると
「MSCVRTD.dll が見つからなかったため、このアプリケーションを開始できませんでした。」
と怒られる。

プロジェクトには、
http://www.flipcode.com/cgi-bin/msg.cgi?showThread=COTD-OggVorbisPlayerClass&forum=cotd&id=-1
ここのOggPlayer.h、OggPlayer.cppとサンプルコードが入ってるだけです。
リリース版はマルチスレッドで問題ないです。
プロジェクト本体のC/C++標準ライブラリの種別とリンクしようとしてる
ライブラリのC/C++標準ライブラリが合ってないんだろ。
ライブラリとプロジェクトの設定みなおせ。
401399:03/11/17 19:02
ええと、すんません。
 構成プロパティ > C/C++ > コード生成 > ランタイム ライブラリ
以外にもそのあたり影響のある項目があるんでしょうか?
>>399
そこらへんは 1.0.1 の正式版で解決してるんでないかな。
1.0.1 が遅れた理由の一つだし。
329 :名無しさん@お腹いっぱい。 :03/12/07 19:54 ID:bp3EUxDC
MontyによるとVorbis II の計画を大幅に前倒しするそうな。
that I wish to neglect VOrbis 1.1,
get OggFile out the door with theora 1.0 and then launch into Vorbis II ASAP.
I have my worklist for VII.
The big reason... we're about to be very widely adopted.
Vorbis I is insufficiently friendly for hardware.
330 :名無しさん@お腹いっぱい。 :03/12/07 20:06 ID:bp3EUxDC
ってこれ爆弾発言だよなぁ…
Vorbis IIはVorbis Iと互換性無いし。
楽しみ半分、不安半分。
331 :名無しさん@お腹いっぱい。 :03/12/07 20:29 ID:QrAAKfPr
Vorbis IIはWaveletを採用するんだっけ?
予想以上に早い動きだなぁ
http://pc2.2ch.net/test/read.cgi/software/1065675234/329-334
>>403
互換性が無いなら Vorbis 以外の名前に変えたほうがいいな。
誰か Monty に言っとけ。
405デフォルトの名無しさん:04/01/03 22:53
誰かOGGのサンプルください
プログラムの?
データの?
407デフォルトの名無しさん:04/01/03 23:59
プログラム(C/C++)です。SDKに付属しているサンプル(exampleフォルダ?)は
よくわかりませんでした
アレで分からないんだったら、もうちょっとプログラミングの勉強を
したほうがいいと思う。角度とか。
409デフォルトの名無しさん:04/01/04 00:40
そういわずに助けて
簡単なサンプルが欲しい!
SDKのサンプルが一番分かりやすいサンプルなの。
俺もそう思う
つか、webで何で情報ないのかと思ったら、SDKのサンプルがあるから、となっとくした
SDKのサンプルで必要十分だとは思うけど、
decoder_example.c なんかは、読みずらいコードだとおもたのは俺だけ?
while ループ重ねてるとこなんか、パッと見て何やってるのか把握できんかった...

とは言え>>405
皆が言うように、もうちょっとSDKのサンプル眺めて格闘してみれ!
413デフォルトの名無しさん:04/01/04 14:35
というか、サンプル実行したんですが何も起きないんですよ
現れたDOSに何を打ち込めばいいんですか?
Ogg以前にまだ早いと思うよ・・・プログラミングの方しっかり覚えた方がいい
415デフォルトの名無しさん:04/01/05 01:58
いや もうプログラム大分やったから大丈夫
ただ英語に弱いから読めんのですよ
あのサンプル実行したらどうなるの?
>>415
標準入力から入力されたOggVoribsを、リニアPCMに変換して標準出力に出力する。

英語が読めなくても、ソースコード読めば普通に分かるはずだが?
    /´ ̄ ̄ ̄`丶-‐z__        >>415
    /            ≦、      ちょっと待て…!
   ,'          /ニヽ、ゝ
   |       ,ィ/レ'\_, >``      おまいさん…
   |    r=| | ̄=。==~「|        OggVorbis 使って何がしたいんだ?
   |    |ニ| | u `二´ U\
   |    ヾ,U    __ノ┌_ \      仮にサウンドの再生だとして、素のウェーブデータを再生する
   ,.|    /ヽ /==-┬` ̄      プログラムは当然できているんだよな?
 / \/   ヽ u ⊂ニ.\
'" \   \   `ー┬‐r┘ /      まさかライブラリ関数に OggVorbis のデータぶっこめば、
   \   \_/l L_  /       デコードして再生してくれるなんて考えてねーよな?
      \_ \| |/ |ェェェェ|
       /  |く/|  |        ……いや 念のためだ・・・・・。
まずsageを覚えましょうね
俺は大人しく他人のライブラリを使った。
音方面はハマるとキリがないからな。
420 ◆WCOpgioi7Q :04/01/07 23:21
おちゅ
421デフォルトの名無しさん:04/01/31 21:19
>>418
あげ
44kのwaveはoggに問題なく変換できるんだけど
22kのwaveはoggに変換すると、終端にゴミが入る・・
423422:04/02/06 04:42
見なかったことに。
文字列が終端に入ってただけだった・・
424デフォルトの名無しさん:04/02/21 05:04
俺何も見てないよ
マルチスレッドの場合はやっぱりメモリ上のデータをデコードするべきなのかな・・・
多重再生すると、ov_pcm_seekで落ちたりする・・・
マルチスレッド用の排他処理やってる?
まず多重再生の定義をハッキリさせようか。
今、DirectMusicで
ttp://www.geocities.jp/toru_website/index.html
を参考にして作ってて、メモリ上のデータを全部デコード
してから再生っていうのはコールバック使って出来たんですよ。
んだけど、これだとメモリは大量消費するわ、
デコードするのに時間かかるわでBGMとしては
使いにくいんッスよ。何とかストリーミングでやる方法って
ないもんなんですかね?

(ちなみにここのサイトの掲示板にも同様な質問が
過去ログに投げられていたけど、解答は無かったんすよ…、)
読み込みタイミングでov_pcm_seekとかを使ってシーク、
ov_readのlengthパラメータで読み込みサイズ指定。
これ使えば後は普通にWAVと同じ感覚でストリーミングできるハズ。
430428:04/02/23 18:57
>>429
ふーむ、読み込み方は理解できるんだけどな…。
ずっといろいろ調べてみたけど、
よく考えたらDirectMusicでなきゃいけないことって
ないんで、やっぱDirectSoundでやってみるよ。
ストリーミング。
431SDLって何かの薬物?:04/02/28 22:24
いきなりの教えて君ですが,失礼します.
で,Dev-C++ 4.9.8.7使って,OpenALとvorbis使ったプログラム作ってますが,
デバッグできません.なぜ?どなたかお助けを...

OS :WinXPPro
IDE:Dev-C++ 4.9.8.7
CC :g++ 3.2
gdb 5.1.1
lib:SDL 1.2.6
OpenGL
OpenAL 1.0
vorbis 1.0.1

SDL+OpenGLのみでコード書いてたときはgdbによるデバッグができたんだけど,
OpenAL+vorbisをリンクしたらできなくなりました.
何をしたらどうなったのか書かんかい、ヴォケ
433SDLって何かの薬物?:04/03/01 00:21
>> 432
// これがテスト用ソース
// ライブラリは-lvorbisfileのみ.ここ↓から取ってきてくださいな.
// http://www.vorbis.com/files/1.0.1/windows/OggVorbis-win32sdk-1.0.1.zip
#include <stdio.h>
#include <vorbis/vorbisfile.h>

int main(int argc, char *argv[])
{
FILE *file;
OggVorbis_FileoggStream;
for(int i=0 ; i<10 ; i++){
printf("i=%d\n", i);
}
ov_open(file, &oggStream, NULL, 0);
return 0;
}
434SDLって何かの薬物?:04/03/01 00:24
//ちょっとだけ変だったので修正
#include <stdio.h>
#include <vorbis/vorbisfile.h>
int main(int argc, char *argv[])
{
FILE *file;
OggVorbis_File oggStream;//ここ修正しました.
for(int i=0 ; i<10 ; i++){
printf("i=%d\n", i);
}
ov_open(file, &oggStream, NULL, 0);
return 0;
}
>>433-434
デバッグできなくなったってのはよくわからんけど……。
ov_open()の前にfopen()しとかないとダメだよ。
436SDLって何かの薬物?:04/03/01 00:31
上のソースについて.
・ソース中ほどのfor〜printf()は単にステップ実行するために余分に書いたもの.
・ov_open(...)を書くだけでステップ実行ができなくなる.具体的には,コマンドプロンプトは出るのだが,[Debug]->[Next Step]コマンドを2回実行するとプログラムが終了してしまう.
・SDLやらOpenALやらは無関係(すまそ).libvorbisfile.aのみが原因の模様.
という具合です.
437SDLって何かの薬物?:04/03/01 00:37
>>435
おっしゃる通りなんですけど,ov_open()を書くだけでステップ実行ができなくなるんですよ.僕がやったのはforの部分にブレークポイントを置いてデバッグ実行したんですけど,そもそもそこにすらたどり着かない.
もちろん,Generate Debugging Information : Yes にしてますよ.(プロジェクトオプション)
それに,ov_open()を消せば普通にステップ実行はできます.
438SDLって何かの薬物?:04/03/01 00:40
(追加)
もともとは別のコードを書いていまして,そのコードに関してはステップ実行できないものの,通常の(デバッグでない)実行はできました.音もなりました.
ひょっとして静的ライブラリをリンクするときに
デバッグ版じゃなくてリリース版リンクしてないんじゃないの?
間違ってたらスマソ
440SDLって何かの薬物?:04/03/04 01:22
>>439
mingwで開発してるのでちょっと違うと思います.
libvorbisfile.aはvorbisfile.dllを動的リンクするので静的ライブラリじゃないし.
う〜ん,なにを調べればよいのやら
441SDLって何かの薬物?:04/03/04 03:21
現行のMinGW 3.1.0-1(GDBは5.2.1)を導入したらうまくいきました.
お騒がせしました.
442428:04/03/11 12:29
音飛びしまくりだ…
逝ってくる
443初心者ですが:04/03/17 01:06
 全くの初心者で、これからVorbisを使おうとして、www.vorbis.comに
 アクセスしようとしましたが、『ページを表示できません』でした。
 VorbisのSDKはもう公開してないんですか?
普通に表示されたぞ・・・
445デフォルトの名無しさん:04/04/15 04:05
Oggに人の声に適した圧縮形式ありましたよね
あれを使って, 簡易ネット電話作れませんか?
あらかじめ親しい人(家族など)にIPを教え合って
いまからかけるよーなんつってメールでもしてから利用
電話代節約
さあ漏れの子供じみたアイデアを大人の態度で罵倒しろ
netmeeting?
>>445
そういうソフトなら既に色々とあるよ
448445:04/04/20 18:02
(´・ω・`)罵倒が中途半端だったがまあいいや
罵倒ねえ・・・
450デフォルトの名無しさん:04/04/29 19:41
用件をメールに書け、と。
寂れて寂しい・・・
(´・ω・`)ショボーン
452デフォルトの名無しさん:04/05/11 17:33
おまいらなんか言えよ
エロゲ用ライブラリこさえたらもうやることなくなったYO
Oggはこれ以上発展しないの?
DirectSoundでさえ、早々に進化止まったしね。
インターフェースが完成すれば、あとはアルゴリズムの最適化くらいしかないでしょ。
たぶん。
おまいらなんか言えよ
457デフォルトの名無しさん:04/05/20 04:48
誰か教えてください。
なんとか、ファイルから読み込んで再生のov_open等はできるように
なりました。
メモリから読み込む場合の
ov_open_callbacks
の最初の引数にはOggファイルのメモリに読み込んだアドレスを
入れればよいのかと思いますが、最後の引数には何を入れれば
良いのでしょうか。
どなたかよろしくご教授願います。
>>457
コールバック関数が定義されているov_callbacks構造体。
……って、あなたは何がしたくてov_open_callbacksを呼んでるのですか。
459457:04/05/20 15:14
ファイルからじゃなくて、メモリに読み込んだファイルを
メモリから実行しようかと・・・
ov_callbacks構造体には自分の作ったコールバック関数を
指定するのですね?
って、どんなの作ればいいのかわからないのです。
サンプルソースコードとかあったらアドレス教えてほしいのですが
461457:04/05/21 00:58
わかりませんでした。
勉強しなおしてきます・・・
462デフォルトの名無しさん:04/05/22 16:00
会話音声を圧縮するための基本的に利用する関数を教えて下さい
スレ違い
464デフォルトの名無しさん:04/06/03 17:27
Ogg Theora has been finalized!
a new video coding format is born!
http://forum.doom9.org/showthread.php?s=aa752b8d4095cc0fe9940edb458d7f5d&threadid=77314
そのうち svnにコミットされるかもしれんが。
Tutorial/Docs for using libvorbis directly
ttp://www.thwackety.com/bytestobeeps.tar.gz
はじめまして。ずいぶん遅れ馳せながらOgg Vorbisをプログラム配布やなんかに使えるかなと思って
手をつけていくうち、いろいろいじってみたくなってきました。
エンコードは蒼弓さんのaoTuV、デコードはPROJECT BEAT!さんのvorbisdec.dllでできるようになりましたが
タグ編集プログラムを作ろうとして詰まってます。

タグ情報ブロックの中にはTITLE=XXXとかCOMMENT=XXXとかの文字列と
それぞれの文字列の直前に4バイトのサイズ情報が並べて入っているので
試しにバイナリエディタでCOMMENTメンバに26バイト書き足し、
ファイルサイズも併せて書き換えたところ、ファイルが壊れてしまいました。

そこで、上記の壊れたファイルと、WinAmpのタグエディタでタグを同じように書き足した正常なファイルを
比較してみると、0x50バイト目から異なる部分があり、壊れたファイルでは5バイト、
WinAmpで書き換えたファイルでは6バイトの長さのブロックで内容も違っていました。
(それ以外の部分は全く一緒のようです)
しかし、タグブロックサイズかファイルサイズを表しているにしては、
5〜6バイトも違っているのはおかしいと思います。
書き足したのはわずか26バイトですから・・

ネットでOgg Vorbisのタグ情報を解説しているサイトが見つけられなかったため
ここに質問させていただきました。ご存知の方いらっしゃいませんか?よろしくお願いします。
公式ライブラリ使えよ
すみません。今見たらvorbis.com、復活してますね。
手を付け始めた時は落ちてたので、デコードライブラリだけでもなかなか見つからなかったんですよ。
お騒がせしました。というか、こんな早くレスが付くとはやっぱり注目されてますね。
性能もさることながら、名前がかっこよくて気に入ってますw。MP3に代わって主流になってくれたらいいですね。
>>467
肝心のお礼を言い忘れてました。ありがとうございました。
>>468
ゲームでは既に主流だよ。
有名なところだと、日本ファルコムとかセガとか。
セガだとDCのゲームなんかでも見たことありますね。
ファルコムのソフトは最近買ってないけど、ソーサリアンオリジナルはパワフルにも44kWAVでしたw
ネットベースでの配布を考えたらそんな荒業はできませんが。
472デフォルトの名無しさん:04/07/29 13:09
PocketPCのゲームのBGM用に使おうと思っているんだが、速度は大丈夫かね?
473デフォルトの名無しさん:04/07/30 01:15
隊長!PocketPCでOgg vorbisを鳴らすことに成功しました!
474デフォルトの名無しさん:04/08/01 11:56
おめでとうヽ(´ー`)ノPocketPCのOSとか開発環境ってどんななの?
OSは、Windowsのコンパクトバージョン。
環境はEmbedded Visual C++4.0(無料)。VC++6.0とそっくり。
vorbisって、C#(maneged)から使いたいときどうするの?
Vorbis部分をDLLにして、DllImportで呼び出せるようにして、Managed DirectXを使って演奏。
ファイル読み込みで独自のコードを組んだが、俺の所はこれでうまくいきますた。
>>477
C#初心者には厳しいかな・・・。
がんがってみます。
.NETはムルチメディア周りがまだ弱いからなー
.NETマルチメディア=MDXなのに、ドキュメントに乏しいし必要な知識もC++より多い。
481476:04/08/19 01:18
dllの作り方もまともに解らない自分には遠い道のりです・・・。 >MDX

482デフォルトの名無しさん:04/10/04 07:55:49
どうやっても漏れの作ったプログラムでは、
フリーソフトとかのogg 再生ツールと比べて音質が落ちる・・・
再生はちゃんとできてるようなのだが、何か違うのでしょうか?
483デフォルトの名無しさん:04/10/05 05:54:23
とりあえず他のデコーダと自分のプログラムでWAVファイル作ってみて
音質劣化があるかどうかバイナリチェックしてみたら。
484デフォルトの名無しさん:04/10/07 22:10:08
>>483
おお!どうも。早速試してみます。
485デフォルトの名無しさん:04/10/27 20:43:25
オッグってどういう仕組みで圧縮してるの?
486デフォルトの名無しさん:04/10/27 21:04:12
Oggは圧縮などしないよ?
Vorbisとかと勘違いしてねえか?
487デフォルトの名無しさん:04/10/27 21:44:43
おぐおぐ、おーぐぅおーぐぅ。
488デフォルトの名無しさん:04/10/28 12:41:02
ボルビスってどういう仕組みで圧縮してるの?
489デフォルトの名無しさん:04/10/29 00:44:17
もちろん486には答えられません :-P
49080486:04/10/29 09:38:49
RTFS
491デフォルトの名無しさん:04/10/29 21:53:27
あなたの優しさで圧縮
492デフォルトの名無しさん:04/10/30 00:07:48
どれくらいの優しさが必要ですか?
493デフォルトの名無しさん:04/10/30 00:14:40
100優暗い
494デフォルトの名無しさん:04/10/30 12:58:32
>>486
Ogg ≠ Vorbis なの!?し、知らなかった…(゚Д゚;)
495CX486:04/10/30 14:06:35
496デフォルトの名無しさん:04/10/30 17:56:01
Ogg>>>>>越えられない壁>>>>>>Vorbis
497デフォルトの名無しさん:04/11/25 11:47:19
映像は見れて、音声が再生されないファイルがあったので
試しにoggDSをインストールしてみたのですが、音声が再生される
どころか今まで見れてた映像まで再生されなくなってしまいました。
どうしてなんでしょう?誰か助けてください・・・
498デフォルトの名無しさん:04/11/25 12:33:50
>>497
板違い
499デフォルトの名無しさん:04/11/29 17:14:52
OOL OggDecodeMem( char *name , char **data , long bit , DWORD *size , WAVEFORMATEX *wf , long dataplace )
{
FILE *fp = fopen( name , "rb" ); if ( fp == NULL ) return false;
fseek( fp , datasize , SEEK_SET ); //読み込み開始位置を取得
ov_callbacks oc;
oc.read_func = Oggread; oc.seek_func = OggSeek; oc.close_func = OggClose; oc.tell_func = Oggtell;
OggVorbis_File vf; //ファイルの読み込み
if( ov_open_callbacks( fp , &vf, NULL, 0 , oc ) < 0 ) {
fclose( fp ); return false;
}
fseek( (FILE *)vf.datasource , datasize , SEEK_SET ); //ファイルの先頭位置参照しちゃってるので足さないと駄目?(数値が変わらず・・・)
vorbis_info *vi = ov_info( &vf , -1 );
以下デコード処理(ov_readで動いたやつをそのまま引用)


//コールバック関数
size_t Oggread (void *ptr, size_t size, size_t nmemb, void *datasource) {
fread( ptr , size , nmemb , (FILE *)datasource ); return size * nmemb;
}
int OggSeek (void *datasource, ogg_int64_t offset, int whence) {
int seek;
seek = fseek( (FILE *)&datasource , (long)offset , SEEK_SET ); return 0;
}
int OggClose (void *datasource) {
fclose( (FILE *)datasource ); return 0;
}
long Oggtell (void *datasource) {
ftell( (FILE *)&datasource ); return (long)datasource;
}

助けてください orz
500デフォルトの名無しさん:04/11/29 17:17:35
って質問文書かないでどうする俺 orz
ファイルの1部分だけ読み込もうと検討中
過去ログを参考に書いたのだけど・・

再生されず・・

だれかたすけて(つд`)
501デフォルトの名無しさん:04/11/29 17:29:16
ogg vorbis再生以前の問題。
C 言語の使い方が妖しいんではないかね

>fseek( fp , datasize , SEEK_SET ); //読み込み開始位置を取得
datasizeって?

>seek = fseek( (FILE *)&datasource , (long)offset , SEEK_SET ); return 0;
>ftell( (FILE *)&datasource ); return (long)datasource;
は datasource のまえに & がついてるけど間違いじゃない?

>ftell( (FILE *)&datasource ); return (long)datasource;
ファイル上の位置返すのに datasource 返してどうするよ

ドキュメント読んで書き直せ
502デフォルトの名無しさん:04/11/29 18:25:04
結構怪しいです・・・
(特にFILE系)

アーカイブ化したファイルを再生させようとしてって言葉がぬけてました(つд`)

datasize って言うのは再生したいファイルがある
アーカイブファイルの先頭位置から何byte目にあるかです(未圧縮)

デバッグ使ったところ
Oggtell >>この関数使わず
OggSeek >>(FILE *)datasource に変更

if( ov_open_callbacks( fp , &vf, NULL, 0 , oc ) < 0 )
ここでfalseとなる

(FILE *)&datasourceだと落ちないけど結局
OggVorbis_Fileのデーターが微妙におかしいので動かず

いろいろ試行錯誤中・・
503デフォルトの名無しさん:04/11/29 19:25:09
typedef struct xFile { ogg_int64_t dataOffset; FILE *filePtr; } xFile;

static inline FILE * FilePtr(void *dsource) { return ((xFile *)dsource)->filePtr; }
static inline ogg_int64_t DataOffset(void *dsource) { return ((xFile *)dsource)->dataOffset; }

size_t readfn (void *ptr, size_t size, size_t nmemb, void *dsource) { return fread(ptr, size, nmemb, FilePtr(dsource)); }
int seekfn (void *dsource, ogg_int64_t offset, int whence) { return fseek(FilePtr(dsource), offset + (whence == SEEK_SET ? DataOffset(dsource) : 0), whence); }
long tellfn (void *dsource) { return ftell(FilePtr(dsource)) - DataOffset(dsource); }
int closefn (void *dsource) { return fclose(FilePtr(dsource)); }

...


xFile xf;
xf.dataOffset = datasize;
if (!(xf.filePtr = fopen(name, "rb"))) return false;
if (fseek(xf.filePtr, xf.dataOffset, SEEK_SET) == -1) return false;
if( ov_open_callbacks( &xf , &vf, NULL, 0 , oc ) < 0 )
...

/**/

こんなんで充分だろ。ちゃんと確認してないけど。
504デフォルトの名無しさん:04/11/29 20:16:10
試してきます
λ...
505デフォルトの名無しさん:04/11/29 21:01:35
long tellfn (void *dsource) { return ftell(FilePtr(dsource)) + DataOffset(dsource); }
かな・・・

やっぱり
if( ov_open_callbacks( &xf , &vf, NULL, 0 , oc ) < 0 )
ここでとまる(数秒間読み込んでる?)・・・・
なんでだろう・・
506デフォルトの名無しさん:04/11/29 21:49:25
Seekをもっとちゃんと組め。
whenceがSEEK_ENDで呼ばれた場合の移動すべき位置をよく考えろ。
507デフォルトの名無しさん:04/11/29 23:45:32
int OggSeek (void *datasource, ogg_int64_t offset, int whence)
{
long succes;
//whenceがデータの最初ならば0
//whenceがデータのそれ以外ならばoffset値
//whenceがデータ終端の場合は?
//return = fseek(FilePtr(datasource), offset + (whence == SEEK_SET ? DataOffset(datasource) : 0), whence);
switch( whence )
{
case SEEK_SET:
succes = fseek(FilePtr(datasource), offset + 0, whence);
break;
default:
succes = fseek(FilePtr(datasource), offset + DataOffset(datasource) , whence);
break;
case SEEK_END:
succes = fseek(FilePtr(datasource), EOF , whence);
break;
}

return succes;
}
こんな感じにしてみた

結局
ov_open_callbacks>OggSeek(default)OggLead>
後OggVorbis_Fileに値が入ってないで落ちますが・・・
(つд`)
508デフォルトの名無しさん:04/11/30 01:41:10
EOFがあるまで全部読んでるみたいだから部分だけの呼び出しはどこで定義してるんだ・・
509デフォルトの名無しさん:04/11/30 02:06:19
>>508の意味がわかりません。
510デフォルトの名無しさん:04/11/30 02:22:24
ov_open_callbacks( &oggf , &vf, NULL, 0 , oc );

int OggSeek (void *datasource, ogg_int64_t offset, int whence)
whenceが1?(0じゃないと駄目なのでは・・・)

Oggread (void *ptr, size_t size, size_t nmemb, void *datasource)

ov_open_callbacks( &oggf , &vf, NULL, 0 , oc );
に戻ってくるもvfに値は入らず・・・

Oggread デ読み込んでるのは何か8500byteだからファイルの終端とかまったく関係ないか
511デフォルトの名無しさん:04/11/30 02:53:41
>int OggSeek (void *datasource, ogg_int64_t offset, int whence)
>whenceが1?(0じゃないと駄目なのでは・・・)

offset = 0 で whence = 1(SEEK_CUR) でしょ?
streamがseekableかどうかのチェックをしてるだけ。

> ov_open_callbacks( &oggf , &vf, NULL, 0 , oc );
>に戻ってくるもvfに値は入らず・・・

> Oggread デ読み込んでるのは何か8500byteだからファイルの終端とかまったく関係ないか

データがおかしくてエラーになってるんじゃないかな。

最初に自分でfseekしたその位置から、
目的のOgg Vorbisがちゃんとはじまっているか確認してみたほうがいいかも。
512デフォルトの名無しさん:04/11/30 03:51:24
typedef struct CBDataStruct {
unsigned long offset;unsigned long size;FILE *file;
} CBDataStruct;
static size_t read_func(void *ptr, size_t size, size_t nmemb, void *datasource) {
return fread(ptr,size,nmemb,((CBDataStruct *)datasource)->file);
}
static int seek_func(void *datasource, ogg_int64_t offset, int whence) {
const CBDataStruct * const cbds = (CBDataStruct *)datasource;
switch (whence) {
case SEEK_SET:return fseek(cbds->file,cbds->offset + (long)offset,whence);
case SEEK_CUR:return fseek(cbds->file,(long)offset,whence);
case SEEK_END:return fseek(cbds->file,cbds->offset + cbds->size + (long)offset,SEEK_SET);
}
return -1;
}
static int close_func(void *datasource) {return fclose(((CBDataStruct *)datasource)->file);}
static long tell_func(void *datasource) {
return ftell(((CBDataStruct *)datasource)->file) - ((CBDataStruct *)datasource)->offset;
}
static ov_callbacks ovcbs = {read_func,seek_func,close_func,tell_func};
int main(void) {
FILE *file;long size;
if (!(file = fopen("test.ogg", "rb"))) return 1;
fseek(file,0,SEEK_END);size = ftell(file);fseek(file,0,SEEK_SET);
CBDataStruct cbds;
cbds.file = file;cbds.offset = 0;cbds.size = size;
OggVorbis_File ovFile;
if (ov_open_callbacks(&cbds,&ovFile,NULL,0,ovcbs) != 0)
{fclose(file);return 1;}
ov_clear(&ovFile);
return 0;
}
513デフォルトの名無しさん:04/11/30 05:39:23
すごくありがとう 。*゚*・(つд`)・*゚*。
とりあえず再生までやっと行けました。*゚*・(つд`)・*゚*。
SEEK_SETの部分の流れがよくわかりました*゚*・(つд`)・*゚*。

そして謎バグがorz
ただ単にファイル連結してるんだけど
1.wav
2.wav
3.ogg
4.wav
5.ogg
6.ogg
っていうのをアーカイブ化して
all.sndとかにしたら
5.ogg 3.ogg が鳴らないorz
明日起きてから考えよう・・

何はともあれ大感謝です
514デフォルトの名無しさん:04/12/11 15:32:32
Cygwinでlibogg-1.1、libvorbis-1.0.1を-mno-cygwinでコンパイルできている人いる?
ttp://cefiro.homelinux.org/topics/SDL/printable/setup-win32-cygwin-20040808.html
を見てやっているんだがmake途中にエラーで止まる…○| ̄|_
cygwin1.dll:1.5.12
make:3.80
gcc:3.3.3

何か足りないのか…?以下エラー
515デフォルトの名無しさん:04/12/11 15:34:32
$ env CC="gcc -mno-cygwin" CFLAGS="-O2" \
sh configure --disable-shared --enable-static

$ make
Making all in src
make[1]: Entering directory `/usr/home/taka/libogg-1.1/src'
source='framing.c' object='framing.lo' libtool=yes \
depfile='.deps/framing.Plo' tmpdepfile='.deps/framing.TPlo' \
depmode=gcc3 /bin/bash ../depcomp \
/bin/bash ../libtool --mode=compile gcc -mno-cygwin -DPACKAGE_NAME=\"\" -DPACKAG
E_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=
\"\" -DPACKAGE=\"libogg\" -DVERSION=\"1.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=
1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHA
VE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HE
ADERS=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -I
. -I. -I../include -I../include  -O20 -fsigned-char -O2 -c -o framing.lo `test
-f 'framing.c' || echo './'`framing.c
gcc -mno-cygwin -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\
" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"libogg\" -DVERSION=
\"1.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_
H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -
DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DSIZEOF_SHORT=2 -DSIZEOF_IN
T=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -I. -I. -I../include -I../include -O20
-fsigned-char -O2 -c framing.c -MT framing.lo -MD -MP -MF .deps/framing.TPlo -o
framing.o
In file included from ../include/ogg/ogg.h:24,
         from framing.c:25:
../include/ogg/os_types.h:38:26: _G_config.h: No such file or directory
In file included from ../include/ogg/ogg.h:24,
         from framing.c:25:
../include/ogg/os_types.h:39: error: parse error before "ogg_int64_t"
516デフォルトの名無しさん:04/12/12 13:12:51
>>515
../include/ogg/os_types.h:38:26: _G_config.h: No such file or directory って出てるでしょ。
517デフォルトの名無しさん:05/01/24 02:04:53
どうも、再生できないファイルがあって
調べたらogg_vorbis_1 (0x674f) Ogg Vorbis が入っていないと
でたんですが、どこに行けば落とせるんでしょうか?
教えてください
518デフォルトの名無しさん:05/01/24 02:17:08
>>517
PC初心者板で聞け
519デフォルトの名無しさん:05/01/24 02:41:48
解決しました。どうも失礼しました
520デフォルトの名無しさん:05/02/10 14:52:14
誰か・・・・DirectSoundでOggVorbisのストリーミングサンプルをUPしてください
以前UPされていたんですが、リング切れしてました

あと、OggVorbisをメモリに丸ごと読み込んだとき、WAVEヘッダを作り音声データの前に書き込んだんですが
これでもちゃんと再生できたのはなんででしょうか

これができるってことは、DirectSoundではWAVの読み込みはヘッダ付でも可能ってことですかね?

う〜む疑問
521デフォルトの名無しさん:05/02/17 09:55:14
> WAVEヘッダを作り音声データの前に書き込んだ

データとして再生しても認識できないほど短いから。に一票
522デフォルトの名無しさん:05/02/18 00:45:20
>520
まだいる?むかーし、そこそこ参考にした。C++
ttp://www.greenwood.co.jp/~k-aki/soft/sslib2_dsound/
523デフォルトの名無しさん:05/02/24 09:58:33
Ogg と Vorbis で2つのライブラリに分かれていますが、
それぞれのライブラリは何(どんな処理・役割)を担当してるんでしょうか?
524デフォルトの名無しさん:05/02/24 16:19:13
OGGとは、この前友人に送って「再生デキネェゾボケ」と言われたファイル形式です。
525デフォルトの名無しさん:05/02/27 06:21:37
たしかOggがコンテナ、Vorbisが音声圧縮の形式
526デフォルトの名無しさん:05/03/07 11:34:33
Oggはかなり音良いんで満足。
itunesが完全対応したら最強だと最近感じる。

itunesの音楽ファイルの管理方法が好きなだけだけど。

Ogg q6くらいでもう音としては十分っぽい
527デフォルトの名無しさん:05/03/09 13:10:37
今更ながら◆BHHOtghNS6さんが上げてくれた
ソースを参考に色々やっているんだが(ダウンロードしたのは大分前ですが)
シーク関係にバグがあるみたいです…

ovSeekDecode( HOVDECODE hDecode, unsigned long time );
関数ないでseekPosの値は正しいように思えるんですが
実際にシークしてから再生すると指定した時間とズレがあるみたいです
俺に直せるかな。。。
528デフォルトの名無しさん:05/03/10 15:26:50
ガンガレ
529527:05/03/10 23:08:52
なんとか直りました…
ドキュメントが英語しかなくかなり苦労しました
バグが取れたのは勘ですね…(奇跡)

◆BHHOtghNS6さんのovdecode.cpp
static ogg_int64_t __ovSeekBlock( LPOVDECODE pDec, ogg_int64_t seekPos )
関数内の
blocksize = vorbis_packet_blocksize( &pDec->info, &pDec->packet ) >> 2;/* 4で割るみたい? */

blocksize = vorbis_packet_blocksize( &pDec->info, &pDec->packet ) >> 1;
これで修正できました。
色々なビットレート等で試していないのでここの修正だけだと
ダメな場合があるかも知れませんが、今のところ私の環境では正常っぽいです
530デフォルトの名無しさん:05/03/10 23:17:20
古代にソースが流れてしまってるから報告されても……。
531デフォルトの名無しさん:05/03/13 12:17:41
OGGage
532デフォルトの名無しさん:05/03/13 15:26:25
おっがげ
533デフォルトの名無しさん:05/03/14 15:31:47
OGG Vorbis、使ってみたいけど殆どの人が聴き方知らないから使えない
534デフォルトの名無しさん:05/03/14 15:32:32
>>533
そういうスレじゃありません

    / ̄ ̄ ̄ ̄\  【関西を代表するキモヲタ:風俗嬢ストーカー奈良ちんばの中尾】
   (  人____)
    |ミ/  ー◎-◎-)     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
   (6     (_ _) )   / 奈良に住んでる、ちんばの中尾でーす。(4月生まれ35〜40歳)  |
    | ∴ ノ  3 ノ  <  風俗嬢にストーカーして個人情報調べて本番強要する鬼畜でーす。 |
    ノ\_____ノ、   | サバゲーは京都THE ROCK、大阪BBGUN愛用でPCなんかも趣味。|
   ( *  ヽー--' ヽ )   | 大阪市内の会社勤めで新大阪ムニュDX(プラチナ会員)、      |
   (∵ ;)  ゚ ノヽ  ゚ ):)  | 日本橋クラブなみだの風俗嬢中心に狙ってまーす。          |
   (: ・ )--―'⌒ー--`,_)  |クラブなみだの巨乳嬢ユカちゃんがオキニでーす。           |
   (___)ーニ三三ニ-)   | TOYOTA RAV-4が愛車でauのエリクソンの携帯使ってまーす。  |
   (∴ ー' ̄⌒ヽニ3 )   | 片足ビッコ引いてるから、神!ちんばの中尾と呼んでねー。    /
    `l ・  . /メ /     \__________________________/
536デフォルトの名無しさん:05/03/14 22:55:55
↑荒らすな
537デフォルトの名無しさん:05/03/15 01:00:23
↑オマエモナー
538デフォルトの名無しさん:05/03/15 01:02:35
↑相手するな
539名前は開発中のものです。:05/03/15 03:01:35
現在、荒らしによってこのスレの利用が困難になっているため、避難所を作成しています。
出来ればこちらに移動するのをお勧めします。

ゲ製作技術板(避難所)
http://bbs.gamdev.org/gamedev/

540デフォルトの名無しさん:2005/03/24(木) 13:02:54
bccでスタティックライブラリにコンパイルしたんだけど
vorvisfile.libで外部参照errnoが未定義と出ます
ソースを見てもerrno.hはちゃんと犬ルー度しているようです
まさかstd::つけなきゃいけないって事もないだろうし(ogg自体はCで書かれているから)
なぜこのエラーが出るのかわかりますか

541デフォルトの名無しさん:2005/03/24(木) 17:10:47
リンク時のエラーなら犬ルー度は関係なのでは?
542デフォルトの名無しさん:2005/03/25(金) 10:30:08
むむむ。。。
543637 ◆jUbpU.TPuw :2005/03/25(金) 22:00:18
errnoはマルチスレッドかそうでないかで変数もしくは関数に変化するので
まちがったライブラリをリンクしているのでは。
544デフォルトの名無しさん:2005/03/26(土) 00:23:29

アーティスト公認のLive音源を共有
http://keif.x0.com/bittorrent/bittorrent.html

ライブ音源のダウンロード
http://homepage3.nifty.com/smilemusic/audiofile/index.htm
545デフォルトの名無しさん:2005/07/11(月) 19:00:11
ここ最近パッキングしたoggを再生させようとしているんですが
>>513と同じになってしまいます。

やり方は>>512を参考にしやりました。

seek_funcのとこがおかしいような気がするんですが
分かる人いませんか?
546デフォルトの名無しさん:2005/07/27(水) 21:43:11
あのー、数年前に出てたネタですが、dll使わずに
BCBでobj吐かせてDelphiで呼ぶっての
出来たんだけど、ソースいる人いますか?

誰かエロイ人、コンポーネント化してくらはい。
547デフォルトの名無しさん:2005/07/27(水) 22:18:23
素直にVC使っとけ
548デフォルトの名無しさん:2005/07/28(木) 02:49:31
>>546
公開したかったらしたらええやん。
549デフォルトの名無しさん:2005/07/28(木) 03:12:07
オッジボルビス
550オッグボルビス:2005/10/13(木) 16:59:08
なかなか息の長いスレになったなぁ・・・
551デフォルトの名無しさん:2005/10/20(木) 14:55:39
たまにしか息しないけどな。
552デフォルトの名無しさん:2005/10/20(木) 16:17:11
ワロタ
553デフォルトの名無しさん:2005/11/26(土) 21:55:23
ネー
554オッグボルビス:2005/11/28(月) 11:26:54
板を立てたときは誰も相手にしてくれずにすぐ消えると
おもてたよ。
555デフォルトの名無しさん:2005/11/30(水) 20:51:29
OggVorbisのタグの文字コードはUTF-8が仕様なの?
556デフォルトの名無しさん:2005/11/30(水) 21:29:07
そうね
557デフォルトの名無しさん:2005/12/01(木) 20:03:45
古いエンコーダだとSJISでタグを作るけど
よさげなSJISとUTF-8の区別方法ない?
558デフォルトの名無しさん:2005/12/08(木) 10:59:30
やっと.NETへの移植がオタワ
System.IO.Streamをソースにしたいよな〜〜とか考えてたら偉い大変になった…
559558:2005/12/08(木) 16:03:15
ところで、COMと.NETで倍くらいの速度差があるので重い場所を調べてたら、
コールバック関数に渡される読み込みサイズが常に1で衝撃を受けた…
その度にアンマネージとマネージで通信してたらそりゃ遅いわな。
560デフォルトの名無しさん:2005/12/08(木) 17:43:17
>>559
ぁー、1文字getの関数を純粋仮想にしておいて、
多文字get関数を1文字get関数でデフォルト実装、
っていうタイプの抽象クラスは結構見かけるような。

「純粋の1文字getだけ実装すればあとはデフォルトで実装が与えられますよ。
 効率気にする人は多文字getとかもオーバーライドしてね」っていう。

そんなかんじじゃね?
561デフォルトの名無しさん:2005/12/08(木) 18:07:22
>>560
言われて気になってしまってソース探してみたんだけど
vorbisfile.cでこんな呼び出ししてた。

long bytes=(vf->callbacks.read_func)(buffer,1,CHUNKSIZE,vf->datasource);

まさかと思ってfreadでgrepしたら、
案の定ov_openを使った場合はread_func = freadになってました。
つまり読み出しバイト数は第2引数*第3引数だったらしい…orz

今までread_funcの第3引数の意味が分からなくて
第2引数のみでしてたから1バイトずつ読み込んでた。
つーかもう少しコールバックのドキュメントちゃんとしてくれないかなぁ
ってかもしかして書いてある?私の見落としかな。
562デフォルトの名無しさん:2005/12/08(木) 18:36:45
>>561
"Callbacks and non-stdio I/O"
563デフォルトの名無しさん:2005/12/08(木) 22:52:20
あれ、どっかに標準Cライブラリのf〜と大体同じ、とかって書いてなかったっけ?
あと意味が分からないまま使うのもどうよ。
そして何故他の引数の意味は分かったのか。
564デフォルトの名無しさん:2005/12/09(金) 00:15:43
>>563
いやなんかvorbisfile.hみて、このパターンはなんとなく
ptrは読込先でsizeは読む長さでdatasourceは最初に指定したポインタかなー
って感じで適当に作ってたら上手く読み込めてしまったので…

確かにドキュメント読んだらCライブラリのとほとんど一緒みたいなこと書いてありました。
やっぱちゃんと読まないと駄目だな
565デフォルトの名無しさん:2005/12/20(火) 11:34:00
OggVorbis-win32sdk-*.zipってもう配布されてないんですか?

自分でビルドしろってことかな。('A`)マンドクセ
もういい今年のゲームは旧バージョンをリンクしてやる。
566デフォルトの名無しさん:2005/12/20(火) 15:00:25
デコードだけだったら特にデメリットはなかろうな
567デフォルトの名無しさん:2005/12/21(水) 19:16:52
オッグに時代を感じます
568デフォルトの名無しさん:2005/12/21(水) 22:46:40
>>565
もっと努力しろなぁ〜。ショボすぎ。
ビルドくらい簡単だぞ。
VCならヘッダをコピーしてwin32フォルダの
プロジェクトを開いてビルドするだけ。
569デフォルトの名無しさん:2005/12/22(木) 00:34:50
>>568
今は一分一秒も惜しいので安全策を取った。年明けにがんがる。
570デフォルトの名無しさん:2005/12/22(木) 21:26:43
>>569
いいわけは聞きたくないな。
そんなに急いでいるならカキコしてる暇もないだろ
571デフォルトの名無しさん:2005/12/22(木) 21:53:16
お前の言う「努力」って、「2chにカキコできるならできるはず」みたいに
話をもっていける程度のものなのかw
572デフォルトの名無しさん:2005/12/23(金) 01:25:15
>>570
> そんなに急いでいるならカキコしてる暇もないだろ
2chは別時間
573デフォルトの名無しさん:2005/12/23(金) 02:06:37
どうせ冬コミ合わせだろ?
まだ作業してるようじゃ手遅れだな
574デフォルトの名無しさん:2005/12/23(金) 09:14:37
俺もそう思います。on_
575637 ◆jUbpU.TPuw :2005/12/23(金) 10:10:27
OggVorbis-win32sdk-*.zipが配布されなくなったのって
コンパイラによる影響を受けるせいだと思った。
FILE構造体がgccとvcでは違うので問題が生じるし
CPU別最適化をかけることができない。
標準ライブラリの機能をどれだけ外部DLLに振り分けるかも問題になる。
それならばそれら全てを開発者の管理にまかせたほうがいいと考えたのでは?
576デフォルトの名無しさん:2005/12/23(金) 10:39:46
単に作業者がいないだけ。。。
vorbis-tools win32 バイナリも配られなくなったでしょ。。。

一時期は月例ミーティングでやらないと的な話が出てたけど、最近は完全放置状態。
577デフォルトの名無しさん:2005/12/24(土) 19:21:14
音声が出ません。誰か教えてください。真空波動拳で次のように出ました。

576x432 24bit Divx 5.x(DivX503b1328/DivX503b1328)30.00fps 161512f ogg Vorbis(mode3+)48.00kHz 16Bit 2ch 128kbps
578デフォルトの名無しさん:2005/12/24(土) 21:07:19
スピーカが壊れてんじゃないの。
579デフォルトの名無しさん:2005/12/24(土) 21:14:03
サイズが小さくなるって理由でmode3を使うやつがバカなんだよ。
本質を理解できないやつはmode3で作るなよと。
577もオレもスレ違い。
580デフォルトの名無しさん:2005/12/24(土) 23:09:05
mode3とかいうのはaviに関するものかvorbisに関するものか、どっち?
それさえも分からん。
581デフォルトの名無しさん:2005/12/24(土) 23:47:04
スレ違いって言ってるのがわからんのか
582デフォルトの名無しさん:2006/01/01(日) 22:53:26
今からプログラムでvorbisACMを使う人はいるのかな?
何気に本家のsvnに登録されてますね。
583デフォルトの名無しさん:2006/01/01(日) 23:45:46
わざわざACMにせんでもなー
584デフォルトの名無しさん:2006/01/02(月) 13:47:24
VorbisACMは日本人作者の物と海外の別プロジェクトで2種類なかったっけ?
585デフォルトの名無しさん:2006/01/04(水) 19:24:50
ACMの仕様上VBR系は厳しいでしょ。
586デフォルトの名無しさん:2006/01/15(日) 22:10:03
vorbisの扱いについてネット上で資料を探してもほとんど見つからないんだけど、
音声通話アプリのようなリアルタイム性が必要なアプリでvorbisって使えそう?
587デフォルトの名無しさん:2006/01/15(日) 22:39:20
>vorbisの扱いについてネット上で資料を探してもほとんど見つからないんだけど、
www.vorbis.com
>音声通話アプリのようなリアルタイム性が必要なアプリでvorbisって使えそう?
http://www.vorbis.com/faq/#_speech
588デフォルトの名無しさん:2006/01/15(日) 23:54:48
日本語の資料って言いたかったけどそれはいいとして、
speexっていうのがいいみたいに書いてあるけど
これに至っては自分のプログラムに組み込むのは至難の技だろうな…
リアル厨房の英語力ではきつい。

でも面白そうなんで調査してみる。
589デフォルトの名無しさん:2006/01/16(月) 00:03:42
リアル厨房のおれがきましたよ。
厨なら英語の資料くらい読めよ。
日本語に頼るなんてバカじゃない?
プログラム組むなら、英語できてあたりまえ
日本語に頼っていいのは消防だけだ。
590デフォルトの名無しさん:2006/01/16(月) 07:38:37
たしかにどっちもめちゃくちゃ中学生っぽいアホトークではある。
両者本物だな。
591デフォルトの名無しさん:2006/01/16(月) 12:01:52
ヒント:2chやってるのはみんな中学生
592デフォルトの名無しさん:2006/01/16(月) 16:08:19
 __     __       n     _____  _____     ___ ___    ___
 |   |    /  /      / /    /       | /__  __/ [][] _| |_| |__ _| |_
 |   |.   /  /    /⌒ヽ/     /   / ̄ ̄|. l    / /     |    _  | |_  レ'~ ̄|
 |   |  /  /    ( ^ω^ )    /   /.  / /    |  |___      ̄|  | / / /   /| |
 |   |  /  /     ノ/ /  ノ   /    ̄ ̄ /     \__|     |  |  ̄ /_  /  | |_
 |   |. /  /   // / ノ     /   / ̄ ̄ ̄                |_|     |__|   \/
 |   |/  /  ⊂( し'./    /   /  
 |.     /     | ノ'      /   /                     ニュー速VIP
 |    /.     し'      ./   /                  http://ex14.2ch.net/news4vip/
  ̄ ̄ ̄              ̄ ̄
593デフォルトの名無しさん:2006/01/16(月) 20:49:50
1つのoggファイルに複数の曲が入ってる場合がありますが
(単純にファイルを連結しただけ?)
これを普通のoggファイルと区別する方法はないでしょうか?

曲別のシリアルがOggSパケットに入ってるならできそうですが…
594デフォルトの名無しさん:2006/01/16(月) 21:46:17
ファイルを結合したんじゃなくて
もともと2曲を1ファイルとして作成したファイルじゃないという根拠は?
てか、そんなファイルどこにあるの?ww
595デフォルトの名無しさん:2006/01/16(月) 22:33:16
>>594
意味ワカラン。
日本語勉強してこい。
おまえも中学生か。
596デフォルトの名無しさん:2006/01/16(月) 22:48:57
>>594
ひとつの曲として作ったものなんじゃないの?
ってことだろ?
日本語としては十分何を言いたいのか伝わった。
>>595が勉強したほうがいい。まぁ、十中八九遊んでるだけだと思うが。。
597デフォルトの名無しさん:2006/01/17(火) 07:47:07
まぁ、本人なら何が言いたいのかわかるのは当然だよなw

でもそんな擁護をしても、>>594は日本語になっていません。
598デフォルトの名無しさん:2006/01/17(火) 09:11:04
俺は>>594が何を言ってるのかはっきり理解できるのだが。
599デフォルトの名無しさん:2006/01/17(火) 11:44:57
何を言ってるのかはわかるが何を言いたいのかがわからない
600デフォルトの名無しさん:2006/01/17(火) 13:02:44
>>594を読みやすく変更してみた。

> ファイルを結合したのでは無く、
> もともと2曲を1ファイルとして作成したファイルでも無い根拠は?
> てか、そんなファイルどこにあるの?ww

意味ワカランチン

> ファイルを結合したのでは無く、
> もともと2曲を1ファイルとして作成したファイルである根拠は?
> てか、そんなファイルどこにあるの?ww

こう言いたかったのか?

ヨクワカランチン(・ω・)
601デフォルトの名無しさん:2006/01/17(火) 13:04:41
読解力欠けまくりのゆとり教育の犠牲者がいますね。
602デフォルトの名無しさん:2006/01/17(火) 18:48:05
だからさー、読み手を煽る前に594の糞テキストぶりに少しは触れておかないと、
本人なのが丸わかりなんだってば。不自然で。

頭わるいなあ・・・。
603デフォルトの名無しさん:2006/01/17(火) 18:58:06
本人がきましたよ。
日本語って難しいね。
小学生だから許してくれ。

日本語よりCとかC++とかのほうが簡単だよね。
おれ、コンピュータのソースになりたいって
何回も思ったけど、
いつも母さんに「バカじゃないの?少しは小説でも読みなさい」
って言われるんだ。

おれ、コンセントからケーブル抜いて
窓からCPU投げ捨てたほうがいいかな?
さすがにPCそのまま投げたら、下にいる人が危ないよね。

最近、まなちゃんにも振られたし。はぁ。。。
いいさ。もうoggで遊ぶのやめるよ。
じゃぁ。みなさん、さようなら。
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の種類やインスタンスが違うとダメ