Keywords: Vorbis, codec, signal processing, free software, public domains
Do you know codecs?
Codec refers to devices or rules that perform encoding and decode from a certain data to another data. Coding allows you to convert from analog data to digital data or compress digital data while keeping the original data quality (to some extent).
Even if you have never heard of the word codec, you may know about MP3 and PNG. MP3 is an audio codec called MPEG-1/2 Audio-Layer 3 (and format format created based on it), and PNG is a codec of Portable Network Graphics. There are many other codecs besides these. Introduced in the previous articleLC3It is also one of the audio codecs.
By the way, this time, we introduce the audio codec called Vorbis. Most people say "what is VORBIS?" That should be it, and Vorbis is certainly an audio codec, but it is rarely used as a music file codec. Then, where Vorbis is used is a PC game. There are many game titles that use Vorbis on the Vorbis site [1].
One of the reasons Vorbis is used in many games is the feature of Vorbis. It means that the specifications are published as public domains and can be used without worrying about patents and license fees. In fact, there are many codecs in the world that are protected by patents. In the above -mentioned MP3, there was a license program until the patent expired in 2017. In addition, PNG was developed as a substitute for GIF because the license fee was required to use GIF, which was popular at the time. On the other hand, VORBIS specifications are public domains, so there is no need to worry that you will be required to pay a license fee. VORBIS is also available in the Library created in line with the specifications of VORBIS and its source code under Article 3 BSD license (Note 1), and can be used freely. Because of this feature, it is used in various games. By the way, the reason that Vorbis is a public domain is that XIPH.ORG, which formulated VORBIS, is necessary to prevent "Commons tragedy (Note 2)" in the shared property of the Internet. Because I am thinking [2].
By the way, there is one point to be careful when actually using VORBIS. It is about the sound quality of the sound signal. The Vorbis specification clearly defines only the decoder, and all encoders that generate data that can be decoded correctly with the decoder are all correct encoders. Therefore, when designing a VORBIS encoder, it is necessary to pay attention to the fact that the deterioration of the sound quality is as low as possible. On the other hand, many codecs protected by patents are to ensure the necessary sound quality, such as defining encoder specifications. I think that VORBIS is one of the reasons that VORBIS is rarely used as a music file codec in order to make it as high as possible. (Of course, the sound quality of VORBIS is not bad.)
How to use VORBIS is not just encoding/decoding audio. By reading the published specifications and source code, you can learn about audio signal processing, or you can improve the source code to create an original codec. The fact that you can use it as you want is the fun of Vorbis, an open source software.
If you are interested in audio codecs and audio signal processing, please look into the Vorbis website.
(Note 1) Article 3 BSD license is a license that is often used when distributing free software. The program created using the source code distributed in this license eliminates the need to disclose the source code by satisfying certain conditions.
(Note 2) Commons's tragedy is a phenomenon that resources are exhausted as a result of maximizing their own profits in shared resources opened in multiple people.
[1] https://wiki.xiph.org/Games_that_use_Vorbis(See September 15, 2022)
[2] https://xiph.org/about/(See September 26, 2022)
η