Csound Csound-dev Csound-tekno Search About

[Csnd] pattern in SC3

Date2010-11-15 22:20
Frompeiman khosravi
Subject[Csnd] pattern in SC3
I don't want to start a Csound vs SC3 discussion. Today a friend was showing me how he generates events in SC3 (like Cmask but a lot more sophisticated and much faster for sure).

http://danielnouri.org/docs/SuperColliderHelp/Streams-Patterns-Events/Pattern.html

When I see such elegance I  want to give SC3 a go. Is there a similar tool in/for Csound (apart from writing your own classes in python that is)?

Would be nice if the Csound score language could be extended to include these function. This is on top of my wish for Xmas! I am even thinking of using SC3 to generate score for Csound...

Best,

Peiman 



Date2010-11-15 23:01
FromMichael Gogins
Subject[Csnd] Re: pattern in SC3
We haven't done it, but we could embed Lua in Csound and enable
"luascore" and Lua opcodes. Would that do the job? Lua with JIT is 1/3
the speed of C which is stupendously fast for a dynamic language.

Regards,
Mike

On Mon, Nov 15, 2010 at 5:20 PM, peiman khosravi
 wrote:
> I don't want to start a Csound vs SC3 discussion. Today a friend was showing
> me how he generates events in SC3 (like Cmask but a lot more sophisticated
> and much faster for sure).
>
> http://danielnouri.org/docs/SuperColliderHelp/Streams-Patterns-Events/Pattern.html
>
> When I see such elegance I  want to give SC3 a go. Is there a similar tool
> in/for Csound (apart from writing your own classes in python that is)?
>
> Would be nice if the Csound score language could be extended to include
> these function. This is on top of my wish for Xmas! I am even thinking of
> using SC3 to generate score for Csound...
>
> Best,
>
> Peiman
>
>
>



-- 
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com


Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2010-11-16 00:54
Frompeiman khosravi
Subject[Csnd] Re: Re: pattern in SC3
Sounds very intriguing. Where can I read more about luascore and opcodes?

Best,
Peiman

On 15 November 2010 23:01, Michael Gogins <michael.gogins@gmail.com> wrote:
We haven't done it, but we could embed Lua in Csound and enable
"luascore" and Lua opcodes. Would that do the job? Lua with JIT is 1/3
the speed of C which is stupendously fast for a dynamic language.

Regards,
Mike

On Mon, Nov 15, 2010 at 5:20 PM, peiman khosravi
<peimankhosravi@gmail.com> wrote:
> I don't want to start a Csound vs SC3 discussion. Today a friend was showing
> me how he generates events in SC3 (like Cmask but a lot more sophisticated
> and much faster for sure).
>
> http://danielnouri.org/docs/SuperColliderHelp/Streams-Patterns-Events/Pattern.html
>
> When I see such elegance I  want to give SC3 a go. Is there a similar tool
> in/for Csound (apart from writing your own classes in python that is)?
>
> Would be nice if the Csound score language could be extended to include
> these function. This is on top of my wish for Xmas! I am even thinking of
> using SC3 to generate score for Csound...
>
> Best,
>
> Peiman
>
>
>



--
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com


Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"



Date2010-11-16 01:21
FromMichael Gogins
Subject[Csnd] Re: Re: Re: pattern in SC3
I am saying we could create them, not that they exist.

Sorry for the confusion...

Regards,
Mike

On Mon, Nov 15, 2010 at 7:54 PM, peiman khosravi
 wrote:
> Sounds very intriguing. Where can I read more about luascore and opcodes?
>
> Best,
> Peiman
>
> On 15 November 2010 23:01, Michael Gogins  wrote:
>>
>> We haven't done it, but we could embed Lua in Csound and enable
>> "luascore" and Lua opcodes. Would that do the job? Lua with JIT is 1/3
>> the speed of C which is stupendously fast for a dynamic language.
>>
>> Regards,
>> Mike
>>
>> On Mon, Nov 15, 2010 at 5:20 PM, peiman khosravi
>>  wrote:
>> > I don't want to start a Csound vs SC3 discussion. Today a friend was
>> > showing
>> > me how he generates events in SC3 (like Cmask but a lot more
>> > sophisticated
>> > and much faster for sure).
>> >
>> >
>> > http://danielnouri.org/docs/SuperColliderHelp/Streams-Patterns-Events/Pattern.html
>> >
>> > When I see such elegance I  want to give SC3 a go. Is there a similar
>> > tool
>> > in/for Csound (apart from writing your own classes in python that is)?
>> >
>> > Would be nice if the Csound score language could be extended to include
>> > these function. This is on top of my wish for Xmas! I am even thinking
>> > of
>> > using SC3 to generate score for Csound...
>> >
>> > Best,
>> >
>> > Peiman
>> >
>> >
>> >
>>
>>
>>
>> --
>> Michael Gogins
>> Irreducible Productions
>> http://www.michael-gogins.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>> csound"
>>
>
>



-- 
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com


Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2010-11-16 01:24
Frompeiman khosravi
Subject[Csnd] Re: Re: Re: Re: pattern in SC3
ha!! yes yes it sounds good!

P

On 16 November 2010 01:21, Michael Gogins <michael.gogins@gmail.com> wrote:
I am saying we could create them, not that they exist.

Sorry for the confusion...

Regards,
Mike

On Mon, Nov 15, 2010 at 7:54 PM, peiman khosravi
<peimankhosravi@gmail.com> wrote:
> Sounds very intriguing. Where can I read more about luascore and opcodes?
>
> Best,
> Peiman
>
> On 15 November 2010 23:01, Michael Gogins <michael.gogins@gmail.com> wrote:
>>
>> We haven't done it, but we could embed Lua in Csound and enable
>> "luascore" and Lua opcodes. Would that do the job? Lua with JIT is 1/3
>> the speed of C which is stupendously fast for a dynamic language.
>>
>> Regards,
>> Mike
>>
>> On Mon, Nov 15, 2010 at 5:20 PM, peiman khosravi
>> <peimankhosravi@gmail.com> wrote:
>> > I don't want to start a Csound vs SC3 discussion. Today a friend was
>> > showing
>> > me how he generates events in SC3 (like Cmask but a lot more
>> > sophisticated
>> > and much faster for sure).
>> >
>> >
>> > http://danielnouri.org/docs/SuperColliderHelp/Streams-Patterns-Events/Pattern.html
>> >
>> > When I see such elegance I  want to give SC3 a go. Is there a similar
>> > tool
>> > in/for Csound (apart from writing your own classes in python that is)?
>> >
>> > Would be nice if the Csound score language could be extended to include
>> > these function. This is on top of my wish for Xmas! I am even thinking
>> > of
>> > using SC3 to generate score for Csound...
>> >
>> > Best,
>> >
>> > Peiman
>> >
>> >
>> >
>>
>>
>>
>> --
>> Michael Gogins
>> Irreducible Productions
>> http://www.michael-gogins.com
>> Michael dot Gogins at gmail dot com
>>
>>
>> Send bugs reports to the Sourceforge bug tracker
>>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>> csound"
>>
>
>



--
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com


Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"



