Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: I have developed a new codec for my signal processing learning. (Read 510 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

I have developed a new codec for my signal processing learning.

I have developed a new codec for my signal processing learning.

It can handle quality values from 0: 80kbps-110kbps to quality value 10: 300kbps-350kbps, and the values can be specified as a decimal point or an integer.

I can assure you that the quality is not as good as the current codecs, but it was very well referenced for my learning.

The code is written in Python.

Below I paste a sample.

I hope you find it of interest. :))




MOD edit: Please keep music clips under 30 seconds

Re: I have developed a new codec for my signal processing learning.

Reply #1
xxx.y.flac
where y is the quality value.
A bit rate of 0 is 107 kbps
A bit rate of 2 is 132 kbps
A bit rate of 5 is 183 kbps
is the quality value.

Re: I have developed a new codec for my signal processing learning.

Reply #2
Can you give us original flac so we can compare?
Error 404; signature server not available.

Re: I have developed a new codec for my signal processing learning.

Reply #3
Okey

Re: I have developed a new codec for my signal processing learning.

Reply #4
This is the sound source for comparison.
And this is my learning codec, so don't get your hopes up.
However, I can receive and teach questions about the technical details of the codecs.

 

Re: I have developed a new codec for my signal processing learning.

Reply #5
The main algorithms are as follows
This codec basically handles M/S processing; all L/R is converted to the M/S domain.
Then, a 3072-point MDCT is performed next, which is divided into 32 bands before quantization is performed in the mode appropriate for each band.
Four modes of quantization exist.
The first mode, normal quantization, is a type of quantization that adds strain. The allowable strain is adaptively limited according to the volume of the original band, and the resolution is quantized accordingly.
The second mode, logarithmic quantization, is a mode of quantization that is performed after conversion to logarithmic. It converts to log/db and controls the width of quantization to match the band and volume. This mode also allows downsampling in the frequency domain. This process is based on the intuition that waveforms with little vertical width and noise are less likely to be affected by downsampling to some extent.
The third mode, prediction during decoding, this mode is mainly used for higher frequencies. This mode is used in bands where overtone structure is not so important, such as in the upper registers.
The fourth mode, no data, is used when the data is deemed unnecessary to human hearing; when either the M/S data is masked at a certain volume level, the mode changes to no data or prediction.
These are combined and compressed.