Csound Csound-dev Csound-tekno Search About

[Csnd] Unison voices with RT-MIDI

Date2014-01-04 19:43
FromGleb
Subject[Csnd] Unison voices with RT-MIDI
Dear Csounders,

I would like to build a synth with multiple voices (several instances of one
instrument per one note). These voices should have dynamic parameters, like
all instances are spread in stereo.
You may say to use decimal instruments like
i1.1
i1.2 etc
The problem is that I want to have it with real-time MIDI. The manual says I
cannot:

Note that the decimal instrument number notation cannot be used in
conjunction with real-time MIDI. In this case, the instrument would be
monophonic while a note was held.

Please, any ideas are welcome!

Regards,
Gleb



-----
Gleb Rogozinsky, PhD
Associated Professor
Interactive Arts Department
Saint-Petersburg University of Film and Television

Deputy Director of Medialab
Saint-Petersburg University of Telecommunications
--
View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213.html
Sent from the Csound - General mailing list archive at Nabble.com.

Date2014-01-04 19:53
FromRory Walsh
SubjectRe: [Csnd] Unison voices with RT-MIDI

We discussed this earlier, but have you looked at using the event opcode and passing a unique pfield for each instance? BTW, when you say midi are you taking about using a slider to control the instances? You'll have to be careful to kill all instances before allocating the next ones. I guess you could use a channel and turnoff to do this?

sent from a mobile device...

On 4 Jan 2014 20:44, "Gleb" <gleb.rogozinsky@gmail.com> wrote:
Dear Csounders,

I would like to build a synth with multiple voices (several instances of one
instrument per one note). These voices should have dynamic parameters, like
all instances are spread in stereo.
You may say to use decimal instruments like
i1.1
i1.2 etc
The problem is that I want to have it with real-time MIDI. The manual says I
cannot:

Note that the decimal instrument number notation cannot be used in
conjunction with real-time MIDI. In this case, the instrument would be
monophonic while a note was held.

Please, any ideas are welcome!

Regards,
Gleb



-----
Gleb Rogozinsky, PhD
Associated Professor
Interactive Arts Department
Saint-Petersburg University of Film and Television

Deputy Director of Medialab
Saint-Petersburg University of Telecommunications
--
View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213.html
Sent from the Csound - General mailing list archive at Nabble.com.


Send bugs reports to the Sourceforge bug trackers
csound6:
            https://sourceforge.net/p/csound/tickets/
csound5:
            https://sourceforge.net/p/csound/bugs/
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"



Date2014-01-04 20:03
FromGleb
Subject[Csnd] Re: Unison voices with RT-MIDI
Hi again, Rory!

To use Event opcode one need to name instrument like

event "i", 1, 0, 3

and if I want to create several instances of one instrument I need to use
decimals again (please correct me if I am wrong). And it is not supposed to
work with real-time MIDI, right?

Actually, when I say MIDI, I mean playing my MIDI keyboards and maybe
tweaking some knobs for filters. 





-----
Gleb Rogozinsky, PhD
Associated Professor
Interactive Arts Department
Saint-Petersburg University of Film and Television

Deputy Director of Medialab
Saint-Petersburg University of Telecommunications
--
View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213p5731215.html
Sent from the Csound - General mailing list archive at Nabble.com.

Date2014-01-04 20:04
FromIain McCurdy
SubjectRE: [Csnd] Unison voices with RT-MIDI
you could use 'active' to generate these decimals:

instr 1
iN active p1
p1 = p1+(iN*0.1)
print p1

The first midi note played would be p1=1.1, the second p1=1.2 and so on. Is this any help?
 
Iain