Date2010-11-16 01:25
Frommatt ingalls
Subject[Csnd] Re: pattern in SC3
not quite sure what you are looking for, but if you want to make an instrument that generates 
a bunch of notes you generally do something like this:

instr GestureGenerator

if (kCurrentTime >= kNextStart) then ; write a new note!

<calculate pfields here>

; spawn new note
event "i", <pfields here...>

kNextStart = kNextStart + kDensity
endif

kCurrentTime = kCurrentTime + iResolution
endin

i have a .csd that generates a .sco file instead of real-time "event"  with ranges of randomness for every pfield.
 if you want i can post it.

-m


On Nov 15, 2010, at 2:20 PM, peiman khosravi wrote:

I don't want to start a Csound vs SC3 discussion. Today a friend was showing me how he generates events in SC3 (like Cmask but a lot more sophisticated and much faster for sure).

http://danielnouri.org/docs/SuperColliderHelp/Streams-Patterns-Events/Pattern.html

When I see such elegance I  want to give SC3 a go. Is there a similar tool in/for Csound (apart from writing your own classes in python that is)?

Would be nice if the Csound score language could be extended to include these function. This is on top of my wish for Xmas! I am even thinking of using SC3 to generate score for Csound...

Best,

Peiman 




Date2010-11-16 01:32
FromBrian Wong
Subject[Csnd] RE: Re: Re: Re: pattern in SC3
Peiman,
Given that I know you are already familiar with blue, so I'll suggest you should you look at trying to do it with a Python soundObject in blue.
Personally I tried out pmask, but quickly moved on to creating my own code and systems. I found the pmask documentation difficult and most of what it does it easily duplicated with your own code and the Python random and math libraries.
Brian
----------------------------------------
> Date: Mon, 15 Nov 2010 20:21:34 -0500
> From: michael.gogins@gmail.com
> To: csound@lists.bath.ac.uk
> Subject: [Csnd] Re: Re: Re: pattern in SC3
>
> I am saying we could create them, not that they exist.
>
> Sorry for the confusion...
>
> Regards,
> Mike
>
> On Mon, Nov 15, 2010 at 7:54 PM, peiman khosravi
>  wrote:
> > Sounds very intriguing. Where can I read more about luascore and opcodes?
> >
> > Best,
> > Peiman
> >
> > On 15 November 2010 23:01, Michael Gogins  wrote:
> >>
> >> We haven't done it, but we could embed Lua in Csound and enable
> >> "luascore" and Lua opcodes. Would that do the job? Lua with JIT is 1/3
> >> the speed of C which is stupendously fast for a dynamic language.
> >>
> >> Regards,
> >> Mike
> >>
> >> On Mon, Nov 15, 2010 at 5:20 PM, peiman khosravi
> >>  wrote:
> >> > I don't want to start a Csound vs SC3 discussion. Today a friend was
> >> > showing
> >> > me how he generates events in SC3 (like Cmask but a lot more
> >> > sophisticated
> >> > and much faster for sure).
> >> >
> >> >
> >> > http://danielnouri.org/docs/SuperColliderHelp/Streams-Patterns-Events/Pattern.html
> >> >
> >> > When I see such elegance I  want to give SC3 a go. Is there a similar
> >> > tool
> >> > in/for Csound (apart from writing your own classes in python that is)?
> >> >
> >> > Would be nice if the Csound score language could be extended to include
> >> > these function. This is on top of my wish for Xmas! I am even thinking
> >> > of
> >> > using SC3 to generate score for Csound...
> >> >
> >> > Best,
> >> >
> >> > Peiman
> >> >
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Michael Gogins
> >> Irreducible Productions
> >> http://www.michael-gogins.com
> >> Michael dot Gogins at gmail dot com
> >>
> >>
> >> Send bugs reports to the Sourceforge bug tracker
> >>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> >> Discussions of bugs and features can be posted here
> >> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
> >> csound"
> >>
> >
> >
>
>
>
> --
> Michael Gogins
> Irreducible Productions
> http://www.michael-gogins.com
> Michael dot Gogins at gmail dot com
>
>
> Send bugs reports to the Sourceforge bug tracker
> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
 		 	   		  

Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2010-11-16 09:41
Frompeiman khosravi
Subject[Csnd] Re: Re: pattern in SC3
Hi Mat,

This seems like a good method actually. I would love to have a look at your csd!

Best,

Peiman

On 16 November 2010 01:25, matt ingalls <matt@sonomatics.com> wrote:
not quite sure what you are looking for, but if you want to make an instrument that generates 
a bunch of notes you generally do something like this:

instr GestureGenerator

if (kCurrentTime >= kNextStart) then ; write a new note!

<calculate pfields here>

; spawn new note
event "i", <pfields here...>

kNextStart = kNextStart + kDensity
endif

kCurrentTime = kCurrentTime + iResolution
endin

i have a .csd that generates a .sco file instead of real-time "event"  with ranges of randomness for every pfield.
 if you want i can post it.

-m


On Nov 15, 2010, at 2:20 PM, peiman khosravi wrote:

I don't want to start a Csound vs SC3 discussion. Today a friend was showing me how he generates events in SC3 (like Cmask but a lot more sophisticated and much faster for sure).

http://danielnouri.org/docs/SuperColliderHelp/Streams-Patterns-Events/Pattern.html

When I see such elegance I  want to give SC3 a go. Is there a similar tool in/for Csound (apart from writing your own classes in python that is)?

Would be nice if the Csound score language could be extended to include these function. This is on top of my wish for Xmas! I am even thinking of using SC3 to generate score for Csound...

Best,

Peiman 





Date2010-11-16 09:52
Frompeiman khosravi
Subject[Csnd] Re: RE: Re: Re: Re: pattern in SC3
Hi Brian,

Yes. Although my python skills are quite rusty at the moment!

Unfortunately I have not been able to run blue on my computer since a couple of versions ago. Trying to get that done right now!

Best,

Peiman

On 16 November 2010 01:32, Brian Wong <brian.wong1@hotmail.com> wrote:

Peiman,
Given that I know you are already familiar with blue, so I'll suggest you should you look at trying to do it with a Python soundObject in blue.
Personally I tried out pmask, but quickly moved on to creating my own code and systems. I found the pmask documentation difficult and most of what it does it easily duplicated with your own code and the Python random and math libraries.
Brian
----------------------------------------
> Date: Mon, 15 Nov 2010 20:21:34 -0500
> From: michael.gogins@gmail.com
> To: csound@lists.bath.ac.uk
> Subject: [Csnd] Re: Re: Re: pattern in SC3
>
> I am saying we could create them, not that they exist.
>
> Sorry for the confusion...
>
> Regards,
> Mike
>
> On Mon, Nov 15, 2010 at 7:54 PM, peiman khosravi
>  wrote:
> > Sounds very intriguing. Where can I read more about luascore and opcodes?
> >
> > Best,
> > Peiman
> >
> > On 15 November 2010 23:01, Michael Gogins  wrote:
> >>
> >> We haven't done it, but we could embed Lua in Csound and enable
> >> "luascore" and Lua opcodes. Would that do the job? Lua with JIT is 1/3
> >> the speed of C which is stupendously fast for a dynamic language.
> >>
> >> Regards,
> >> Mike
> >>
> >> On Mon, Nov 15, 2010 at 5:20 PM, peiman khosravi
> >>  wrote:
> >> > I don't want to start a Csound vs SC3 discussion. Today a friend was
> >> > showing
> >> > me how he generates events in SC3 (like Cmask but a lot more
> >> > sophisticated
> >> > and much faster for sure).
> >> >
> >> >
> >> > http://danielnouri.org/docs/SuperColliderHelp/Streams-Patterns-Events/Pattern.html
> >> >
> >> > When I see such elegance I  want to give SC3 a go. Is there a similar
> >> > tool
> >> > in/for Csound (apart from writing your own classes in python that is)?
> >> >
> >> > Would be nice if the Csound score language could be extended to include
> >> > these function. This is on top of my wish for Xmas! I am even thinking
> >> > of
> >> > using SC3 to generate score for Csound...
> >> >
> >> > Best,
> >> >
> >> > Peiman
> >> >
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Michael Gogins
> >> Irreducible Productions
> >> http://www.michael-gogins.com
> >> Michael dot Gogins at gmail dot com
> >>
> >>
> >> Send bugs reports to the Sourceforge bug tracker
> >>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> >> Discussions of bugs and features can be posted here
> >> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
> >> csound"
> >>
> >
> >
>
>
>
> --
> Michael Gogins
> Irreducible Productions
> http://www.michael-gogins.com
> Michael dot Gogins at gmail dot com
>
>
> Send bugs reports to the Sourceforge bug tracker
> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>


Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"



Date2010-11-16 20:15
Frommatt ingalls
Subject[Csnd] score generating orc, was Re: Re: Re: pattern in SC3
OK i probably posted this before, but its been a number of years..

it is a MacCsound file, but should run on any platform.

there are a number of unusual things i am doing that makes it easier for user. 
(recursive udos, weird sr, generating text instead of audio, etc) - it is not necessary
to understand the orc to use..

to specify a gesture of notes, you essentially create 2 tables for every p-field for the i-statements you want
to be generated.  These functions represent the allowable minimum and maximum range of the p-field.  
(see notes in the score for more details)

HOW TO RUN:  
1) Change the path in gScoName to the desired path & score file name to be generated.
   ( Optionally change the sr to be a different "temporal resolution" -- see note in orc) 

2) tweak the score parameters (see notes in score) and then render.
   (NOTE use the -n flag to avoid generating a soundfile along with it!!!)

3) now take the score you just generated and run it with your orc.  
this is the one i use: 

nchnls = 2
instr 1
	
	aSig vco2 p4*0dbfs, cpsoct(p5)
	outs aSig*sqrt(p6), aSig*sqrt(1-p6)

endin


let me know if you have any questions.
-m







;===========================================================
;		scogen.csd		matt ingalls			
;												
;	a "port" of sorts of the old "mills" score generator
;
;	this instrument creates a score file (simple.sco)
;	to be used with the simple.orc file
;	
;===========================================================


gScoName = "/Users/matt/Documents/Csound/seWorkshop/simple.sco" 	; the name of the file to be generated

sr	=	100	 	; this defines our temporal resolution (1/sr), for example,
				; an sr of 100 means we will round p2 and p3 values
				; to the nearest 1/100th of a second

ksmps =	1 		; set kr=sr so we can do everything at k-rate


; some print opcodes
opcode PrintInteger, 0, k
	kval	xin 
		fprintks	gScoName, "%d", kval
endop

opcode PrintFloat, 0, k
	kval	xin
		fprintks	gScoName, "%f", kval
endop

opcode PrintTab, 0, 0
	fprintks	gScoName, "%n"
endop

opcode PrintReturn, 0, 0
	fprintks	gScoName, "%r"
endop


; recursively calling opcode to handle all the optional parameters
opcode ProcessAdditionalPfields, 0, ikio
	iPtable, kndx, iNumPfields, iPfield xin
	
	; additional pfields start at 5, we use a default 0 to identify the first call
	iPfield = (iPfield == 0 ? 5 : iPfield)

	if (iPfield > iNumPfields) goto endloop
		; find our tables
		iMinTable table	2*iPfield-1, iPtable
		iMaxTable table	2*iPfield, iPtable
	
		; get values from our tables
		kMin tablei	kndx, iMinTable
		kMax tablei	kndx, iMaxTable
	
		; find a random value in the range and write it to the score
		fprintks gScoName, "%t%f", kMin + rnd(kMax-kMin)
	
		; recursively call for any additional pfields.
		ProcessAdditionalPfields iPtable, kndx, iNumPfields, iPfield + 1
	endloop:

endop


/* ===========================================================
	Generate a gesture of i-statements

	p2 = start of the gesture
	p3 = duration of the gesture
	p4 = number of a function that contains a list of all
		function table numbers used to define the
		pfield random distribution
	p5 = scale generated p4 values according to density (0=off, 1=on) [todo]
	p6 = let durations overlap gesture duration (0=off, 1=on) [todo]
	p7 = seed for random number generator seed [todo]
  ===========================================================
*/

instr Gesture

	; initialize
	iResolution = 1/sr

	kNextStart init p2
	kCurrentTime init p2

	iNumPfields table		0, p4
	iInstrMinTable table	1, p4
	iInstrMaxTable table	2, p4
	iDensityMinTable table	3, p4
	iDensityMaxTable table	4, p4
	iDurMinTable table	5, p4
	iDurMaxTable table	6, p4
	iAmpMinTable table	7, p4
	iAmpMaxTable table	8, p4

	; check to make sure there is enough data
	print iNumPfields
	if iNumPfields < 4 then
		prints "%dError: At least 4 p-fields (8 functions) need to be specified.%n", iNumPfields
		turnoff
	endif

	; initial comment
	fprints	gScoName, "%!Generated Gesture from %f to %f seconds%n %!%t%twith a p-max of %d%n%n", p2, p3, iNumPfields

	; k-rate stuff
	if (kCurrentTime >= kNextStart) then ; write a new note!

		kndx = (kCurrentTime-p2)/p3

		; get the required pfield ranges
		kInstMin tablei	kndx, iInstrMinTable
		kInstMax tablei	kndx, iInstrMaxTable
		kDensMin tablei	kndx, iDensityMinTable
		kDensMax tablei	kndx, iDensityMaxTable
		kDurMin tablei	kndx, iDurMinTable
		kDurMax tablei	kndx, iDurMaxTable
		kAmpMin tablei	kndx, iAmpMinTable
		kAmpMax tablei	kndx, iAmpMaxTable
		
		; find random values for all our required parametrs and print the i-statement
		fprintks gScoName, "i%d%t%f%t%f%t%f", kInstMin + rnd(kInstMax-kInstMin), kNextStart, kDurMin + rnd(kDurMax-kDurMin), kAmpMin + rnd(kAmpMax-kAmpMin)
	
		; now any additional pfields
		ProcessAdditionalPfields p4, kndx, iNumPfields
		
		PrintReturn

		; calculate next starttime
		kDensity = kDensMin + rnd(kDensMax-kDensMin)
		if (kDensity < iResolution) then
			kDensity = iResolution
		endif
		kNextStart = kNextStart + kDensity
	endif

	kCurrentTime = kCurrentTime + iResolution
