Csound Csound-dev Csound-tekno Search About

[Csnd] Csgrouper: a new musical software for Csound

Date2012-03-26 15:59
FromEmil Barton
Subject[Csnd] Csgrouper: a new musical software for Csound
Hello Csound users!

I'm happy to announce the first release of Csgrouper, a free Perl software for
Csound, that aims to facilitate musical experiments at the intersection  of
polytonality, polymodality and serialism.

Csgrouper is available on Github at "http://emilbarton.github.com/Csgrouper/"
and an example of ouptut can be heard at "http://www.wix.com/emilbarton/data/"
together with an artistic rewriting of it that examplifies 18 tones music
(third tones). It is one of the features of this software to enable easy mixing
of different divisions in the octave, from 2 to 24 notes (quarter tones).

I hope that you'll like it in spite of its flaws and that you will be willing to
list Csgrouper alongside other Csound related software, so that people can come
to know about it and hopefully take part in its future development.

Sincerely yours,

Emil Barton


Date2012-03-26 16:11
FromAndres Cabrera
SubjectRe: [Csnd] Csgrouper: a new musical software for Csound
Hi Emil,

Google had told about your project already :), so it's included in the wiki:
https://sourceforge.net/apps/mediawiki/csound/index.php?title=Score_Preprocessing

Maybe you want to add a bit about Csgrouper there?

I'm not sure there's a page for these kind of tools in csounds.com, but maybe now that the possibility of using any script or binary for score processing inside the csd, maybe there should be?

Cheers,
Andrés

On Mon, Mar 26, 2012 at 3:59 PM, Emil Barton <emilbarton@ymail.com> wrote:
Hello Csound users!

I'm happy to announce the first release of Csgrouper, a free Perl software for
Csound, that aims to facilitate musical experiments at the intersection  of
polytonality, polymodality and serialism.

Csgrouper is available on Github at "http://emilbarton.github.com/Csgrouper/"
and an example of ouptut can be heard at "http://www.wix.com/emilbarton/data/"
together with an artistic rewriting of it that examplifies 18 tones music
(third tones). It is one of the features of this software to enable easy mixing
of different divisions in the octave, from 2 to 24 notes (quarter tones).

I hope that you'll like it in spite of its flaws and that you will be willing to
list Csgrouper alongside other Csound related software, so that people can come
to know about it and hopefully take part in its future development.

Sincerely yours,

Emil Barton



Date2012-03-26 16:26
FromJ Clements
SubjectRe: [Csnd] Csgrouper: a new musical software for Csound

I will be sure to add this to the appropriate page at Csounds.com - looks great!

John

On Mar 26, 2012 11:12 AM, "Andres Cabrera" <mantaraya36@gmail.com> wrote:
Hi Emil,

Google had told about your project already :), so it's included in the wiki:
https://sourceforge.net/apps/mediawiki/csound/index.php?title=Score_Preprocessing

Maybe you want to add a bit about Csgrouper there?

I'm not sure there's a page for these kind of tools in csounds.com, but maybe now that the possibility of using any script or binary for score processing inside the csd, maybe there should be?

Cheers,
Andrés

On Mon, Mar 26, 2012 at 3:59 PM, Emil Barton <emilbarton@ymail.com> wrote:
Hello Csound users!

I'm happy to announce the first release of Csgrouper, a free Perl software for
Csound, that aims to facilitate musical experiments at the intersection  of
polytonality, polymodality and serialism.

Csgrouper is available on Github at "http://emilbarton.github.com/Csgrouper/"
and an example of ouptut can be heard at "http://www.wix.com/emilbarton/data/"
together with an artistic rewriting of it that examplifies 18 tones music
(third tones). It is one of the features of this software to enable easy mixing
of different divisions in the octave, from 2 to 24 notes (quarter tones).

I hope that you'll like it in spite of its flaws and that you will be willing to
list Csgrouper alongside other Csound related software, so that people can come
to know about it and hopefully take part in its future development.

Sincerely yours,

Emil Barton



Date2012-03-26 16:35
FromEmil Barton
SubjectRe: [Csnd] Csgrouper: a new musical software for Csound
I'm amazed how information goes fast.

It's kind of you to have added a link and I think it will suffice for now. Csgrouper can't be used to output directly to a "calling" score but "score preprocessor" is definitely an expression I should include in my ... discourse.

Thank you very much!

Emil


--- En date de : Lun 26.3.12, Andres Cabrera <mantaraya36@gmail.com> a écrit :

De: Andres Cabrera <mantaraya36@gmail.com>
Objet: Re: [Csnd] Csgrouper: a new musical software for Csound
À: csound@lists.bath.ac.uk
Date: Lundi 26 mars 2012, 17h11