> Date: Sat, 4 Jan 2014 11:43:47 -0800
> From: gleb.rogozinsky@gmail.com
> To: csound@lists.bath.ac.uk
> Subject: [Csnd] Unison voices with RT-MIDI
>
> Dear Csounders,
>
> I would like to build a synth with multiple voices (several instances of one
> instrument per one note). These voices should have dynamic parameters, like
> all instances are spread in stereo.
> You may say to use decimal instruments like
> i1.1
> i1.2 etc
> The problem is that I want to have it with real-time MIDI. The manual says I
> cannot:
>
> Note that the decimal instrument number notation cannot be used in
> conjunction with real-time MIDI. In this case, the instrument would be
> monophonic while a note was held.
>
> Please, any ideas are welcome!
>
> Regards,
> Gleb
>
>
>
> -----
> Gleb Rogozinsky, PhD
> Associated Professor
> Interactive Arts Department
> Saint-Petersburg University of Film and Television
>
> Deputy Director of Medialab
> Saint-Petersburg University of Telecommunications
> --
> View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213.html
> Sent from the Csound - General mailing list archive at Nabble.com.
>
>
> Send bugs reports to the Sourceforge bug trackers
> csound6:
> https://sourceforge.net/p/csound/tickets/
> csound5:
> https://sourceforge.net/p/csound/bugs/
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
>

Date2014-01-04 20:08
FromGleb
Subject[Csnd] RE: Unison voices with RT-MIDI
Dear Iain,

it seems more like I want to press one key on keyboard and have say 8
instances of instr 666 simultaneously. 
Just like voices on some digital hardware synths. 



-----
Gleb Rogozinsky, PhD
Associated Professor
Interactive Arts Department
Saint-Petersburg University of Film and Television

Deputy Director of Medialab
Saint-Petersburg University of Telecommunications
--
View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213p5731218.html
Sent from the Csound - General mailing list archive at Nabble.com.

Date2014-01-04 20:16
FromIain McCurdy
SubjectRE: [Csnd] RE: Unison voices with RT-MIDI
Then is subinstr what you are looking for?

instr 1
inum notnum
a1 subinstr 2,inum+0
a2 subinstr 2,inum+7
out a1+a2
endin

instr 2
a1 vco2 0.1,cpsmidinn(p4)
out a1
endin

> Date: Sat, 4 Jan 2014 12:08:28 -0800
> From: gleb.rogozinsky@gmail.com
> To: csound@lists.bath.ac.uk
> Subject: [Csnd] RE: Unison voices with RT-MIDI
>
> Dear Iain,
>
> it seems more like I want to press one key on keyboard and have say 8
> instances of instr 666 simultaneously.
> Just like voices on some digital hardware synths.
>
>
>
> -----
> Gleb Rogozinsky, PhD
> Associated Professor
> Interactive Arts Department
> Saint-Petersburg University of Film and Television
>
> Deputy Director of Medialab
> Saint-Petersburg University of Telecommunications
> --
> View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213p5731218.html
> Sent from the Csound - General mailing list archive at Nabble.com.
>
>
> Send bugs reports to the Sourceforge bug trackers
> csound6:
> https://sourceforge.net/p/csound/tickets/
> csound5:
> https://sourceforge.net/p/csound/bugs/
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
>

Date2014-01-04 20:23
FromGleb
Subject[Csnd] RE: Unison voices with RT-MIDI
Oh my God..

It should make a trick! Thanks for cooperation! 
Gonna try it.



-----
Gleb Rogozinsky, PhD
Associated Professor
Interactive Arts Department
Saint-Petersburg University of Film and Television

Deputy Director of Medialab
Saint-Petersburg University of Telecommunications
--
View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213p5731220.html
Sent from the Csound - General mailing list archive at Nabble.com.

Date2014-01-04 22:07
FromRory Walsh
SubjectRe: [Csnd] Re: Unison voices with RT-MIDI
Wait now, to create several instances of a single instrument you don't
need to use decimals? Every time you press a key on your keyboard you
can either start several instances using the event opcode:

event "i", 1, 0, 10, 1
event "i", 1, 0, 10, 2
event "i", 1, 0, 10, 3

Or just unmute several instances that are already running. If you want
independent control over each instrument you can just do something
like:

if(p4=1) then
kfreq chnget "freq1"
else if....

or better yet:

SChannel1 sprintf "freq%d", p4
kFreq chnget SChannel1

Date2014-01-04 22:29
FromGleb
Subject[Csnd] Re: Unison voices with RT-MIDI
Thanks again, Rory!