endin




/*
===========================================================
  scogen

	this csound module generates a score file.

	you specify a gesture of notes by giving
	the "gesture" instrument a number to a 
	(negative) gen2 table.

	this table stores numbers to pairs of functions.
	each function-pair represents a range (min-max) 
	of randomness for every pfield for the notes to
	be generated.
===========================================================
*/


; common tables for pfield ranges
f100	0	2	-7	0 2 0	; static 0
f101	0	2	-7	1 2 1	; static 1
f102	0	2	-7	0 2 1 ; ramp 0->1
f103	0	2	-7	1 2 0 ; ramp 1->0
f105	0	2	-7	10 2 10 ; static 10
f106	0	2	-7	.1 2 .1 ; static .1

; specific pfield ranges
f10	0	3	-5   	.005 1 .01 1 .1; density
f11	0	8	-5   	8 1 12 1 12; pitchmin
f12	0	8	-5   	12 1 10 1 10 1 12 1 10 1 10; pitchmax


;=== table containing the function numbers used for all the p-field distributions
;
;	p1 - 	table number
;	p2 - 	time table is instantiated
;	p3 - 	size of table (must be >= p5!)
;	p4 - 	gen# (should be = -2)
;	p5 - 	number of pfields of each note to be generated
;	p6 - 	table number of the function representing the minimum possible note number (p1) of a generated note
;	p7 - 	table number of the function representing the maximum possible note number (p1) of a generated note
;	p8 - 	table number of the function representing the minimum possible noteon-to-noteon time (p2 density) of a generated note
;	p9 - 	table number of the function representing the maximum possible noteon-to-noteon time (p2 density) of a generated note
;	p10 -	table number of the function representing the minimum possible duration (p3) of a generated note
;	p11 -	table number of the function representing the maximum possible duration (p3) of a generated note
;	p12 -	table number of the function representing the maximum possible amplitude (p4) of a generated note
;	p13 -	table number of the function representing the maximum possible amplitude (p5) of a generated note
;	p14,p16.. -	table number of the function representing the minimum possible value for additional pfields (p5,p6..) of a generated note
;	p15,p17.. -	table number of the function representing the maximum possible value for additional pfields (p5,p6..) of a generated note




;		siz	2	#pds 	p1min	p1max 	p2min	p2max 	p3min	p3max	p4min	p4max 	p5min	p5max 	p6min	p6max
f1	0	32	-2	6		101		101		10		10		10		10		100		106		11		12		100		101


;gesture definitions
;			start		dur		pTble
i"Gesture"	 0		10		1





Version: 3
Render: File
Ask: No
Functions: None
Listing: ioObject
WindowBounds: 81 44 1082 880
CurrentView: orc
IOViewEdit: Off
Options: -b512 -A -o_no_soundfile_will_be_generated_with_n_flag -s -m39 -n 


ioView nobackground {65535, 65535, 65535}
ioListing {10, 3} {641, 507}





Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2010-11-16 20:18
FromRory Walsh
Subject[Csnd] Re: score generating orc, was Re: Re: Re: pattern in SC3
I think you showed this one in Ireland when you last visited. It's
been quite a while but I never forget an instrument!

Rory.


