So i'm trying to write an app that enocodes WAV files to "Ogg in a RIFF-WAV" files. Theese are used in Fruity Loops, and since the software itself does not have this feature i wanted to write one myself. The point for it is to save space when sharing "zipped loop packages". Such packages contain the samples (WAV) and the song file (FLP). At first i wrote just an encoder WAV->Ogg and it worked fine. But than i found out that FruityLoops uses ACM so i wanted to support that too. Attached is a half-working code that encodes a WAV file using ACM. And here is the problem. The encoded files have either "holes" in them (that's what Sound Forge shows) or are shorter (that's what Wavelab and FruityLoops shows). I've been going through your list and found a suggestion that this might be due to the nature of Vorbis, that it writes the header information durng the encode process. But i don't know how to deal with that, perhaps write some junk to the encoder before the actual data, perhaps write NULL data (but i saw someone maention that the NULL is not possible). But how much to write or how to find out that i wrote enough. I'm not sure if i'm thinking the right way here so please correct me if I'm wrong. The second issue was to achieve the same thing without the use of ACM. basicly write the RIFF-WAVE header all the chunks and just "attach" Ogg Vorbis encoded data, but do the encoding with libvorbis. Well that came with other problems, because the decoding will be made with ACM so I have to know what each "mode" in the ACM engine means. I went through the source of vorbis.acm and found some information. I think this can be done, however i would like your opinion if it is a good idea. If someone could help me that would be very nice. The code uses VC++ 6. You have to link it with winmm.lib and msacm32.lib. I tried to comment it as much as possbile so it should be pretty easy to understand. Hope i was clear enough. Atom -------------- next part -------------- A non-text attachment was scrubbed... Name: atomACM.zip Type: application/x-zip-compressed Size: 5729 bytes Desc: atomACM.zip Url : http://lists.xiph.org/pipermail/vorbis/attachments/20030403/bf7b9dc5/atomACM-0001.bin
Christian HJ Wiesner
2003-Apr-06 12:40 UTC
[vorbis] Re: OGG in RIFF-WAVE (encoding with MSACM)
atom wrote:> So i'm trying to write an app that enocodes WAV files to "Ogg in a RIFF-WAV" > files.1. There is a Vorbis.ACM already, developed in Japan 2. ACM does only support CBR audio, so you cant make a real spec compliant VBR audio codec with it. Vorbis in AVI sux and gets out of sync all the time Christian <p>--- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.