I will try this solution too. Maybe I'll be lucky to create a sort of
commercial trance/industrial timbres finally with Csound!
I will report here about results!



-----
Gleb Rogozinsky, PhD
Associated Professor
Interactive Arts Department
Saint-Petersburg University of Film and Television

Deputy Director of Medialab
Saint-Petersburg University of Telecommunications
--
View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213p5731224.html
Sent from the Csound - General mailing list archive at Nabble.com.

Date2014-01-04 22:38
FromRory Walsh
SubjectRe: [Csnd] Re: Unison voices with RT-MIDI
I don't think luck will have anything to do with it! But I 100%
certain that one can create timbres to rival commercial software
synths with Csound. At least I'm certain there are a few on this list
who could, given the time!

On 4 January 2014 22:29, Gleb  wrote:
> Thanks again, Rory!
>
> I will try this solution too. Maybe I'll be lucky to create a sort of
> commercial trance/industrial timbres finally with Csound!
> I will report here about results!
>
>
>
> -----
> Gleb Rogozinsky, PhD
> Associated Professor
> Interactive Arts Department
> Saint-Petersburg University of Film and Television
>
> Deputy Director of Medialab
> Saint-Petersburg University of Telecommunications
> --
> View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213p5731224.html
> Sent from the Csound - General mailing list archive at Nabble.com.
>
>
> Send bugs reports to the Sourceforge bug trackers
> csound6:
>             https://sourceforge.net/p/csound/tickets/
> csound5:
>             https://sourceforge.net/p/csound/bugs/
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
>

Date2014-01-05 09:14
FromGleb
Subject[Csnd] Re: Unison voices with RT-MIDI
OK, guys!

I tried both variants. Here are just oversimplified examples given. Each
voice is just an oscillator which can be detuned and spread across panorama

massign 1,1
massign 2,2

instr 1
iFreq cpsmidi
event "i", 2, 0, 1, iFreq*0.991,0
event "i", 2, 0, 1, iFreq*1, 0.5
event "i", 2, 0, 1, iFreq*1.009,1
endin

instr 2
a1 oscil 0.3, p4,1
    outs a1*p5,a1*(1-p5)
endin

Rory, the sound is bad. I have message from Qutecsound: Message buffer
overflow. Messages discarded.

Other option is what Iain advised:

massign 1,1
massign 2,2

instr 1
iFreq 	cpsmidi
a1,a2	subinstr 2, iFreq*0.991, 0
a3,a4	subinstr 2, iFreq*1,0.5
a5,a6	subinstr 2, iFreq*1.009, 1
asumL	= a1 + a3 + a5
asumR	= a2 + a4 + a6
 		outs asumL, asumR
endin

instr 2
a1		oscil 0.3, p4,1
		outs a1*p5,a1*(1-p5)
endin

It actually works well for me. So I continue with modelling. 




-----
Gleb Rogozinsky, PhD
Associated Professor
Interactive Arts Department
Saint-Petersburg University of Film and Television

Deputy Director of Medialab
Saint-Petersburg University of Telecommunications
--
View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213p5731235.html
Sent from the Csound - General mailing list archive at Nabble.com.

Date2014-01-05 09:31
FromRory Walsh
SubjectRe: [Csnd] Re: Unison voices with RT-MIDI
Subinstr is probably better as you don't need to worry about turning it off!