On 16 November 2010 20:15, matt ingalls  wrote:
> OK i probably posted this before, but its been a number of years..
>
> it is a MacCsound file, but should run on any platform.
>
> there are a number of unusual things i am doing that makes it easier for user.
> (recursive udos, weird sr, generating text instead of audio, etc) - it is not necessary
> to understand the orc to use..
>
> to specify a gesture of notes, you essentially create 2 tables for every p-field for the i-statements you want
> to be generated.  These functions represent the allowable minimum and maximum range of the p-field.
> (see notes in the score for more details)
>
> HOW TO RUN:
> 1) Change the path in gScoName to the desired path & score file name to be generated.
>   ( Optionally change the sr to be a different "temporal resolution" -- see note in orc)
>
> 2) tweak the score parameters (see notes in score) and then render.
>   (NOTE use the -n flag to avoid generating a soundfile along with it!!!)
>
> 3) now take the score you just generated and run it with your orc.
> this is the one i use:
>
> nchnls = 2
> instr 1
>
>        aSig vco2 p4*0dbfs, cpsoct(p5)
>        outs aSig*sqrt(p6), aSig*sqrt(1-p6)
>
> endin
>
>
> let me know if you have any questions.
> -m
>
>
>
>
>
> 
> 
> ;===========================================================
> ;               scogen.csd              matt ingalls
> ;
> ;       a "port" of sorts of the old "mills" score generator
> ;
> ;       this instrument creates a score file (simple.sco)
> ;       to be used with the simple.orc file
> ;
> ;===========================================================
>
>
> gScoName = "/Users/matt/Documents/Csound/seWorkshop/simple.sco"         ; the name of the file to be generated
>
> sr      =       100             ; this defines our temporal resolution (1/sr), for example,
>                                ; an sr of 100 means we will round p2 and p3 values
>                                ; to the nearest 1/100th of a second
>
> ksmps = 1               ; set kr=sr so we can do everything at k-rate
>
>
> ; some print opcodes
> opcode PrintInteger, 0, k
>        kval    xin
>                fprintks        gScoName, "%d", kval
> endop
>
> opcode PrintFloat, 0, k
>        kval    xin
>                fprintks        gScoName, "%f", kval
> endop
>
> opcode PrintTab, 0, 0
>        fprintks        gScoName, "%n"
> endop
>
> opcode PrintReturn, 0, 0
>        fprintks        gScoName, "%r"
> endop
>
>
> ; recursively calling opcode to handle all the optional parameters
> opcode ProcessAdditionalPfields, 0, ikio
>        iPtable, kndx, iNumPfields, iPfield xin
>
>        ; additional pfields start at 5, we use a default 0 to identify the first call
>        iPfield = (iPfield == 0 ? 5 : iPfield)
>
>        if (iPfield > iNumPfields) goto endloop
>                ; find our tables
>                iMinTable table 2*iPfield-1, iPtable
>                iMaxTable table 2*iPfield, iPtable
>
>                ; get values from our tables
>                kMin tablei     kndx, iMinTable
>                kMax tablei     kndx, iMaxTable
>
>                ; find a random value in the range and write it to the score
>                fprintks gScoName, "%t%f", kMin + rnd(kMax-kMin)
>
>                ; recursively call for any additional pfields.
>                ProcessAdditionalPfields iPtable, kndx, iNumPfields, iPfield + 1
>        endloop:
>
> endop
>
>
> /* ===========================================================
>        Generate a gesture of i-statements
>
>        p2 = start of the gesture
>        p3 = duration of the gesture
>        p4 = number of a function that contains a list of all
>                function table numbers used to define the
>                pfield random distribution
>        p5 = scale generated p4 values according to density (0=off, 1=on) [todo]
>        p6 = let durations overlap gesture duration (0=off, 1=on) [todo]
>        p7 = seed for random number generator seed [todo]
>  ===========================================================
> */
>
> instr Gesture
>
>        ; initialize
>        iResolution = 1/sr
>
>        kNextStart init p2
>        kCurrentTime init p2
>
>        iNumPfields table               0, p4
>        iInstrMinTable table    1, p4
>        iInstrMaxTable table    2, p4
>        iDensityMinTable table  3, p4
>        iDensityMaxTable table  4, p4
>        iDurMinTable table      5, p4
>        iDurMaxTable table      6, p4
>        iAmpMinTable table      7, p4
>        iAmpMaxTable table      8, p4
>
>        ; check to make sure there is enough data
>        print iNumPfields
>        if iNumPfields < 4 then
>                prints "%dError: At least 4 p-fields (8 functions) need to be specified.%n", iNumPfields
>                turnoff
>        endif
>
>        ; initial comment
>        fprints gScoName, "%!Generated Gesture from %f to %f seconds%n %!%t%twith a p-max of %d%n%n", p2, p3, iNumPfields
>
>        ; k-rate stuff
>        if (kCurrentTime >= kNextStart) then ; write a new note!
>
>                kndx = (kCurrentTime-p2)/p3
>
>                ; get the required pfield ranges
>                kInstMin tablei kndx, iInstrMinTable
>                kInstMax tablei kndx, iInstrMaxTable
>                kDensMin tablei kndx, iDensityMinTable
>                kDensMax tablei kndx, iDensityMaxTable
>                kDurMin tablei  kndx, iDurMinTable
>                kDurMax tablei  kndx, iDurMaxTable
>                kAmpMin tablei  kndx, iAmpMinTable
>                kAmpMax tablei  kndx, iAmpMaxTable
>
>                ; find random values for all our required parametrs and print the i-statement
>                fprintks gScoName, "i%d%t%f%t%f%t%f", kInstMin + rnd(kInstMax-kInstMin), kNextStart, kDurMin + rnd(kDurMax-kDurMin), kAmpMin + rnd(kAmpMax-kAmpMin)
>
>                ; now any additional pfields
>                ProcessAdditionalPfields p4, kndx, iNumPfields
>
>                PrintReturn
>
>                ; calculate next starttime
>                kDensity = kDensMin + rnd(kDensMax-kDensMin)
>                if (kDensity < iResolution) then
>                        kDensity = iResolution
>                endif
>                kNextStart = kNextStart + kDensity
>        endif
>
>        kCurrentTime = kCurrentTime + iResolution
> endin
>
>
> 
> 
> /*
> ===========================================================
>  scogen
>
>        this csound module generates a score file.
>
>        you specify a gesture of notes by giving
>        the "gesture" instrument a number to a
>        (negative) gen2 table.
>
>        this table stores numbers to pairs of functions.
>        each function-pair represents a range (min-max)
>        of randomness for every pfield for the notes to
>        be generated.
> ===========================================================
> */
>
>
> ; common tables for pfield ranges
> f100    0       2       -7      0 2 0   ; static 0
> f101    0       2       -7      1 2 1   ; static 1
> f102    0       2       -7      0 2 1 ; ramp 0->1
> f103    0       2       -7      1 2 0 ; ramp 1->0
> f105    0       2       -7      10 2 10 ; static 10
> f106    0       2       -7      .1 2 .1 ; static .1
>
> ; specific pfield ranges
> f10     0       3       -5      .005 1 .01 1 .1; density
> f11     0       8       -5      8 1 12 1 12; pitchmin
> f12     0       8       -5      12 1 10 1 10 1 12 1 10 1 10; pitchmax
>
>
> ;=== table containing the function numbers used for all the p-field distributions
> ;
> ;       p1 -    table number
> ;       p2 -    time table is instantiated
> ;       p3 -    size of table (must be >= p5!)
> ;       p4 -    gen# (should be = -2)
> ;       p5 -    number of pfields of each note to be generated
> ;       p6 -    table number of the function representing the minimum possible note number (p1) of a generated note
> ;       p7 -    table number of the function representing the maximum possible note number (p1) of a generated note
> ;       p8 -    table number of the function representing the minimum possible noteon-to-noteon time (p2 density) of a generated note
> ;       p9 -    table number of the function representing the maximum possible noteon-to-noteon time (p2 density) of a generated note
> ;       p10 -   table number of the function representing the minimum possible duration (p3) of a generated note
> ;       p11 -   table number of the function representing the maximum possible duration (p3) of a generated note
> ;       p12 -   table number of the function representing the maximum possible amplitude (p4) of a generated note
> ;       p13 -   table number of the function representing the maximum possible amplitude (p5) of a generated note
> ;       p14,p16.. -     table number of the function representing the minimum possible value for additional pfields (p5,p6..) of a generated note
> ;       p15,p17.. -     table number of the function representing the maximum possible value for additional pfields (p5,p6..) of a generated note
>
>
>
>
> ;               siz     2       #pds    p1min   p1max   p2min   p2max   p3min   p3max   p4min   p4max   p5min   p5max   p6min   p6max
> f1      0       32      -2      6               101             101             10              10              10              10              100             106             11              12              100             101
>
>
> ;gesture definitions
> ;                       start           dur             pTble
> i"Gesture"       0              10              1
>
> 
>
> 
> 
> Version: 3
> Render: File
> Ask: No
> Functions: None
> Listing: ioObject
> WindowBounds: 81 44 1082 880
> CurrentView: orc
> IOViewEdit: Off
> Options: -b512 -A -o_no_soundfile_will_be_generated_with_n_flag -s -m39 -n
> 
> 
> ioView nobackground {65535, 65535, 65535}
> ioListing {10, 3} {641, 507}
> 
>
>
>
>
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
>


Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2010-11-16 20:35
Frommatt ingalls
Subject[Csnd] Re: Re: score generating orc, was Re: Re: Re: pattern in SC3
yep - in fact i found it in a folder called "sounds electric workshop"!

On Nov 16, 2010, at 12:18 PM, Rory Walsh wrote:

> I think you showed this one in Ireland when you last visited. It's
> been quite a while but I never forget an instrument!
> 
> Rory.
> 
> 
> On 16 November 2010 20:15, matt ingalls  wrote:
>> OK i probably posted this before, but its been a number of years..
>> 
>> it is a MacCsound file, but should run on any platform.
>> 
>> there are a number of unusual things i am doing that makes it easier for user.
>> (recursive udos, weird sr, generating text instead of audio, etc) - it is not necessary
>> to understand the orc to use..
>> 
>> to specify a gesture of notes, you essentially create 2 tables for every p-field for the i-statements you want
>> to be generated.  These functions represent the allowable minimum and maximum range of the p-field.
>> (see notes in the score for more details)
>> 
>> HOW TO RUN:
>> 1) Change the path in gScoName to the desired path & score file name to be generated.
>>   ( Optionally change the sr to be a different "temporal resolution" -- see note in orc)
>> 
>> 2) tweak the score parameters (see notes in score) and then render.
>>   (NOTE use the -n flag to avoid generating a soundfile along with it!!!)
>> 
>> 3) now take the score you just generated and run it with your orc.
>> this is the one i use:
>> 
>> nchnls = 2
>> instr 1
>> 
>>        aSig vco2 p4*0dbfs, cpsoct(p5)
>>        outs aSig*sqrt(p6), aSig*sqrt(1-p6)
>> 
>> endin
>> 
>> 
>> let me know if you have any questions.
>> -m
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> ;===========================================================
>> ;               scogen.csd              matt ingalls
>> ;
>> ;       a "port" of sorts of the old "mills" score generator
>> ;
>> ;       this instrument creates a score file (simple.sco)
>> ;       to be used with the simple.orc file
>> ;
>> ;===========================================================
>> 
>> 
>> gScoName = "/Users/matt/Documents/Csound/seWorkshop/simple.sco"         ; the name of the file to be generated
>> 
>> sr      =       100             ; this defines our temporal resolution (1/sr), for example,
>>                                ; an sr of 100 means we will round p2 and p3 values
>>                                ; to the nearest 1/100th of a second
>> 
>> ksmps = 1               ; set kr=sr so we can do everything at k-rate
>> 
>> 
>> ; some print opcodes
>> opcode PrintInteger, 0, k
>>        kval    xin
>>                fprintks        gScoName, "%d", kval
>> endop
>> 
>> opcode PrintFloat, 0, k
>>        kval    xin
>>                fprintks        gScoName, "%f", kval
>> endop
>> 
>> opcode PrintTab, 0, 0
>>        fprintks        gScoName, "%n"
>> endop
>> 
>> opcode PrintReturn, 0, 0
>>        fprintks        gScoName, "%r"
>> endop
>> 
>> 
>> ; recursively calling opcode to handle all the optional parameters
>> opcode ProcessAdditionalPfields, 0, ikio
>>        iPtable, kndx, iNumPfields, iPfield xin
>> 
>>        ; additional pfields start at 5, we use a default 0 to identify the first call
>>        iPfield = (iPfield == 0 ? 5 : iPfield)
>> 
>>        if (iPfield > iNumPfields) goto endloop
>>                ; find our tables
>>                iMinTable table 2*iPfield-1, iPtable
>>                iMaxTable table 2*iPfield, iPtable
>> 
>>                ; get values from our tables
>>                kMin tablei     kndx, iMinTable
>>                kMax tablei     kndx, iMaxTable
>> 
>>                ; find a random value in the range and write it to the score
>>                fprintks gScoName, "%t%f", kMin + rnd(kMax-kMin)
>> 
>>                ; recursively call for any additional pfields.
>>                ProcessAdditionalPfields iPtable, kndx, iNumPfields, iPfield + 1
>>        endloop:
>> 
>> endop
>> 
>> 
>> /* ===========================================================
>>        Generate a gesture of i-statements
>> 
>>        p2 = start of the gesture
>>        p3 = duration of the gesture
>>        p4 = number of a function that contains a list of all
>>                function table numbers used to define the
>>                pfield random distribution
>>        p5 = scale generated p4 values according to density (0=off, 1=on) [todo]
>>        p6 = let durations overlap gesture duration (0=off, 1=on) [todo]
>>        p7 = seed for random number generator seed [todo]
>>  ===========================================================
>> */
>> 
>> instr Gesture
>> 
>>        ; initialize
>>        iResolution = 1/sr
>> 
>>        kNextStart init p2
>>        kCurrentTime init p2
>> 
>>        iNumPfields table               0, p4
>>        iInstrMinTable table    1, p4
>>        iInstrMaxTable table    2, p4
>>        iDensityMinTable table  3, p4
>>        iDensityMaxTable table  4, p4
>>        iDurMinTable table      5, p4
>>        iDurMaxTable table      6, p4
>>        iAmpMinTable table      7, p4
>>        iAmpMaxTable table      8, p4
>> 
>>        ; check to make sure there is enough data
>>        print iNumPfields
>>        if iNumPfields < 4 then
>>                prints "%dError: At least 4 p-fields (8 functions) need to be specified.%n", iNumPfields
>>                turnoff
>>        endif
>> 
>>        ; initial comment
>>        fprints gScoName, "%!Generated Gesture from %f to %f seconds%n %!%t%twith a p-max of %d%n%n", p2, p3, iNumPfields
>> 
>>        ; k-rate stuff
>>        if (kCurrentTime >= kNextStart) then ; write a new note!
>> 
>>                kndx = (kCurrentTime-p2)/p3
>> 
>>                ; get the required pfield ranges
>>                kInstMin tablei kndx, iInstrMinTable
>>                kInstMax tablei kndx, iInstrMaxTable
>>                kDensMin tablei kndx, iDensityMinTable
>>                kDensMax tablei kndx, iDensityMaxTable
>>                kDurMin tablei  kndx, iDurMinTable
>>                kDurMax tablei  kndx, iDurMaxTable
>>                kAmpMin tablei  kndx, iAmpMinTable
>>                kAmpMax tablei  kndx, iAmpMaxTable
>> 
>>                ; find random values for all our required parametrs and print the i-statement
>>                fprintks gScoName, "i%d%t%f%t%f%t%f", kInstMin + rnd(kInstMax-kInstMin), kNextStart, kDurMin + rnd(kDurMax-kDurMin), kAmpMin + rnd(kAmpMax-kAmpMin)
>> 
>>                ; now any additional pfields
>>                ProcessAdditionalPfields p4, kndx, iNumPfields
>> 
>>                PrintReturn
>> 
>>                ; calculate next starttime
>>                kDensity = kDensMin + rnd(kDensMax-kDensMin)
>>                if (kDensity < iResolution) then
>>                        kDensity = iResolution
>>                endif
>>                kNextStart = kNextStart + kDensity
>>        endif
>> 
>>        kCurrentTime = kCurrentTime + iResolution
>> endin
>> 
>> 
>> 
>> 
>> /*
>> ===========================================================
>>  scogen
>> 
>>        this csound module generates a score file.
>> 
>>        you specify a gesture of notes by giving
>>        the "gesture" instrument a number to a
>>        (negative) gen2 table.
>> 
>>        this table stores numbers to pairs of functions.
>>        each function-pair represents a range (min-max)
>>        of randomness for every pfield for the notes to
>>        be generated.
>> ===========================================================
>> */
>> 
>> 
>> ; common tables for pfield ranges
>> f100    0       2       -7      0 2 0   ; static 0
>> f101    0       2       -7      1 2 1   ; static 1
>> f102    0       2       -7      0 2 1 ; ramp 0->1
>> f103    0       2       -7      1 2 0 ; ramp 1->0
>> f105    0       2       -7      10 2 10 ; static 10
>> f106    0       2       -7      .1 2 .1 ; static .1
>> 
>> ; specific pfield ranges
>> f10     0       3       -5      .005 1 .01 1 .1; density
>> f11     0       8       -5      8 1 12 1 12; pitchmin
>> f12     0       8       -5      12 1 10 1 10 1 12 1 10 1 10; pitchmax
>> 
>> 
>> ;=== table containing the function numbers used for all the p-field distributions
>> ;
>> ;       p1 -    table number
>> ;       p2 -    time table is instantiated
>> ;       p3 -    size of table (must be >= p5!)
>> ;       p4 -    gen# (should be = -2)
>> ;       p5 -    number of pfields of each note to be generated
>> ;       p6 -    table number of the function representing the minimum possible note number (p1) of a generated note
>> ;       p7 -    table number of the function representing the maximum possible note number (p1) of a generated note
>> ;       p8 -    table number of the function representing the minimum possible noteon-to-noteon time (p2 density) of a generated note
>> ;       p9 -    table number of the function representing the maximum possible noteon-to-noteon time (p2 density) of a generated note
>> ;       p10 -   table number of the function representing the minimum possible duration (p3) of a generated note
>> ;       p11 -   table number of the function representing the maximum possible duration (p3) of a generated note
>> ;       p12 -   table number of the function representing the maximum possible amplitude (p4) of a generated note
>> ;       p13 -   table number of the function representing the maximum possible amplitude (p5) of a generated note
>> ;       p14,p16.. -     table number of the function representing the minimum possible value for additional pfields (p5,p6..) of a generated note
>> ;       p15,p17.. -     table number of the function representing the maximum possible value for additional pfields (p5,p6..) of a generated note
>> 
>> 
>> 
>> 
>> ;               siz     2       #pds    p1min   p1max   p2min   p2max   p3min   p3max   p4min   p4max   p5min   p5max   p6min   p6max
>> f1      0       32      -2      6               101             101             10              10              10              10              100             106             11              12              100             101
>> 
>> 
>> ;gesture definitions
>> ;                       start           dur             pTble
>> i"Gesture"       0              10              1
>> 
>> 
>> 
>> 
>> 
>> Version: 3
>> Render: File
>> Ask: No
>> Functions: None
>> Listing: ioObject
>> WindowBounds: 81 44 1082 880
>> CurrentView: orc
>> IOViewEdit: Off
>> Options: -b512 -A -o_no_soundfile_will_be_generated_with_n_flag -s -m39 -n
>> 
>> 
>> ioView nobackground {65535, 65535, 65535}
>> ioListing {10, 3} {641, 507}
>> 
>> 
>> 
>> 
>> 
>> Send bugs reports to the Sourceforge bug tracker
>>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
>> Discussions of bugs and features can be posted here
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>> 
>> 
> 
> 
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
> 



