tag:blogger.com,1999:blog-8003003859380421483.post6597587213560220628..comments2024-02-28T00:52:29.846-08:00Comments on Open Audio: Basic Dynamic Range CompressorChiphttp://www.blogger.com/profile/10352943033779293161noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-8003003859380421483.post-42045952193713428642022-03-19T03:29:19.918-07:002022-03-19T03:29:19.918-07:00Hi, are you still active in this field, I'm do...Hi, are you still active in this field, I'm doing some audio HW product in quantity, maybe we can cooperate. yubichun@gmail.comAnonymoushttps://www.blogger.com/profile/08539872397953770084noreply@blogger.comtag:blogger.com,1999:blog-8003003859380421483.post-32350861886652598022022-03-19T03:29:03.313-07:002022-03-19T03:29:03.313-07:00Hi, are you still active in this field, I'm do...Hi, are you still active in this field, I'm doing some audio HW product in quantity, maybe we can cooperate. Anonymoushttps://www.blogger.com/profile/08539872397953770084noreply@blogger.comtag:blogger.com,1999:blog-8003003859380421483.post-16976292408379155082019-05-27T03:48:06.717-07:002019-05-27T03:48:06.717-07:00Hi! Great work indeed! Do you think your DRC proje...Hi! Great work indeed! Do you think your DRC project is suitable as an auto-volume device between a satellite receiver and a TV-Soundbar? I should have enough electronics, software and audio knowledge to use your source code but I would love to get some basic feedback if I'm on the right track. The idea is to use your compressor to balance the volume between loud and silent scenes in movies. With the goal to help my elderly parents watch TV. In the best case I can add some equalizer features to do some voice enhancement. Many thanks.Frankhttps://www.blogger.com/profile/09951696406636366442noreply@blogger.comtag:blogger.com,1999:blog-8003003859380421483.post-89317232608000648832018-08-15T00:28:05.689-07:002018-08-15T00:28:05.689-07:00This comment has been removed by a blog administrator.Minh Hiếu EChttps://www.blogger.com/profile/15457626364453071998noreply@blogger.comtag:blogger.com,1999:blog-8003003859380421483.post-17613960607516964992018-04-01T13:21:13.917-07:002018-04-01T13:21:13.917-07:00Great question. Looking at my own code on GitHub ...Great question. Looking at my own code on GitHub (https://github.com/chipaudette/OpenAudio_ArduinoLibrary/blob/master/AudioEffectCompressor_F32.h), I see that the magnitude is assessed in the method "calcAudioLevel_dB".<br /><br />Looking at this function, I see that it computes the audio level on a sample-by-sample basis using a first-order, low-pass IIR filter. It is this low-pass filter that does the averaging that you are asking about. The cutoff frequency of the filter defines how long the averaging is (the averaging period is the inverse of the cutoff frequency). The cutoff frequency is set by the "c1" and "c2" values, which are computed from "level_lp_const".<br /><br />Looking at where "level_lp_const" is defined, I see that it is either 1/5 of the minimum of the attack and release times, though no shorter than 0.002 seconds (ie, 2 milliseconds). So the averaging for the magnitude estimation is at least 0.002 seconds.<br /><br />If the system is running at a sample rate of 44kHz, 2 milliseconds is 88 samples.<br /><br />Chip<br /><br />Chiphttps://www.blogger.com/profile/10352943033779293161noreply@blogger.comtag:blogger.com,1999:blog-8003003859380421483.post-3735317355179524852018-03-08T13:12:10.139-08:002018-03-08T13:12:10.139-08:00How many audio samples do you average over to dete...How many audio samples do you average over to determine the magnitude? And do you buffer these samples so that you can operate immediately on them before they go out?Anonymoushttps://www.blogger.com/profile/05925783877003782850noreply@blogger.comtag:blogger.com,1999:blog-8003003859380421483.post-62042920040431096512017-12-22T12:33:22.980-08:002017-12-22T12:33:22.980-08:00The primary reason why I've formulated my comp...The primary reason why I've formulated my compressor in terms of attack and release times and knee points is for historical reasons. This is how analog circuits were engineered to be compressors, so the language used by the broader community centers around the notions of attack and release times and knee points.<br /><br />A secondary reason for formulating it this way is that it works and sounds decent. For example, the input/output graph showing a knee-point may look artificial, but it does not sound particularly artificial. When I have played with soft knee compression, I don't hear that much difference. And, furthermore, the soft knee isn't particularly better sounding (to my ears), it's just different sounding.<br /><br />So, I totally agree with you that discussing compression in terms of attack and release times and knee points is old fashioned. But, it works decently well. And, like everyone else getting started in this area, I figured that I'd start with this common reference point.<br /><br />Thanks so much for your interest!<br /><br />Chip<br /><br />Chiphttps://www.blogger.com/profile/10352943033779293161noreply@blogger.comtag:blogger.com,1999:blog-8003003859380421483.post-43313723157648451172017-11-28T04:02:09.391-08:002017-11-28T04:02:09.391-08:00Hi.
Why do you want attack time and a knee?
When ...Hi. <br />Why do you want attack time and a knee?<br />When you have full control of the compressor in software, wouldn´t it be better to have 0ms attack and a soft knee? Graduatly increasing and decreasing the gain in a natural way based on the level estimator..KSolberghttps://www.blogger.com/profile/15009731434181182278noreply@blogger.comtag:blogger.com,1999:blog-8003003859380421483.post-37799064727531284342017-06-05T05:14:20.039-07:002017-06-05T05:14:20.039-07:00This comment has been removed by a blog administrator.Anonymoushttps://www.blogger.com/profile/01384629649114176538noreply@blogger.comtag:blogger.com,1999:blog-8003003859380421483.post-78199614999750036462017-04-27T03:07:27.781-07:002017-04-27T03:07:27.781-07:00This comment has been removed by a blog administrator.Anonymoushttps://www.blogger.com/profile/10851720282638278745noreply@blogger.com