[Csnd] Hello Hello - This is my first post here
Date | 2019-07-18 04:58 |
From | Vincent Meade |
Subject | [Csnd] Hello Hello - This is my first post here |
Hi as the title states. This is my first time doing this. Definitely posted a tweet before I've posted a ListServ. That's a joke but it is also true. Csound is my favorite language and computer past-time. Wanna give back to the language but also learn about it. Probably in it to learn about it most. Have the old-school hacker's ethos understanding of it. Biggest problem is that I don't know the range of values associated in the function/sub routine calls and the ears get blown out occasionally. Can't find them anywayer. Also learn how to contribute to this open source development if can be done. So, HI! Gracias 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 |
Date | 2019-07-22 10:56 |
From | Oeyvind Brandtsegg |
Subject | Re: [Csnd] Hello Hello - This is my first post here |
Hello Vincent, Thanks for your post. It is an interesting question, how to understand the range of values that are appropriate for different functions (or opcodes). The answer to the question lies in what you want the program to do, what sound you want to make. Many opcodes do not impose numeric limitations on the values of the arguments, rather it is up to the user, and it will depend on context whether a specific value makes sense or not. For example, an oscillator (oscil, poscil, and similar) has a frequency argument, the "xcps" when looking at the syntax from the manual: ares oscil xamp, xcps This frequency argument determines the rate of oscillation, resulting in a tone with a perceived pitch of this freqency. Then again, if the frequency is below the threshold of human hearing, you will not hear a sound. Rather, the oscillator can then be used as a control signal to provide vibrato or other fluctuation. Likewise, if the frequency is above the Nyquist (the frequency at half the sample rate), the resulting digital sound will actually not have the frequency you specified, but rather it will be mirrored by the Nyquist frequency. Some special opcodes might be designed to be used with only a specific range of values. This might be the case for some filters, where the mathematics of the filter become unstable outside of the range it was designed for. These might in fact "blow up" numerically. In these cases, the manual will state this limitation. Hopefully it will be stated clearly in the text, although sometimes you might happen to overlook it if the manual page is rich with info. So, as you understand, the useful range can vary a lot depending on what you want to achieve. As such, it might be useful to make a short example demonstrating the problem next time it happens. Then you can post the example code here and we will be able to give you morew detailed help. all best Oeyvind tor. 18. jul. 2019 kl. 06:08 skrev Vincent Meade <garganbobo@gmail.com>: Hi as the title states. This is my first time doing this. Definitely posted a tweet before I've posted a ListServ. That's a joke but it is also true. Oeyvind Brandtsegg Professor of Music Technology NTNU 7491 Trondheim Norway Cell: +47 92 203 205 http://www.partikkelaudio.com/ http://crossadaptive.hf.ntnu.no http://gdsp.hf.ntnu.no/ http://soundcloud.com/brandtsegg http://flyndresang.no/ http://soundcloud.com/t-emp |
Date | 2019-07-22 15:07 | ||
From | Forrest Curo | ||
Subject | Re: [Csnd] Hello Hello - This is my first post here | ||
I think the question was more along the lines of "How do I make sure I don't get blown eardrums & drumming sounds from my heartbeat & a risk of permanent hearing loss?" Where that was likely you'd want some sort of logical a-rate clipping procedure between the program and the output? You'd like to be able to say: "If (ablat > 1) then ablat = 1" -- IF you could do that -- BUT:
Forrest Curo San Diego On Mon, Jul 22, 2019 at 2:56 AM Oeyvind Brandtsegg <oyvind.brandtsegg@ntnu.no> wrote:
|
Date | 2019-07-22 16:15 |
From | john |
Subject | Re: [Csnd] Hello Hello - This is my first post here |
clip dam possibly more. And there are comparison functions at audio rate. For example select can be used as a limiter On Mon, 22 Jul 2019, Forrest Curo wrote: > I think the question was more along the lines of "How do I make sure I don't > get blown eardrums & drumming sounds from my heartbeat & a risk of permanent > hearing loss?" > Where that was likely you'd want some sort of logical a-rate clipping > procedure between the program and the output? > > You'd like to be able to say: "If (ablat > 1) then ablat = 1" -- IF you could > do that -- BUT: > > "Note > > If/then/goto statements cannot do audio-type comparisons. You can't put a-type > variables in the comparison expressions for these opcodes. The reason for this > is that audio variables are actually vectors, which can't be compared in the > same way as scalars. If you need to compare individua audio samples, use kr = > 1 or Comparators" > > --------- > > Anyone have a simple, non-clunky way we can do this? > > Forrest Curo > San Diego > > On Mon, Jul 22, 2019 at 2:56 AM Oeyvind Brandtsegg |
Date | 2019-07-22 18:42 |
From | Justin Smith |
Subject | Re: [Csnd] Hello Hello - This is my first post here |
In the "good old days" before multiplexing desktop audio systems, one program would own the DSP and the computer volume control could reliably prevent massively loud output because it worked in an integer domain where out of bound values would clip or wrap at a hardware limit. Thanks to modern floating point mixing APIs, your OS will happily generate a high level output sound even when the software volume control is low, and as jpff suggests, you can get the old safer behavior back (virtually) by clipping your output in CSound. I'm just glad our screen controls aren't similarly behaved (imagine if a buggy program could generate a light bright enough to cause eye damage, regardless of your screen dimness controls...) On Mon, Jul 22, 2019 at 8:15 AM john |
Date | 2019-07-22 18:53 |
From | Forrest Curo |
Subject | Re: [Csnd] Hello Hello - This is my first post here |
Even if you've got your software output levels tamed, one still needs to beware switching between insensitive speaker hardware and sensitive earphones. ie, One plays a loud 'bong' for a mediation timer, then puts on the earphones for csound -- and ow! For that sort of problem (with linux at least): pactl -- set-sink-volume 80%; aplay -N clang.wav; sleep 1800; aplay clang.wav; pactl -- set-sink-volume 20% On Mon, Jul 22, 2019 at 10:43 AM Justin Smith <noisesmith@gmail.com> wrote: In the "good old days" before multiplexing desktop audio systems, one |