Send bugs reports to the Sourceforge bug tracker
            https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"


Date2010-11-18 18:11
Frompeiman khosravi
Subject[Csnd] Re: RE: Re: Re: Re: pattern in SC3
Thanks to everyone for your inputs. Following a suggestion I started look at common music and found that it has loads of pattern generation objects. In fact both the syntax and the functionality are very similar to SC! And it is indeed very easy to learn the language. I've already (just after four days or so) started generating scores similar to Cmask and more. I never realised that you can even call csound from inside CM (terminal only though). It's much easier than python too as you most of the objects are ready for use so very little low level coding is required. CM does also send OSC messages but I can imagine that if csound api was integrated there somehow even live coding would be possible with CM and Csound.

Best,

Peiman 

On 16 November 2010 09:52, peiman khosravi <peimankhosravi@gmail.com> wrote:
Hi Brian,

Yes. Although my python skills are quite rusty at the moment!

Unfortunately I have not been able to run blue on my computer since a couple of versions ago. Trying to get that done right now!

Best,

Peiman


On 16 November 2010 01:32, Brian Wong <brian.wong1@hotmail.com> wrote:

Peiman,
Given that I know you are already familiar with blue, so I'll suggest you should you look at trying to do it with a Python soundObject in blue.
Personally I tried out pmask, but quickly moved on to creating my own code and systems. I found the pmask documentation difficult and most of what it does it easily duplicated with your own code and the Python random and math libraries.
Brian
----------------------------------------
> Date: Mon, 15 Nov 2010 20:21:34 -0500
> From: michael.gogins@gmail.com
> To: csound@lists.bath.ac.uk
> Subject: [Csnd] Re: Re: Re: pattern in SC3
>
> I am saying we could create them, not that they exist.
>
> Sorry for the confusion...
>
> Regards,
> Mike
>
> On Mon, Nov 15, 2010 at 7:54 PM, peiman khosravi
>  wrote:
> > Sounds very intriguing. Where can I read more about luascore and opcodes?
> >
> > Best,
> > Peiman
> >
> > On 15 November 2010 23:01, Michael Gogins  wrote:
> >>
> >> We haven't done it, but we could embed Lua in Csound and enable
> >> "luascore" and Lua opcodes. Would that do the job? Lua with JIT is 1/3
> >> the speed of C which is stupendously fast for a dynamic language.
> >>
> >> Regards,
> >> Mike
> >>
> >> On Mon, Nov 15, 2010 at 5:20 PM, peiman khosravi
> >>  wrote:
> >> > I don't want to start a Csound vs SC3 discussion. Today a friend was
> >> > showing
> >> > me how he generates events in SC3 (like Cmask but a lot more
> >> > sophisticated
> >> > and much faster for sure).
> >> >
> >> >
> >> > http://danielnouri.org/docs/SuperColliderHelp/Streams-Patterns-Events/Pattern.html
> >> >
> >> > When I see such elegance I  want to give SC3 a go. Is there a similar
> >> > tool
> >> > in/for Csound (apart from writing your own classes in python that is)?
> >> >
> >> > Would be nice if the Csound score language could be extended to include
> >> > these function. This is on top of my wish for Xmas! I am even thinking
> >> > of
> >> > using SC3 to generate score for Csound...
> >> >
> >> > Best,
> >> >
> >> > Peiman
> >> >
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Michael Gogins
> >> Irreducible Productions
> >> http://www.michael-gogins.com
> >> Michael dot Gogins at gmail dot com
> >>
> >>
> >> Send bugs reports to the Sourceforge bug tracker
> >>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> >> Discussions of bugs and features can be posted here
> >> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
> >> csound"
> >>
> >
> >
>
>
>
> --
> Michael Gogins
> Irreducible Productions
> http://www.michael-gogins.com
> Michael dot Gogins at gmail dot com
>
>
> Send bugs reports to the Sourceforge bug tracker
> https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>


Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"




Date2010-11-18 18:29
FromAnthony Palomba
Subject[Csnd] Re: Re: RE: Re: Re: Re: pattern in SC3
I have been using CM for quite some time, it is pretty cool.
Unfortunately it only lets you write csound scores, not CSound API support.
The CM OSC implementation of windows is not working.

That being said it is still a great tool. It has a very interesting library of
functions for doing spectral composition.

I like CM so much that I am re-implementing a good part of its
functionality in python. Hopefully in the end I will have a CM like
environment that can REALLY interface with csound. We'll also see
if python will run as well as Scheme.



-ap




On Thu, Nov 18, 2010 at 12:11 PM, peiman khosravi <peimankhosravi@gmail.com> wrote:
Thanks to everyone for your inputs. Following a suggestion I started look at common music and found that it has loads of pattern generation objects. In fact both the syntax and the functionality are very similar to SC! And it is indeed very easy to learn the language. I've already (just after four days or so) started generating scores similar to Cmask and more. I never realised that you can even call csound from inside CM (terminal only though). It's much easier than python too as you most of the objects are ready for use so very little low level coding is required. CM does also send OSC messages but I can imagine that if csound api was integrated there somehow even live coding would be possible with CM and Csound.