Hi Emil,

Google had told about your project already :), so it's included in the wiki:
https://sourceforge.net/apps/mediawiki/csound/index.php?title=Score_Preprocessing

Maybe you want to add a bit about Csgrouper there?

I'm not sure there's a page for these kind of tools in csounds.com, but maybe now that the possibility of using any script or binary for score processing inside the csd, maybe there should be?

Cheers,
Andrés


Date2012-03-26 16:43
FromAndres Cabrera
SubjectRe: [Csnd] Csgrouper: a new musical software for Csound
Hi Emil,

Does your script allow stdin and stdout in/out? If it does then it can be used directly within Csound as a preprocessor, that way you could have Csgrouper code in the csd itself. There's an example in perl that does this by Tito, you may want to look at it to see how he does it.

Cheers,
Andrés

On Mon, Mar 26, 2012 at 4:35 PM, Emil Barton <emilbarton@ymail.com> wrote:
I'm amazed how information goes fast.

It's kind of you to have added a link and I think it will suffice for now. Csgrouper can't be used to output directly to a "calling" score but "score preprocessor" is definitely an expression I should include in my ... discourse.

Thank you very much!

Emil


--- En date de : Lun 26.3.12, Andres Cabrera <mantaraya36@gmail.com> a écrit :

De: Andres Cabrera <mantaraya36@gmail.com>
Objet: Re: [Csnd] Csgrouper: a new musical software for Csound
À: csound@lists.bath.ac.uk
Date: Lundi 26 mars 2012, 17h11


Hi Emil,

Google had told about your project already :), so it's included in the wiki:
https://sourceforge.net/apps/mediawiki/csound/index.php?title=Score_Preprocessing

Maybe you want to add a bit about Csgrouper there?

I'm not sure there's a page for these kind of tools in csounds.com, but maybe now that the possibility of using any script or binary for score processing inside the csd, maybe there should be?

Cheers,
Andrés



Date2012-03-26 16:50
FromEmil Barton
SubjectRe: [Csnd] Csgrouper: a new musical software for Csound
I'm afraid not, Andrés, because Csgrouper is not meant to be intervening during score computation, it's more at a pre-composition (experimental) stage that it reveals handy - there's no realtime support at present.

--- En date de : Lun 26.3.12, Andres Cabrera <mantaraya36@gmail.com> a écrit :

De: Andres Cabrera <mantaraya36@gmail.com>
Objet: Re: [Csnd] Csgrouper: a new musical software for Csound
À: csound@lists.bath.ac.uk
Date: Lundi 26 mars 2012, 17h43

Hi Emil,

Does your script allow stdin and stdout in/out? If it does then it can be used directly within Csound as a preprocessor, that way you could have Csgrouper code in the csd itself. There's an example in perl that does this by Tito, you may want to look at it to see how he does it.

Cheers,
Andrés



Date2012-03-26 16:55
FromEmil Barton
SubjectRe: [Csnd] Csgrouper: a new musical software for Csound
You can always extract some serial subroutine and make it an standalone Perl script that will generate one particular sequence to sdout according to your needs... that won't be done out of the box though.

--- En date de : Lun 26.3.12, Andres Cabrera <mantaraya36@gmail.com> a écrit :

De: Andres Cabrera <mantaraya36@gmail.com>
Objet: Re: [Csnd] Csgrouper: a new musical software for Csound
À: csound@lists.bath.ac.uk
Date: Lundi 26 mars 2012, 17h43

Hi Emil,

Does your script allow stdin and stdout in/out? If it does then it can be used directly within Csound as a preprocessor, that way you could have Csgrouper code in the csd itself. There's an example in perl that does this by Tito, you may want to look at it to see how he does it.


Date2012-03-26 17:31
FromAndres Cabrera
SubjectRe: [Csnd] Csgrouper: a new musical software for Csound
Hi Emil,

I see, thanks for the explanation.

Cheers,
Andrés

On Mon, Mar 26, 2012 at 4:55 PM, Emil Barton <emilbarton@ymail.com> wrote:
You can always extract some serial subroutine and make it an standalone Perl script that will generate one particular sequence to sdout according to your needs... that won't be done out of the box though.


--- En date de : Lun 26.3.12, Andres Cabrera <mantaraya36@gmail.com> a écrit :

De: Andres Cabrera <mantaraya36@gmail.com>
Objet: Re: [Csnd] Csgrouper: a new musical software for Csound
À: csound@lists.bath.ac.uk
Date: Lundi 26 mars 2012, 17h43


Hi Emil,

Does your script allow stdin and stdout in/out? If it does then it can be used directly within Csound as a preprocessor, that way you could have Csgrouper code in the csd itself. There's an example in perl that does this by Tito, you may want to look at it to see how he does it.



