[Csnd] "Diet Csound"
Date | 2023-09-23 15:44 |
From | Aaron Krister Johnson |
Subject | [Csnd] "Diet Csound" |
Hi all,
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
At various times I've wanted to embark on a process of _removing_ things from csound to make a trimmed-down "diet" version. It's probably OCD, but it also, I think, for me anyway, helps to not have distractions. There are currently, in a standard install, more than 1200 opcodes. Speaking personally, many of them have limited utility, and have the flavor of abandoned experiments, or are opcodes that I have estimated to be of limited musical utility _to me_ (everyone is different, see below). I've made a curated fork here: github.com/akjmicro/diet_csound It's a moving target snapshot of a process...it's working well, and takes less time to compile, and about half of the opcodes are gone. I also gave the codebase some love by more logical re-organization of things that I touched that seemed to make no sense (e.g. spectra.c/spectra.h was a dumping ground) I realize that what one person (me) considers essential might be the complete opposite of what others do. And what I think is essential to my own work is likely to change over time...things will get added back, or taken away. My hope by starting the project is that I can contribute back to the community in the following ways: * general cleanup and logical placement of code * prettification of code with beautiful formatting * most of all: encouraging a system that is customizable by providing general instructions/techniques/scripts that allow lean builds tailored to individual taste. I'm just not into the current monolithic kitchen sink approach of the main repo (I think this is partly the approach since CMake was chosen as the build system? It's possible, if one knows what one is doing, to customize, but it's less obvious than back in the day when it was ./configure; make; make install)... With that in mind, I'm happy to give back cleanups that are wanted/welcome and make sense to the main developers. This community has given so much over the years to us all, it would be the least I could do! Otherwise, I consider this a separate curated subset of the main repo, one that satisfies my OCD and desire to _not_ cater to the ideal of "well, if I wrote it 20 years ago, it needs to run today"...something which I've not found to be true even though it's stated as a support goal. The fact is, Csound has broken old orchestras for me on many occasions as new versions have come out. Not a terrible thing, actually -- normal in most software. My reasoning is: why not clean up the code, deprecate certain things, etc., while time marches on? I only offer it as a template that might be useful for others who enjoy and/or desire a path w/re: customization hacking of Csound. Cheers, |
Date | 2023-09-23 17:27 |
From | john |
Subject | Re: [Csnd] "Diet Csound" |
I tried to interest people in a minimal csound but there seemed little enthusiasm. I think the way to go is to identify core opcodes, and groups that belong together. For the groups make loadable libraries -- plugins, and then they can be selected as needed for particular uses. I would be interested in what you have included and what is excluded. ==John ff On Sat, 23 Sep 2023, Aaron Krister Johnson wrote: > Hi all, > At various times I've wanted to embark on a process of _removing_ things > from csound to make a trimmed-down "diet" version. It's probably OCD, but it > also, I think, for me anyway, helps to not have distractions. There are > currently, in a standard install, more than 1200 opcodes. Speaking > personally, many of them have limited utility, and have the flavor of > abandoned experiments, or are opcodes that I have estimated to be of limited > musical utility _to me_ (everyone is different, see below). > > I've made a curated fork here: github.com/akjmicro/diet_csound > > It's a moving target snapshot of a process...it's working well, and takes > less time to compile, and about half of the opcodes are gone. I also gave > the codebase some love by more logical re-organization of things that I > touched that seemed to make no sense (e.g. spectra.c/spectra.h was a dumping > ground) > > I realize that what one person (me) considers essential might be the > complete opposite of what others do. And what I think is essential to my own > work is likely to change over time...things will get added back, or taken > away. My hope by starting the project is that I can contribute back to the > community in the following ways: > > * general cleanup and logical placement of code > * prettification of code with beautiful formatting > * most of all: encouraging a system that is customizable by providing > general instructions/techniques/scripts that allow lean builds tailored to > individual taste. I'm just not into the current monolithic kitchen sink > approach of the main repo (I think this is partly the approach since CMake > was chosen as the build system? It's possible, if one knows what one is > doing, to customize, but it's less obvious than back in the day when it was > ./configure; make; make install)... > > With that in mind, I'm happy to give back cleanups that are wanted/welcome > and make sense to the main developers. This community has given so much over > the years to us all, it would be the least I could do! > > Otherwise, I consider this a separate curated subset of the main repo, one > that satisfies my OCD and desire to _not_ cater to the ideal of "well, if I > wrote it 20 years ago, it needs to run today"...something which I've not > found to be true even though it's stated as a support goal. The fact is, > Csound has broken old orchestras for me on many occasions as new versions > have come out. Not a terrible thing, actually -- normal in most software. My > reasoning is: why not clean up the code, deprecate certain things, etc., > while time marches on? > > I only offer it as a template that might be useful for others who enjoy > and/or desire a path w/re: customization hacking of Csound. > > Cheers, > > Aaron Krister Johnson > Music, etc.: > https://soundcloud.com/aaron-krister-johnson > https://soundcloud.com/filtercreed > https://www.youtube.com/channel/UC_utjGYbSizWE0dNyr0Vdmg > https://aaronkristerjohnson.bandcamp.com/ > http://www.untwelve.org > Code: > https://github.com/akjmicro > 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 |
Date | 2023-09-23 22:58 |
From | hljmm |
Subject | Re: [Csnd] "Diet Csound" |
Like an app I can run on my phone? Hans Sent from my Galaxy -------- Original message -------- From: john <jpff@CODEMIST.CO.UK> Date: 9/23/23 1:28 PM (GMT-04:00) To: CSOUND@LISTSERV.HEANET.IE Subject: Re: [Csnd] "Diet Csound" enthusiasm. I think the way to go is to identify core opcodes, and groups that belong together. For the groups make loadable libraries -- plugins, and then they can be selected as needed for particular uses. I would be interested in what you have included and what is excluded. ==John ff On Sat, 23 Sep 2023, Aaron Krister Johnson wrote: > Hi all, > At various times I've wanted to embark on a process of _removing_ things > from csound to make a trimmed-down "diet" version. It's probably OCD, but it > also, I think, for me anyway, helps to not have distractions. There are > currently, in a standard install, more than 1200 opcodes. Speaking > personally, many of them have limited utility, and have the flavor of > abandoned experiments, or are opcodes that I have estimated to be of limited > musical utility _to me_ (everyone is different, see below). > > I've made a curated fork here: github.com/akjmicro/diet_csound > > It's a moving target snapshot of a process...it's working well, and takes > less time to compile, and about half of the opcodes are gone. I also gave > the codebase some love by more logical re-organization of things that I > touched that seemed to make no sense (e.g. spectra.c/spectra.h was a dumping > ground) > > I realize that what one person (me) considers essential might be the > complete opposite of what others do. And what I think is essential to my own > work is likely to change over time...things will get added back, or taken > away. My hope by starting the project is that I can contribute back to the > community in the following ways: > > * general cleanup and logical placement of code > * prettification of code with beautiful formatting > * most of all: encouraging a system that is customizable by providing > general instructions/techniques/scripts that allow lean builds tailored to > individual taste. I'm just not into the current monolithic kitchen sink > approach of the main repo (I think this is partly the approach since CMake > was chosen as the build system? It's possible, if one knows what one is > doing, to customize, but it's less obvious than back in the day when it was > ./configure; make; make install)... > > With that in mind, I'm happy to give back cleanups that are wanted/welcome > and make sense to the main developers. This community has given so much over > the years to us all, it would be the least I could do! > > Otherwise, I consider this a separate curated subset of the main repo, one > that satisfies my OCD and desire to _not_ cater to the ideal of "well, if I > wrote it 20 years ago, it needs to run today"...something which I've not > found to be true even though it's stated as a support goal. The fact is, > Csound has broken old orchestras for me on many occasions as new versions > have come out. Not a terrible thing, actually -- normal in most software. My > reasoning is: why not clean up the code, deprecate certain things, etc., > while time marches on? > > I only offer it as a template that might be useful for others who enjoy > and/or desire a path w/re: customization hacking of Csound. > > Cheers, > > Aaron Krister Johnson > Music, etc.: > https://soundcloud.com/aaron-krister-johnson > https://soundcloud.com/filtercreed > https://www.youtube.com/channel/UC_utjGYbSizWE0dNyr0Vdmg > https://aaronkristerjohnson.bandcamp.com/ > http://www.untwelve.org > Code: > https://github.com/akjmicro > 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 |
Date | 2023-09-23 23:07 |
From | ST Music |
Subject | Re: [Csnd] "Diet Csound" |
I don't think it would be easy to run on your phone but I could be wrong. Are you iOS or Android? The full Csound for Android app isn't that large, about 100 mb. But don't get it from the PlayStore, the newest update is on github: Direct download: Not sure about iPhone. Best, Scott On Sat, Sept 23, 2023, 10:45 a.m. Aaron Krister Johnson <akjmicro@gmail.com> wrote:
|
Date | 2023-09-23 23:13 |
From | Michael Gogins |
Subject | Re: [Csnd] "Diet Csound" |
I am the maintainer of the Csound for Android app. It's a pretty complete release of Csound that seems to run on most Android devices and has a built-in text editor, the ability to use HTML for user interfaces, etc. To the best of my knowledge, there is no complete version of Csound for the iPhone. Regards, Mike ----------------------------------------------------- Michael GoginsIrreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Sat, Sep 23, 2023 at 6:08 PM ST Music <stunes6556@gmail.com> wrote:
|
Date | 2023-09-24 03:40 |
From | ST Music |
Subject | Re: [Csnd] "Diet Csound" |
I probably should have been more specific - I don't think the "diet" version would be easy to run on a phone, but perhaps possible with Linux or something like that, I haven't tried. But the app Michael maintains works great even on my old Android devices. Best, Scott On Sat, Sept 23, 2023, 6:13 p.m. Michael Gogins <michael.gogins@gmail.com> wrote:
|
Date | 2023-09-24 21:59 |
From | Aaron Krister Johnson |
Subject | Re: [Csnd] "Diet Csound" |
John, Not today, but during next week, I'm going to document the opcodes covered by "diet csound". There are close to 630 or so. The master list will be available as part of the documentation, once I do that, moving forward. On Sat, Sep 23, 2023 at 9:28 AM john <jpff@codemist.co.uk> wrote: I tried to interest people in a minimal csound but there seemed little |