Best,

Peiman 







Date2010-11-18 18:48
FromMichael Gogins
Subject[Csnd] Re: Re: Re: RE: Re: Re: Re: pattern in SC3
There is some degree of Csound API support in Common Music -- if you
use the Lisp version of Common Music (instead of the Scheme used in
Grace) you can call out using the Lisp CFFI wrapper for the Csound
API.

I'm not sure what to do about the Scheme situation, but I will at
least look into it. It could be a problem because the Scheme in Grace
uses a custom implementation of Scheme.

Regards
Mike

On Thu, Nov 18, 2010 at 1:29 PM, Anthony Palomba  wrote:
> I have been using CM for quite some time, it is pretty cool.
> Unfortunately it only lets you write csound scores, not CSound API support.
> The CM OSC implementation of windows is not working.
>
> That being said it is still a great tool. It has a very interesting library
> of
> functions for doing spectral composition.
>
> I like CM so much that I am re-implementing a good part of its
> functionality in python. Hopefully in the end I will have a CM like
> environment that can REALLY interface with csound. We'll also see
> if python will run as well as Scheme.
>
>
>
> -ap
>
>
>
>
> On Thu, Nov 18, 2010 at 12:11 PM, peiman khosravi 
> wrote:
>>
>> Thanks to everyone for your inputs. Following a suggestion I started look
>> at common music and found that it has loads of pattern generation objects.
>> In fact both the syntax and the functionality are very similar to SC! And it
>> is indeed very easy to learn the language. I've already (just after four
>> days or so) started generating scores similar to Cmask and more. I never
>> realised that you can even call csound from inside CM (terminal only
>> though). It's much easier than python too as you most of the objects are
>> ready for use so very little low level coding is required. CM does also send
>> OSC messages but I can imagine that if csound api was integrated there
>> somehow even live coding would be possible with CM and Csound.
>>
>> Best,
>>
>> Peiman
>>
>>
>>>
>>>
>>
>
>


Date2010-11-18 18:59
FromSteven Yi
Subject[Csnd] Re: pattern in SC3
I thought I'd mention generating score and sending the events live to
a running Csound via blue's blueLive mode. I'll use blueLive for this
myself when working on new music scripts to help prototype. You should
be able to call cm from blue, generate the score, then do further
processing within blue if desired.

One should be able to do this by making a small host in lisp or scheme
as well. (There is also a nice csound journal article in the upcoming
Csound journal that demonstrates some live usage of csound via the API
and python via IPython shell).

On 11/18/10, Michael Gogins  wrote:
> There is some degree of Csound API support in Common Music -- if you
> use the Lisp version of Common Music (instead of the Scheme used in
> Grace) you can call out using the Lisp CFFI wrapper for the Csound
> API.
>
> I'm not sure what to do about the Scheme situation, but I will at
> least look into it. It could be a problem because the Scheme in Grace
> uses a custom implementation of Scheme.
>
> Regards
> Mike
>
> On Thu, Nov 18, 2010 at 1:29 PM, Anthony Palomba 
> wrote:
>> I have been using CM for quite some time, it is pretty cool.
>> Unfortunately it only lets you write csound scores, not CSound API
>> support.
>> The CM OSC implementation of windows is not working.
>>
>> That being said it is still a great tool. It has a very interesting
>> library
>> of
>> functions for doing spectral composition.
>>
>> I like CM so much that I am re-implementing a good part of its
>> functionality in python. Hopefully in the end I will have a CM like
>> environment that can REALLY interface with csound. We'll also see
>> if python will run as well as Scheme.
>>
>>
>>
>> -ap
>>
>>
>>
>>
>> On Thu, Nov 18, 2010 at 12:11 PM, peiman khosravi
>> 
>> wrote:
>>>
>>> Thanks to everyone for your inputs. Following a suggestion I started look
>>> at common music and found that it has loads of pattern generation
>>> objects.
>>> In fact both the syntax and the functionality are very similar to SC! And
>>> it
>>> is indeed very easy to learn the language. I've already (just after four
>>> days or so) started generating scores similar to Cmask and more. I never
>>> realised that you can even call csound from inside CM (terminal only
>>> though). It's much easier than python too as you most of the objects are
>>> ready for use so very little low level coding is required. CM does also
>>> send
>>> OSC messages but I can imagine that if csound api was integrated there
>>> somehow even live coding would be possible with CM and Csound.
>>>
>>> Best,
>>>
>>> Peiman
>>>
>>>
>>>>
>>>>
>>>
>>
>>
>
>
>
> --
> Michael Gogins
> Irreducible Productions
> http://www.michael-gogins.com
> Michael dot Gogins at gmail dot com
>
>
> Send bugs reports to the Sourceforge bug tracker
>             https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
> csound"
>
>

Date2010-11-18 19:18
Frompeiman khosravi
Subject[Csnd] Re: Re: Re: Re: RE: Re: Re: Re: pattern in SC3


On 18 November 2010 18:48, Michael Gogins <michael.gogins@gmail.com> wrote:
There is some degree of Csound API support in Common Music -- if you
use the Lisp version of Common Music (instead of the Scheme used in
Grace) you can call out using the Lisp CFFI wrapper for the Csound
API.

I'm not sure what to do about the Scheme situation, but I will at
least look into it. It could be a problem because the Scheme in Grace
uses a custom implementation of Scheme.


It would be great if that was made possible in the future. Mind you most of my scores are too dens to play in rt anyway!

Best,

Peiman
 
Regards
Mike

On Thu, Nov 18, 2010 at 1:29 PM, Anthony Palomba <apalomba@austin.rr.com> wrote:
> I have been using CM for quite some time, it is pretty cool.
> Unfortunately it only lets you write csound scores, not CSound API support.
> The CM OSC implementation of windows is not working.
>
> That being said it is still a great tool. It has a very interesting library
> of
> functions for doing spectral composition.
>
> I like CM so much that I am re-implementing a good part of its
> functionality in python. Hopefully in the end I will have a CM like
> environment that can REALLY interface with csound. We'll also see
> if python will run as well as Scheme.
>
>
>
> -ap
>
>
>
>
> On Thu, Nov 18, 2010 at 12:11 PM, peiman khosravi <peimankhosravi@gmail.com>
> wrote:
>>
>> Thanks to everyone for your inputs. Following a suggestion I started look
>> at common music and found that it has loads of pattern generation objects.
>> In fact both the syntax and the functionality are very similar to SC! And it
>> is indeed very easy to learn the language. I've already (just after four
>> days or so) started generating scores similar to Cmask and more. I never
>> realised that you can even call csound from inside CM (terminal only
>> though). It's much easier than python too as you most of the objects are
>> ready for use so very little low level coding is required. CM does also send
>> OSC messages but I can imagine that if csound api was integrated there
>> somehow even live coding would be possible with CM and Csound.
>>
>> Best,
>>
>> Peiman
>>
>>
>>>
>>>
>>
>
>



--
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com


Send bugs reports to the Sourceforge bug tracker
           https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"