| I think it says it blocks quiet sounds if you use positive values, but
I think under usual circumstances you should use negative values....
should you? That doesn't work very well with the 0dbfs discrepancy
though? god I'm confused, I'm gonna need to reread the manual I think
On Fri, Mar 25, 2016 at 7:38 PM, Anton Kholomiov
wrote:
> docs says that csound's threshold is for blocking the quiet sounds.
> It should act like a gate. So the term is confusing because there is a
> conventional
> notion of threshold in VST compressors.
>
> 2016-03-25 22:34 GMT+03:00 Peter Burgess :
>>
>> you know, I started writing an explanation to the knees, and then
>> realised my understanding of it doesn't make sense.... but it's
>> something to do with the transition between the signal bellow the
>> compression threshold, and the signal above it, so there's not a point
>> where it suddenly starts getting compressed.
>>
>> From my experimentation with compress and compress2, it would seem to
>> me that the lo and hi knee seem to work the same as the threshold and
>> knee in the link, but again, I'm not the most qualified to speak on
>> these matters, so if anyone knows better, please correct me. I'm still
>> confused as to what the parameter called threshold is for, as it
>> doesn't seem to act like a threshold
>>
>> On Fri, Mar 25, 2016 at 7:31 PM, Anton Kholomiov
>> wrote:
>> > On causing the physical damage. It's quite true. Once I've broken my
>> > speakers with high amplitudes.
>> >
>> > 2016-03-25 22:23 GMT+03:00 Anton Kholomiov :
>> >>
>> >> @vallste It's interesting way to do this. It can be optimized with
>> >> ftable
>> >> I think.
>> >> So that we don't need to calculate the taninv on each step. We can
>> >> store
>> >> the function and do lookup.
>> >> With this trick it's super lightweight algorithm to solve my task.
>> >>
>> >> As for compress vs soft clip. I've tried the compress and result is
>> >> much
>> >> better
>> >> than it was with clip. I don't hear the distortion when the sound is
>> >> above
>> >> the limit
>> >>
>> >> I\ve set the arguments to:
>> >>
>> >> ~~~
>> >> aduck init 1
>> >> ithresh = 0
>> >> iloknee = 98
>> >> ihiknee = 98
>> >> iratio = 100
>> >> iatt = 0
>> >> irel = 0
>> >> ilook = 0
>> >>
>> >> aout1 compress aout, aduck, ithresh, iloknee, ihiknee, iratio, ilook
>> >> ~~~
>> >>
>> >> I still don't get the difference between iloknee and ihiknee.
>> >> Is the hiknee or loknee the same thing as threshold in this article:
>> >>
>> >> http://www.homestudiocorner.com/what-is-knee-on-a-compressor/
>> >>
>> >> But why do we need two of them?
>> >>
>> >> Anton
>> >>
>> >> 2016-03-25 20:17 GMT+03:00 Justin Smith :
>> >>>
>> >>> as an aside about the need for this - I think this exposes a very bad
>> >>> design choice in operating systems.
>> >>>
>> >>> If a user sets a system level volume control, the sensible thing is to
>> >>> set that level as the maximum level any application can produce.
>> >>> Instead,
>> >>> this is just used as a multiplication factor applied to the output of
>> >>> each
>> >>> application - so that there is no way for the user to control the
>> >>> actual max
>> >>> amplitude (unless their sound card has hardware controls).
>> >>>
>> >>> This isn't just a poor choice in design, it's one that can cause
>> >>> actual
>> >>> physical injury.
>> >>>
>> >>>
>> >>> On Fri, Mar 25, 2016, 09:31 Peter Burgess
>> >>> wrote:
>> >>>>
>> >>>> @vallste awesome! I might give that a try myself.
>> >>>>
>> >>>> I'd not realised that clip did soft clipping. This all sounds like
>> >>>> good
>> >>>> advice!
>> >>>>
>> >>>> If you are still interested in the compress opcode though, I'm not
>> >>>> sure about the amplitude converters, but it seemed that the dB range
>> >>>> needed for the knees was 0 -> 90 instead of -90 -> 0 (when working
>> >>>> with 0dbfs that is). For the hard limiter that you're after, you'd
>> >>>> want the knees the same, or close to the same, and both pretty much
>> >>>> at
>> >>>> 90.
>> >>>>
>> >>>> As for the ratio, 100 sounds like it'll do the trick, that's really
>> >>>> harsh compression. As you suspected, I don't need such harsh
>> >>>> compression. Or do I? I've still got to do some experimentation
>> >>>> myself, lol ;)
>> >>>>
>> >>>> On Fri, Mar 25, 2016 at 4:07 PM, vallste@libero.it
>> >>>> <00000008a49663bc-dmarc-request@listserv.heanet.ie> wrote:
>> >>>> > Hi,
>> >>>> > I normally use arctan limiter (I don't rememeber who suggested it
>> >>>> > on
>> >>>> > this
>> >>>> > list, I owe her/him a beer), I've encapsulated in an UDO:
>> >>>> > opcode AtanLimit, a, a
>> >>>> > ain xin
>> >>>> > aout = 2 * taninv(ain) / 3.1415927
>> >>>> > xout aout
>> >>>> > endop
>> >>>> > Simple and quite effective
>> >>>> >
>> >>>> >
>> >>>> >>----Messaggio originale----
>> >>>> >>Da: Oeyvind Brandtsegg
>> >>>> >>Data: 25/03/2016 16.45
>> >>>> >>A:
>> >>>> >>Ogg: Re: [Csnd] Making hard limiter with compressor to prevent huge
>> >>>> > amplitudes
>> >>>> >>
>> >>>> >>Just my 2c, if you want a simple limiter, the clip opcode may work
>> >>>> >>reasonaby well. It does soft clipping, and the default (Bram de
>> >>>> >> Jong)
>> >>>> >>method works nicely IIRC. I've used it a lot earlier, but not
>> >>>> >>recently.
>> >>>> >>I seem to recall I put the clipping start point at 0.75, instead of
>> >>>> >>the default 0.5.
>> >>>> >>
>> >>>> >>2016-03-25 12:40 GMT+01:00 Anton Kholomiov
>> >>>> >> :
>> >>>> >>> Also in the manual the suggested value for ratio is 100 (if you
>> >>>> >>> want
>> >>>> >>> to
>> >>>> >>> implement the limiter). Do you have any thoughts on that? reason
>> >>>> >>> behind
>> >>>> > your
>> >>>> >>> being 10
>> >>>> >>> you don't want to have a lot of compression?
>> >>>> >>>
>> >>>> >>> 2016-03-25 14:04 GMT+03:00 Anton Kholomiov
>> >>>> >>> :
>> >>>> >>>>
>> >>>> >>>> @Pete Thanks for the solution! I think I'll integrate it into my
>> >>>> >>>> lib.
>> >>>> >>>> I need to use `compress`. I'd like to not to use very recent
>> >>>> >>>> opcodes for
>> >>>> >>>> default things.
>> >>>> >>>> In that case with `compress` do I need to use ampdbfs to convert
>> >>>> >>>> your
>> >>>> >>>> values for knees?
>> >>>> >>>> or it have to be `ampdb`?
>> >>>> >>>>
>> >>>> >>>> 2016-03-24 23:32 GMT+03:00 Peter Burgess
>> >>>> >>>> :
>> >>>> >>>>>
>> >>>> >>>>> Hi Anton, I was also in the same boat recently, so I will share
>> >>>> >>>>> what I
>> >>>> >>>>> have learnt this far.
>> >>>> >>>>>
>> >>>> >>>>> compress or compress2 are probably your best bet. Apparently
>> >>>> >>>>> Dam
>> >>>> >>>>> was
>> >>>> >>>>> an experiement and never meant to be used. John recently added
>> >>>> >>>>> compress2 to Csound, which uses dB values that work with any
>> >>>> >>>>> 0dbfs.
>> >>>> >>>>> What you do is set the threshold of the output using the loknee
>> >>>> >>>>> hiknee
>> >>>> >>>>> values, and set ratio to determine how much the sound is
>> >>>> >>>>> squashes
>> >>>> >>>>> above those thresholds. 0 on either knee will represt 0dbfs,
>> >>>> >>>>> and
>> >>>> >>>>> -90
>> >>>> >>>>> represents near to silence.
>> >>>> >>>>>
>> >>>> >>>>> This is the compressor setting I've got going on the main
>> >>>> >>>>> output
>> >>>> >>>>> of
>> >>>> >>>>> algorythm radio at the moment:
>> >>>> >>>>>
>> >>>> >>>>> ithresh = -90
>> >>>> >>>>> iloknee = -4
>> >>>> >>>>> ihiknee = -2
>> >>>> >>>>> iratio = 10
>> >>>> >>>>> iatt = 0
>> >>>> >>>>> irel = 0
>> >>>> >>>>> ilook = 0
>> >>>> >>>>> ablank init 1
>> >>>> >>>>> acompL compress2 amixL, ablank, ithresh, iloknee, ihiknee,
>> >>>> >>>>> iratio,
>> >>>> >>>>> iatt, irel, ilook
>> >>>> >>>>> acompR compress2 amixR, ablank, ithresh, iloknee, ihiknee,
>> >>>> >>>>> iratio,
>> >>>> >>>>> iatt, irel, ilook
>> >>>> >>>>>
>> >>>> >>>>> I'm still not sure it's ideal, but it's working at the moment
>> >>>> >>>>> while I
>> >>>> >>>>> develop. If I have this right (and I still might not):
>> >>>> >>>>>
>> >>>> >>>>> my loknee + hiknee value mean I'm only starting to compress a
>> >>>> >>>>> little
>> >>>> >>>>> from -4dB up, and compressing fulling from -2dB up.
>> >>>> >>>>> ratio of 10 means all sounds above -2dB are being reduced by
>> >>>> >>>>> 10dB,
>> >>>> >>>>> which means by a magnitude of 10.
>> >>>> >>>>>
>> >>>> >>>>> I'm still not sure what threshold actually does, it might have
>> >>>> >>>>> something to do with the sidechain function, it doesn't seem to
>> >>>> >>>>> make
>> >>>> >>>>> much difference when I change it, so I'm just leaving it at
>> >>>> >>>>> -90.
>> >>>> >>>>> ablank is where a sidechain modulator would be if I was using
>> >>>> >>>>> one,
>> >>>> >>>>> so
>> >>>> >>>>> I just set this to 1 to represent a constant signal to keep the
>> >>>> >>>>> compressor active.
>> >>>> >>>>>
>> >>>> >>>>> Feel free to ask more questions if you have any, and hope this
>> >>>> >>>>> helps.
>> >>>> >>>>>
>> >>>> >>>>> Pete
>> >>>> >>>>>
>> >>>> >>>>> On Thu, Mar 24, 2016 at 7:30 PM, Dr. Richard Boulanger
>> >>>> >>>>> wrote:
>> >>>> >>>>> > Good luck working on this Anton and please share your
>> >>>> >>>>> > results.
>> >>>> >>>>> >
>> >>>> >>>>> > This "feature" should be an optional setting in Csound (from
>> >>>> >>>>> > the
>> >>>> >>>>> > command-line or a check-box in CsoundQt
>> >>>> >>>>> > And
>> >>>> >>>>> > It should, by default, always be set to "on".
>> >>>> >>>>> >
>> >>>> >>>>> > Dr.B.
>> >>>> >>>>> >
>> >>>> >>>>> > On Thu, Mar 24, 2016 at 3:26 PM, Anton Kholomiov
>> >>>> >>>>> >
>> >>>> >>>>> > wrote:
>> >>>> >>>>> >>
>> >>>> >>>>> >> I'm developing a haskell lib that uses Csound.
>> >>>> >>>>> >> It generates the Csd's. Maybe you have heard about it.
>> >>>> >>>>> >> I'd like to save the ears and speakers of my users from
>> >>>> >>>>> >> huge amplitude values. I'd like to build the limiter that's
>> >>>> >>>>> >> always on.
>> >>>> >>>>> >> So that the user doesn't need to know anything about it.
>> >>>> >>>>> >>
>> >>>> >>>>> >> I'm using the clip by 0dbfs value right now.
>> >>>> >>>>> >> But there is a desire to make the algorithm more musical.
>> >>>> >>>>> >> Clipping often produces unwanted distortion so I'd like to
>> >>>> >>>>> >> substitute it with a limiter. I know that it have to be
>> >>>> >>>>> >> implemented
>> >>>> >>>>> >> with compressor. I know there are dam and compress opcodes.
>> >>>> >>>>> >> But unfortunately I don't understand the arguments of those
>> >>>> >>>>> >> opcodes.
>> >>>> >>>>> >>
>> >>>> >>>>> >> Can you help me to solve this task?
>> >>>> >>>>> >>
>> >>>> >>>>> >> How can I build the limiter that doesn't change the signal
>> >>>> >>>>> >> if
>> >>>> >>>>> >> it's
>> >>>> >>>>> >> below
>> >>>> >>>>> >> the 0dbfs
>> >>>> >>>>> >> and prevents the sound from becoming way too huge?
>> >>>> >>>>> >> Maybe it have to be the combo with limiter and clip after
>> >>>> >>>>> >> that.
>> >>>> >>>>> >>
>> >>>> >>>>> >> Thanks,
>> >>>> >>>>> >> Anton
>> >>>> >>>>> >>
>> >>>> >>>>> >>
>> >>>> >>>>> >>
>> >>>> >>>>> >>
>> >>>> >>>>> >> Csound mailing list Csound@listserv.heanet.ie
>> >>>> >>>>> >> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs
>> >>>> >>>>> >> reports to
>> >>>> >>>>> >> https://github.com/csound/csound/issues Discussions of bugs
>> >>>> >>>>> >> and
>> >>>> >>>>> >> features can
>> >>>> >>>>> >> be posted here
>> >>>> >>>>> >
>> >>>> >>>>> >
>> >>>> >>>>> >
>> >>>> >>>>> >
>> >>>> >>>>> > --
>> >>>> >>>>> > _____________________________________________
>> >>>> >>>>> > Dr. Richard Boulanger
>> >>>> >>>>> > Professor of Electronic Production and Design
>> >>>> >>>>> > Professional Writing and Music Technology Division
>> >>>> >>>>> > Berklee College of Music
>> >>>> >>>>> > ______________________________________________
>> >>>> >>>>> > President of Boulanger Labs - http://boulangerlabs.com
>> >>>> >>>>> > Author & Editor of The Csound Book -
>> >>>> >>>>> > http://mitpress.mit.edu/books/csound-book
>> >>>> >>>>> > Author & Editor of The Audio Programming Book -
>> >>>> >>>>> > http://mitpress.mit.edu/books/audio-programming-book
>> >>>> >>>>> > ______________________________________________
>> >>>> >>>>> > about: http://www.boulangerlabs.com/about/richardboulanger/
>> >>>> >>>>> > about:
>> >>>> >>>>> >
>> >>>> >>>>> >
>> >>>> >>>>> > http://www.csounds.com/community/developers/dr-richard-boulanger/
>> >>>> >>>>> > music:
>> >>>> >>>>> >
>> >>>> >>>>> >
>> >>>> >>>>> >
>> >>>> >>>>> > http://www.csounds.com/community/developers/dr-richard-boulanger/dr-
>> >>>> > richard-boulanger-music/
>> >>>> >>>>> > ______________________________________________
>> >>>> >>>>> > email: rboulanger@berklee.edu
>> >>>> >>>>> > facebook: https://www.facebook.com/richard.boulanger.58
>> >>>> >>>>> > Csound mailing list Csound@listserv.heanet.ie
>> >>>> >>>>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs
>> >>>> >>>>> > reports to
>> >>>> >>>>> > https://github.com/csound/csound/issues Discussions of bugs
>> >>>> >>>>> > and
>> >>>> >>>>> > features can
>> >>>> >>>>> > be posted here
>> >>>> >>>>>
>> >>>> >>>>>
>> >>>> >>>>>
>> >>>> >>>>> --
>> >>>> >>>>> http://algorythmradio.com
>> >>>> >>>>> https://soundcloud.com/algorythmradio
>> >>>> >>>>>
>> >>>> >>>>> Csound mailing list
>> >>>> >>>>> Csound@listserv.heanet.ie
>> >>>> >>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> >>>> >>>>> Send bugs reports to
>> >>>> >>>>> https://github.com/csound/csound/issues
>> >>>> >>>>> Discussions of bugs and features can be posted here
>> >>>> >>>>
>> >>>> >>>>
>> >>>> >>>
>> >>>> >>> Csound mailing list Csound@listserv.heanet.ie
>> >>>> >>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports
>> >>>> >>> to
>> >>>> >>> https://github.com/csound/csound/issues Discussions of bugs and
>> >>>> >>> features
>> >>>> > can
>> >>>> >>> be posted here
>> >>>> >>
>> >>>> >>
>> >>>> >>
>> >>>> >>--
>> >>>> >>
>> >>>> >>Oeyvind Brandtsegg
>> >>>> >>Professor of Music Technology
>> >>>> >>NTNU
>> >>>> >>7491 Trondheim
>> >>>> >>Norway
>> >>>> >>Cell: +47 92 203 205
>> >>>> >>
>> >>>> >>http://www.partikkelaudio.com/
>> >>>> >>http://soundcloud.com/brandtsegg
>> >>>> >>http://flyndresang.no/
>> >>>> >>http://soundcloud.com/t-emp
>> >>>> >>
>> >>>> >>Csound mailing list
>> >>>> >>Csound@listserv.heanet.ie
>> >>>> >>https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> >>>> >>Send bugs reports to
>> >>>> >> https://github.com/csound/csound/issues
>> >>>> >>Discussions of bugs and features can be posted here
>> >>>> >>
>> >>>> >
>> >>>> > Csound mailing list
>> >>>> > Csound@listserv.heanet.ie
>> >>>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> >>>> > Send bugs reports to
>> >>>> > https://github.com/csound/csound/issues
>> >>>> > Discussions of bugs and features can be posted here
>> >>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> http://algorythmradio.com
>> >>>> https://soundcloud.com/algorythmradio
>> >>>>
>> >>>> Csound mailing list
>> >>>> Csound@listserv.heanet.ie
>> >>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> >>>> Send bugs reports to
>> >>>> https://github.com/csound/csound/issues
>> >>>> Discussions of bugs and features can be posted here
>> >>>
>> >>> Csound mailing list Csound@listserv.heanet.ie
>> >>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> >>> https://github.com/csound/csound/issues Discussions of bugs and
>> >>> features can
>> >>> be posted here
>> >>
>> >>
>> >
>> > Csound mailing list Csound@listserv.heanet.ie
>> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>> > https://github.com/csound/csound/issues Discussions of bugs and features
>> > can
>> > be posted here
>>
>>
>>
>> --
>> http://algorythmradio.com
>> https://soundcloud.com/algorythmradio
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>> https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>
>
> Csound mailing list Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
> https://github.com/csound/csound/issues Discussions of bugs and features can
> be posted here
|