Does anyone know the Cakewalk wave file format? It is slightly different from Microsoft's RIFF one listed below. http://ccrma.stanford.edu/courses/422/projects/WaveFormat/ I believe there is an extra chunk in the header. But where and how large I don't know.
Cakewalk Wave File Format
Started by ●October 23, 2007
Reply by ●October 23, 20072007-10-23
"Stacy" <stacy2003_young@yahoo.com> wrote in message news:zaidnRSvSYhSZoDanZ2dnUVZ_s2tnZ2d@giganews.com...> Does anyone know the Cakewalk wave file format? It is slightly different > from Microsoft's RIFF one listed below. > > http://ccrma.stanford.edu/courses/422/projects/WaveFormat/ > > I believe there is an extra chunk in the header. But where and how large I > don't know.It's been more than a year since I coded something to read this, but IIRC, there is a "PAD " (or is it "pad "?) chunk type/ID contained in some of Sonar's WAV files. Most players/readers don't have a problem with this because they just skip chunk types other than "DATA" when reading/playing. There are other apps that embed various different chunks in the files as well.
Reply by ●October 23, 20072007-10-23
Stacy wrote:> Does anyone know the Cakewalk wave file format? It is slightly different > from Microsoft's RIFF one listed below. > > http://ccrma.stanford.edu/courses/422/projects/WaveFormat/ > > I believe there is an extra chunk in the header. But where and how large I > don't know.I only have SONAR v 2, so can't say if they have changed things since that version. They use the 18byte WAVEFORMATEX, and use PAD chunks for alignment pruposes (typically between the fmt and data chunks, and sometimes also at the end of a file). for 24bit and high-sr files I would expect them to use the newer WAVEFORMATEXTENSIBLE format, where the fmt chunk is 40 bytes long. Suffice it to say, that ccrma document is very out of date! If you can get hold of a Microsoft sdk tool called "riffwalk" (old dos-style, only understands filenames in 8.3 format), you can use that to scan the chunks of a file to see sizes etc. Richard Dobson
Reply by ●October 23, 20072007-10-23
"Richard Dobson" <richarddobson@blueyonder.co.uk> wrote in message news:zonTi.73557$lV4.52986@fe2.news.blueyonder.co.uk...> Stacy wrote: >> Does anyone know the Cakewalk wave file format? It is slightly different >> from Microsoft's RIFF one listed below. >> http://ccrma.stanford.edu/courses/422/projects/WaveFormat/ >> >> I believe there is an extra chunk in the header. But where and how large >> I >> don't know. > > > I only have SONAR v 2, so can't say if they have changed things since that > version. They use the 18byte WAVEFORMATEX, and use PAD chunks for > alignment pruposes (typically between the fmt and data chunks, and > sometimes also at the end of a file). for 24bit and high-sr files I would > expect them to use the newer WAVEFORMATEXTENSIBLE format, where the fmt > chunk is 40 bytes long. > > > Suffice it to say, that ccrma document is very out of date! > > > If you can get hold of a Microsoft sdk tool called "riffwalk" (old > dos-style, only understands filenames in 8.3 format), you can use that to > scan the chunks of a file to see sizes etc. > > Richard DobsonI can email the utility I wrote if you want it. It's a 1.5M cl tool.
Reply by ●October 23, 20072007-10-23
I have Calkwalk 2002 Home Studio and I'm still dealing with 16 bit/44.1k. It looks like the Cakewalk line has been replaced with Sonar. I also have a free program called Audacity. I can r/w their wave file with no problem. I record and save something with Cakewake. Then I open it in Audacity and save it from there. Now I can read it in the S/W I wrote. I want to modify my existing C# code to handle Cakewalk so as to avoid that extra step. Somone mentioned that you can ignore the header and just go to the data. That is true if one knows the information in the header. In my case I am experimenting with re-sampling. Which means the wave could be saved at all different sample rates.
Reply by ●October 23, 20072007-10-23
"Stacy" <stacy2003_young@yahoo.com> wrote in message news:nJKdnSXo8s1JloPanZ2dnUVZ_oWdnZ2d@giganews.com...>I have Calkwalk 2002 Home Studio and I'm still dealing with 16 bit/44.1k. > It looks like the Cakewalk line has been replaced with Sonar.I'm pretty sure HS is still a viable product line. Also, Sonar is just a new name for what was Pro Audio ...> > I also have a free program called Audacity. I can r/w their wave file with > no problem. I record and save something with Cakewake. Then I open it in > Audacity and save it from there. Now I can read it in the S/W I wrote. > > I want to modify my existing C# code to handle Cakewalk so as to avoid > that extra step.If you code your c# to deal with all various chunk possibilities, then you won't need the extra step. FWIW, I think this topic has reached the point that you would be better served by one of the microsoft.public newsgroups.
Reply by ●October 23, 20072007-10-23
BobF wrote: ..>>I want to modify my existing C# code to handle Cakewalk so as to avoid >>that extra step. > > > If you code your c# to deal with all various chunk possibilities, then you > won't need the extra step. >That can be quite a big "if". Simplest really to use and link with libsndfile; which I understand takes a small amount of work in C# but is far from impossible.> FWIW, I think this topic has reached the point that you would be better > served by one of the microsoft.public newsgroups. >Hopefully he won't need to do anything that drastic :-). Richard Dobson
Reply by ●October 23, 20072007-10-23
"Richard Dobson" <richarddobson@blueyonder.co.uk> wrote in message news:UroTi.73564$lV4.34172@fe2.news.blueyonder.co.uk...> BobF wrote: > .. >>>I want to modify my existing C# code to handle Cakewalk so as to avoid >>>that extra step. >> >> >> If you code your c# to deal with all various chunk possibilities, then >> you won't need the extra step. >> > > That can be quite a big "if".Not really. Just look for the "meat" and ignore everything else. Cake embeds "PAD " chunks for alignment-in-time. Some commercial houses include "FACT" chunks. The way the WAV spec is designed, anybody can add anything for just about any purpose. So the best approach is to look specifically for what you want- "DATA" in the case of playback. You just have to watch for the possibility of multiple "DATA" chunks with the possibility of other chunks in between.> Simplest really to use and link with libsndfile; which I understand takes > a small amount of work in C# but is far from impossible.I agree, reinventing the tools is wasted effort in most but "training" exercises.> >> FWIW, I think this topic has reached the point that you would be better >> served by one of the microsoft.public newsgroups. >> > > Hopefully he won't need to do anything that drastic :-).:-) I subscribe to handful of them. There are a few *really* good groups.
Reply by ●October 23, 20072007-10-23
Richard Dobson wrote:> If you can get hold of a Microsoft sdk tool called "riffwalk" (old > dos-style, only understands filenames in 8.3 format), you can use that > to scan the chunks of a file to see sizes etc.If you grab libsndfile from: http://www.mega-nerd.com/libsndfile/ that includes a command line too called sndfile-info which prints out the information about the file internals. Erik -- ----------------------------------------------------------------- Erik de Castro Lopo ----------------------------------------------------------------- " ... new TV ad for Microsoft's Internet Explorer e-mail program which uses the musical theme of the "Confutatis Maledictis" from Mozart's Requiem. "Where do you want to go today?" is the cheery line on the screen, while the chorus sings "Confutatis maledictis, flammis acribus addictis,". This translates to "The damned and accursed are convicted to the flames of hell."
Reply by ●October 23, 20072007-10-23
Stacy wrote:> I want to modify my existing C# code to handle Cakewalk so as to avoid > that extra step.They may be an easier way than writing your own code. Have a look at libsndfile: http://www.mega-nerd.com/libsndfile/ Yes, I know its written in C, but its trivial to hook it up to C#. In fact, there is a demo C# project in the examples/ directory, generate.cs. Erik -- ----------------------------------------------------------------- Erik de Castro Lopo ----------------------------------------------------------------- Saying Python is easier than C++ is like saying that turning a light switch on or off is easier than operating a nuclear reactor.






