a list of stupid questions
Date | 2016-06-08 15:24 |
From | "Joe ." |
Subject | a list of stupid questions |
Hi everybody. Some questions:
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
I recently like all of us enjoyed Steven Yi's UDO, and in it I saw the oscil:a() way of writing. I was not aware that Csound code could be written this way. Is there an article, a web page that documents the different ways code can be written and interpreted in the same way? What do curly brackets do? Would you guys suggest learning C if you really want to master Csound? Do you think this is possible without taking academic courses on it? thanks Joe |
Date | 2016-06-08 15:41 |
From | Hlöðver Sigurðsson |
Subject | Re: a list of stupid questions |
oscil:a() is a new functional syntax, it's really no different from asig oscil, just looks more like a syntax from Scala, Haskell (or sorry to say it; Supercollider). My tip would be not to learn C to master Csound, that's in my opinion almost completly unnecessary. Go rather for Python, at least you can work with it well from within Csound. The only gain by learning general purpose programming language for something like Csound would just be general discipline of mental problemsolveing. I think that this misconception of Csound being tightly close with C (in terms of syntax) is in a way damaging. Csound is clear, expressive, rich and powerful for its domain, audio calculation. 2016-06-08 16:24 GMT+02:00 Joe . <not007ful@gmail.com>:
|
Date | 2016-06-08 16:17 |
From | Michael Gogins |
Subject | Re: a list of stupid questions |
There is no need to learn C in order to use Csound, unless you want to write code to become part of Csound, or to write plugin opcodes that need to run fast. For languages to use for writing pieces that use Csound, the best ones, in decreasing order of utility, are, in my opinion, (1) JavaScript (because you get 3D graphics, HTML, user-defined and user-styled widgets, and the ability to write compositional code in JavaScript for nothing). (2) LuaJIT (because it runs faster by far than Python or even JavaScript and has many libraries; it comes with Csound on WIndows). (2) Python (tied with LuaJIT, because it has the largest set of libraries including music libraries such as Music21). (3) Scheme/Lisp because of the deep tradition of algorithmic music libraries especially OpenMusic. (4) Java (runs fast, available for free, has some good music libraries). Regards, Mike ----------------------------------------------------- Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Wed, Jun 8, 2016 at 10:41 AM, Hlöðver Sigurðsson |
Date | 2016-06-08 16:18 |
From | Forrest Curo |
Subject | Re: a list of stupid questions |
Install the program first, then try a few examples... These are good for seeing some ways of doing specific things: http://iainmccurdy.org/csound.htmlOn Wed, Jun 8, 2016 at 7:41 AM, Hlöðver Sigurðsson <hlolli@gmail.com> wrote:
|
Date | 2016-06-08 16:41 |
From | "Joe ." |
Subject | Re: a list of stupid questions |
Thanks guys. How often do users find it necessary to write their own opcodes? I was asking about C because of this. /* Joe */ On Wed, Jun 8, 2016 at 11:18 PM, Forrest Curo <treegestalt@gmail.com> wrote:
|
Date | 2016-06-08 16:53 |
From | Michael Gogins |
Subject | Re: a list of stupid questions |
I think that depends on the user. I have written or collaborated on writing several because I needed for my own music features that did not exist in Csound at that time: the fluidsynth opcodes, the STK opcodes, the Jacko opcodes, the linear algebra opcodes, the Lua opcodes, the mixer opcodes, the signal flow graph opcodes, and the vst4cs opcodes (I was not the main author). The ones that I am still using regularly are the fluid opcodes, the STK opcodes, the signal flow graph opcodes, and the vst4cs opcodes. If you are comfortable writing in C or C++ then it is probably easier to write opcodes this way instead of as user-defined opcodes in the Csound orchestra language because, even with the many improvements it now features, it's still a bit clunky in comparison with C and certainly will not run as fast. If you are not experienced writing code for digital signal processing, then learning what the existing opcodes and how they are will be more useful. But if you want to learn to write DSP code, then writing plugin opcodes in C or C++ is a good way to do it. Regards, Mike ----------------------------------------------------- Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Wed, Jun 8, 2016 at 11:41 AM, Joe . |
Date | 2016-06-08 16:53 |
From | Dave Seidel |
Subject | Re: a list of stupid questions |
I've been using Csound for over 11 years, never had a need to write a new opcode yet that could not be satisfied by using a UDO. - Dave On Wed, Jun 8, 2016 at 11:41 AM, Joe . <not007ful@gmail.com> wrote:
|
Date | 2016-06-08 16:58 |
From | Rory Walsh |
Subject | Re: a list of stupid questions |
I too have been using Csound for a long time. I can program in low level languages but I've hardly ever had to write my own opcodes. The language is very extensive and most things can be achieved without needing to develop custom opcodes. On 8 June 2016 at 16:53, Dave Seidel <dave.seidel@gmail.com> wrote:
|
Date | 2016-06-08 21:25 |
From | jpff |
Subject | Re: a list of stupid questions |
On Wed, 8 Jun 2016, Joe . wrote: > > What do curly brackets do? > Thhe {{{....}}} structure is a string as alternative to "...." In a score { and } indicate eponential ramps up and down. All in the manual Others have aswered your other questions I think 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 | 2016-06-08 21:33 |
From | jpff |
Subject | Re: a list of stupid questions |
On Wed, 8 Jun 2016, Joe . wrote: > Thanks guys. How often do users find it necessary to write their own opcodes? > I was asking about C because of this. > i am only answering this for completeess/fun. i find it easier to write an opcode tha to struggle understsanding UDOs, but I am very far to the left field in this -- been writing code for over 50 years (nearer 60) and it is also my hobby. A day without code is a day wasted. But no need to write C if you do not need to; others could implement stuff for you. Like Mike I have written or rewritten many opcodes, in my case often on request as well as for my own uses. ==John ff Feel free to ignore this message! 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 | 2016-06-09 03:40 |
From | "Joe ." |
Subject | Re: a list of stupid questions |
Thanks everybody. Big help. Joe /* Joe */ On Thu, Jun 9, 2016 at 4:33 AM, jpff <jpff@codemist.co.uk> wrote:
|
Date | 2016-06-10 08:58 |
From | Wolf Peuker |
Subject | Re: a list of stupid questions |
Am 08.06.2016 um 22:25 schrieb jpff: > > > On Wed, 8 Jun 2016, Joe . wrote: > >> >> What do curly brackets do? >> > > Thhe {{{....}}} structure is a string as alternative to "...." > > In a score { and } indicate eponential ramps up and down. Interesting (exponential ramps are new to me). > > All in the manual My search engine suggested this page https://csound.github.io/docs/manual/ScoreRamping.html which states that ( and ) have to be used for exponential ramps. Are maybe both allowed? Best regards, Wolf 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 | 2016-06-10 11:47 |
From | Michael Gogins |
Subject | Re: a list of stupid questions |
Curly brackets are for multiline string literals, e.g. for blocks of code in other languages embedded in Csound. On Jun 10, 2016 3:58 AM, "Wolf Peuker" <wolfpeuker@posteo.de> wrote:
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
Am 08.06.2016 um 22:25 schrieb jpff: |
Date | 2016-06-10 11:53 |
From | John |
Subject | Re: a list of stupid questions |
Could be my bad memory but I thought that curly brackets meant something Sent from TypeApp On 10 Jun 2016, at 08:59, Wolf Peuker <wolfpeuker@POSTEO.DE> wrote: Am 08.06.2016 um 22:25 schrieb jpff:Interesting (exponential ramps are new to me). |
Date | 2016-06-10 13:32 |
From | Wolf Peuker |
Subject | Re: a list of stupid questions |
Hi Michael, Am 10.06.2016 um 12:47 schrieb Michael Gogins: > Curly brackets are for multiline string literals, e.g. for blocks of code > in other languages embedded in Csound. Thanks for the clarification. I'd suggest one more snippet to show (, ), and ~ in action. This makes it much easier for the "hurried reader", because text perfectly swallows these tiny characters. Best, Wolf 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 | 2016-06-10 16:14 |
From | jpff |
Subject | Re: a list of stupid questions |
Apologies for my misinformation In a score "The { and } statements can be used to repeat a group of score statements. " As ever I looked it up in the manual after I was awake ==John ff 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 |