Date2012-03-26 18:40
FromEmil Barton
SubjectRe: [Csnd] Csgrouper: a new musical software for Csound
Hi Andrés, here is a quick intro I project to include , I'm sorry the Manual has not been done yet.


General Introduction and quick start

The aim of this program is to offer at the same time a way to produce musical sequences with interesting mathematical properties and to experiment various tonal, modal and serial settings. Thus everything depends primarily on the serial notation: if you want to work on dodecaphonic series you will be using the dodecaphonic row whose natural expression (the chromatic scale) is "0123456789AB". And every input you will enter will have to contain signs taken within this set. For instance you could choose to ask Csgrouper to produce the sequence corresponding to the gradual suite of one series, say "769801AB3254" (which is the row used by Webern in his Quartet  op. 28) so you would have to create a new row, enter this series into the main field which is named "A", choose "Gradual suite" from the row menu, most of all set the "mode" field to the chromatic scale in base 12, i.e. "0123456789AB", and choose "exp" in order to see the expanded content, otherwise only the final state of the suite would be printed and it would equal its origin in this particular case (this is a bug because the final state of a gradual suite is not its origin but the chromatic scale, being understood that the gradual suite reproduces the same permutation on its output until it reaches the first row on which the permutation was applied that is always the chromatic scale - but we don't care since nobody wants to output the chromatic scale using the non-expanded mode of a Gradual suite).

As things can reveal difficult to control while working on the "Sequences" tab, there is an analytic tab called "Series" that shows clearly the result of intended actions on serial content. So before creating a sequence it's always a goof idea to check there (with help of the menu and button "Apply") that the transformation you are asking makes sense and some most of the time do not. This is the case with static and dynamic "train" function for which you need to input a key and a list of signs as well as a serial content. For them you will have the opportunity  to introduce the two series that you want to interleaf into fields "A" and "B" of the "Series" tab and ask for "Dynana" (dynamic analysis) or "Inana" (static analysis) and these routines will output the choices of keys and signs you should input in the appropriate fields in order to obtain correct sequential "trains". Just putting any random content won't do and Csgrouper will fail, generally with some more or less instructive complaint.

The various transformation routines proposed refer to dodecaphonic content but applied to various non dodecaphonic bases. The default part for example works in base 18. These routines which will be explained soon, do things like taking the schoenbergian opposite of a row (always relatively to the chosen base) and redo the same on the output till some cycle is attained (because permutations are cyclic) : this is Gradual(Opposite). There are several other variants of such routines, and ways to transpose and mix rows together. If you want to simply introduce your own melody, use Suite(): its content will be respected but some additionnal (neutral) filling might be added at the end, so as to respect the serial structure. 

Once several sequence are created, you might want to either put some of them together, or to concatenate them. This last job is done by the "Pre" field, that allows to choose a "previous" sequence for the one that is treated. The "Set" field permit the grouping of various sequences inside a ... set. This set can then be included into one or the other Xfun fields, and the concerned sequence will receive a postreatment (on duration, amplitude, attack etc.). Sets can also be placed into Yfun fields (Rythmic-canon and Ensemble) and that will produce a structural relation between sequences.

One thing that is impossible with Csgrouper, is to write a simple tune the way you hear it, because the duration of notes is always computed according to serial properties (or even randomness when it's chosen so). That's why I advise to use this software as a pre-composition tool, in order to hear how it would sound like to use this or that serial, tonal and modal content. Personally I use Csgrouper in order to produce some raw material that I can sculpt afterwards according to my taste.

Last but not least one shouldn't underestimate the importance of the mode field: if not appropriately filled with the whole set of authorized notes (basically the chromatic scale of your base) and the right number of them (12 if you are in base 12) Csgrouper won't output what you are waiting for. When wanting to work in a particular mode, you can replace the notes you don't want to hear by some of the other notes producing various versions of the same mode, as long as you keep the right number of notes. For instance, the Dorian mode can be achieved by setting the "mode" field to "00224557799B" but also "022445797BB9" that will output a different dorian flavour. The secret is simple, at output time notes of the indice are replaced by their content: so in the first dorian flavour C# (1) will be replaced by C (0) but in the second it will be replaced by D (2).

There are still many things to clarify but I think it will be OK for a start with Csgrouper.

Have fun!


--- En date de : Lun 26.3.12, Andres Cabrera <mantaraya36@gmail.com> a écrit :

De: Andres Cabrera <mantaraya36@gmail.com>
Objet: Re: [Csnd] Csgrouper: a new musical software for Csound
À: csound@lists.bath.ac.uk
Date: Lundi 26 mars 2012, 18h31

Hi Emil,

I see, thanks for the explanation.

Cheers,
Andrés