On 5 January 2014 09:14, Gleb  wrote:
> OK, guys!
>
> I tried both variants. Here are just oversimplified examples given. Each
> voice is just an oscillator which can be detuned and spread across panorama
>
> massign 1,1
> massign 2,2
>
> instr 1
> iFreq cpsmidi
> event "i", 2, 0, 1, iFreq*0.991,0
> event "i", 2, 0, 1, iFreq*1, 0.5
> event "i", 2, 0, 1, iFreq*1.009,1
> endin
>
> instr 2
> a1 oscil 0.3, p4,1
>     outs a1*p5,a1*(1-p5)
> endin
>
> Rory, the sound is bad. I have message from Qutecsound: Message buffer
> overflow. Messages discarded.
>
> Other option is what Iain advised:
>
> massign 1,1
> massign 2,2
>
> instr 1
> iFreq   cpsmidi
> a1,a2   subinstr 2, iFreq*0.991, 0
> a3,a4   subinstr 2, iFreq*1,0.5
> a5,a6   subinstr 2, iFreq*1.009, 1
> asumL   = a1 + a3 + a5
> asumR   = a2 + a4 + a6
>                 outs asumL, asumR
> endin
>
> instr 2
> a1              oscil 0.3, p4,1
>                 outs a1*p5,a1*(1-p5)
> endin
>
> It actually works well for me. So I continue with modelling.
>
>
>
>
> -----
> Gleb Rogozinsky, PhD
> Associated Professor
> Interactive Arts Department
> Saint-Petersburg University of Film and Television
>
> Deputy Director of Medialab
> Saint-Petersburg University of Telecommunications
> --
> View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213p5731235.html
> Sent from the Csound - General mailing list archive at Nabble.com.
>
>
> Send bugs reports to the Sourceforge bug trackers
> csound6:
>             https://sourceforge.net/p/csound/tickets/
> csound5:
>             https://sourceforge.net/p/csound/bugs/
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
>

Date2014-01-05 17:31
Fromjoachim heintz
SubjectRe: [Csnd] Re: Unison voices with RT-MIDI
perhaps the sound is bad because you use oscil instead of poscil?!?
have a good start in a posciling year, regards to st petersburg -
	joachim


Am 05.01.2014 10:14, schrieb Gleb:
> OK, guys!
>
> I tried both variants. Here are just oversimplified examples given. Each
> voice is just an oscillator which can be detuned and spread across panorama
>
> massign 1,1
> massign 2,2
>
> instr 1
> iFreq cpsmidi
> event "i", 2, 0, 1, iFreq*0.991,0
> event "i", 2, 0, 1, iFreq*1, 0.5
> event "i", 2, 0, 1, iFreq*1.009,1
> endin
>
> instr 2
> a1 oscil 0.3, p4,1
>      outs a1*p5,a1*(1-p5)
> endin
>
> Rory, the sound is bad. I have message from Qutecsound: Message buffer
> overflow. Messages discarded.
>
> Other option is what Iain advised:
>
> massign 1,1
> massign 2,2
>
> instr 1
> iFreq 	cpsmidi
> a1,a2	subinstr 2, iFreq*0.991, 0
> a3,a4	subinstr 2, iFreq*1,0.5
> a5,a6	subinstr 2, iFreq*1.009, 1
> asumL	= a1 + a3 + a5
> asumR	= a2 + a4 + a6
>   		outs asumL, asumR
> endin
>
> instr 2
> a1		oscil 0.3, p4,1
> 		outs a1*p5,a1*(1-p5)
> endin
>
> It actually works well for me. So I continue with modelling.
>
>
>
>
> -----
> Gleb Rogozinsky, PhD
> Associated Professor
> Interactive Arts Department
> Saint-Petersburg University of Film and Television
>
> Deputy Director of Medialab
> Saint-Petersburg University of Telecommunications
> --
> View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213p5731235.html
> Sent from the Csound - General mailing list archive at Nabble.com.
>
>
> Send bugs reports to the Sourceforge bug trackers
> csound6:
>              https://sourceforge.net/p/csound/tickets/
> csound5:
>              https://sourceforge.net/p/csound/bugs/
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
>
>

Date2014-01-05 18:39
FromGleb
Subject[Csnd] Re: Unison voices with RT-MIDI
Hi Joachim!

Subinstr opcode solved everything for me ) I will plug poscil somewhere
anyway.
Regards back to Hannover! Hope you guys have enough gas this winter)



-----
Gleb Rogozinsky, PhD
Associated Professor
Interactive Arts Department
Saint-Petersburg University of Film and Television

Deputy Director of Medialab
Saint-Petersburg University of Telecommunications
--
View this message in context: http://csound.1045644.n5.nabble.com/Unison-voices-with-RT-MIDI-tp5731213p5731266.html
Sent from the Csound - General mailing list archive at Nabble.com.