views:

173

answers:

4

Is there any ways to create my own audio file format? I'm planning to create simple player with its codec. What should I learn before now?

thanks.

+2  A: 

Why flood the space with more codecs that we don't really need? Use something that's already widely adopted and save yourself unnecessary man hours.

Jon Ursenbach
Don't know why someone would downvote this. It's a valid answer. I find those audio/video files encoded using a codec requiring a specific player to be an absolute waste.
Jeremy
A: 

Unless you're doing it for the learning experience, I'd argue that there's already way to many codecs and players and creating another just adds more harm than good.

Jeremy
+2  A: 

An audio file format is not the same as an audio codec. For example the WAV file format can contain audio compressed with a wide variety of codecs.

To create your own audio compression format, you would need to learn a lot about digital signal processing (DSP). The approach you take depends on what type of audio you are compressing (e.g. speech or music, mono or stereo etc), and how you weigh the tradeoff between audio quality and file size.

Mark Heath
could I contact someone that has been expert on these?
van_tomiko
+2  A: 

I suggest checking out the xiph.org site, because they have information on multiple audio codecs which are free, open, and unencumbered by patents.

As mentioned by Mark Heath, the first step is to understand the difference between a container format, such as ogg or WAV, and a compression algorithm, implemented by a codec. The WAV container format is most often used for uncompressed PCM audio, although it is also possible to use it with MP3 and a few other compressed audio formats. The ogg container format is commonly used with the Vorbis codec, especially when encoding music. A container format can usually contain multiple audio channels (e.g. stereo audio), or video and audio channels with synchronization, using different codecs for each.

Other audio codecs that can be used with ogg include speex (for speech), CELT (for ultra-low delay audio), and FLAC (for lossless audio compression). All of these codecs are open and you can read about and compare the different features, algorithms, and design decisions of each in order to determine the unique goals for your project. Before designing a new codec, you will probably want to read through and fully understand the specifications for any of these codecs that are similar. Wikipedia also has a comparison of audio codecs, in table form.

mark4o
Actually in Win7, all of the Windows system sounds are WAV files compressed with the MP3 codec.
Larry Osterman
@Larry: Ah, interesting. I have updated my answer.
mark4o