[Csnd] note pattern matrix instrument thing..?
Date | 2011-11-09 00:17 |
From | Rory Walsh |
Subject | [Csnd] note pattern matrix instrument thing..? |
Below is a simple note matrix pattern thingy instrument. Sorry, I can't think of a better name right now. (maybe I'll call it NiMPTI!). Anyway, let me try to explain how it works. I wanted to create a note pattern matrix along the lines of the following graph: C1 1 0 0 1 1 0 1 0 D1 0 0 0 0 0 0 0 0 E1 0 0 0 1 1 0 0 0 F1 1 0 0 0 0 0 0 0 G1 0 0 1 0 1 0 0 0 A1 0 1 0 0 0 0 0 0 B1 1 0 0 0 0 1 1 1 C2 0 1 0 0 0 1 0 0 with note names on the y-axis and the note on/off patterns on the x-axis. On every beat(x-index), values are taken from the y-axis and used to drive a simple sine wave instrument. It starts at index 0 and moves to index 8. So the first sound you hear(x-index 0), in the case of the above graph is a chord comprising the notes of C, F and B. On the next beat(x-index 1) you hear A and C, the next, a G on its own and so on and so forth. The matrix above is just for illustrative purposes. My matrix is 16x16 and I randomly fill the patterns with 1s or 0s. I also swap note tables every now and then for the fun of it. By passing different values to the note tables you can create some interesting rhythms and harmonies. I've purposely thrown in some 0s so the texture doesn't get too dense. It's quite possible that there are much easier ways to do this sort of thing? I'm all ears.. Rory. |
Date | 2011-11-09 00:34 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
wow. nice. ___________________________________ Dr. Richard Boulanger, Ph.D. Professor of Electronic Production and Design Professional Writing and Music Technology Division Berklee College of Music 1140 Boylston Street Boston, MA 02215-3693 617-747-2485 (office) 774-488-9166 (cell) ____________________________________ ____________________________________ ____________________________________ On Nov 8, 2011, at 7:17 PM, Rory Walsh wrote:
|
Date | 2011-11-09 03:16 |
From | Adam Puckett |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
Here's my stderr: error: numeric syntax '0.11 ', line 38: kShuffle metro 0.11 error: numeric syntax '5 ', line 39: kTrig metro 5 error: illegal character ., line 41: event "i", 2, 0, .1 ^ error: no legal opcode, line 41: event "i", 2, 0, .1 error: illegal no of output args, line 42: kTable randh 100, sr error: output arg ' ' illegal type, line 42: kTable randh 100, sr error: failed to find =.?, output arg ' ' illegal type, line 43: kNoteTable = (kTable<60 ? 200 : 201) error: no legal opcode, line 44: printks "New notes matrix created using note table %d\n", 0, kNoteTable error: illegal character :, line 46: Main_Loop: ^ error: no legal opcode, line 46: Main_Loop: error: illegal no of output args, line 47: k1 tablekt kIncr, kIndex+100 error: output arg ' ' illegal type, line 47: k1 tablekt kIncr, kIndex+100 error: illegal no of output args, line 48: knote tablekt kIndex, kNoteTable error: output arg ' ' illegal type, line 48: knote tablekt kIndex, kNoteTable error: illegal character (, line 49: event "i", 3, 0, 5, k1, cpspch(knote) ^ error: illegal character ), line 49: event "i", 3, 0, 5, k1, cpspch(knote) ^ error: no legal opcode, line 49: event "i", 3, 0, 5, k1, cpspch(knote) error: no legal opcode, line 50: loop_lt kIndex, 1, iNumTables, Main_Loop error: failed to find =.?, output arg ' ' illegal type, line 51: kIncr = (kIncr>15 ? 0 : kIncr+1) error: failed to find =.?, output arg ' ' illegal type, line 52: kIndex=0 error: illegal character :, line 61: Nested_Loop: ^ error: no legal opcode, line 61: Nested_Loop: error: illegal no of output args, line 62: kval randh 1000, sr, 2 error: output arg ' ' illegal type, line 62: kval randh 1000, sr, 2 error: input arg 'kval' used before defined, line 63: kval = (kval<0 ? 1 : 0) error: failed to find =.?, output arg ' ' illegal type, line 63: kval = (kval<0 ? 1 : 0) error: illegal character +, line 64: tablewkt kval, kNestedIndex, 100+kMainIndex ^ error: no legal opcode, line 64: tablewkt kval, kNestedIndex, 100+kMainIndex error: no legal opcode, line 65: loop_lt kNestedIndex, 1, iTableSize, Nested_Loop error: failed to find =.?, output arg ' ' illegal type, line 66: kNestedIndex = 0 30 syntax errors in orchestra. compilation invalid On 11/8/11, Dr. Richard Boulanger |
Date | 2011-11-09 08:31 |
From | Rory Walsh |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
Hi Adam. What version of Csound are you using? You might try the following version which doesn't use the newer style multiple init. Rory. |
Date | 2011-11-09 10:07 |
From | Victor Lazzarini |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
Maybe the cut and paste introduce some funny line breaks? Works well here. Congrats, Rory, it sounds very nice and you now have a career as a minimalist composer. You'll make millions. Victor On 9 Nov 2011, at 08:31, Rory Walsh wrote: > Hi Adam. What version of Csound are you using? You might try the > following version which doesn't use the newer style multiple init. > > Rory. > > > |
Date | 2011-11-09 11:03 |
From | Rory Walsh |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
I should have dedicated it to you Victor. I know how much you adore the minimalist movement! On 9 November 2011 10:07, Victor Lazzarini |
Date | 2011-11-09 18:29 |
From | Adam Puckett |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
5.14 On 11/9/11, Rory Walsh |
Date | 2011-11-09 18:33 |
From | Rory Walsh |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
Did you try the second version I posted? It splits the inits up so they are on different lines. I think this might help. 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" |
Date | 2011-11-09 18:53 |
From | Adam Puckett |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
I get this error message (WARNING!!!!! VERY LONG!!!!): error: illegal character ., line 30: 8, 0, 8.07, 0, 9.05, 0, 10 ^ error: illegal character ., line 30: 8, 0, 8.07, 0, 9.05, 0, 10 ^ error: no legal opcode, line 30: 8, 0, 8.07, 0, 9.05, 0, 10 error: no legal opcode, line 32: 8, 0, 9, 0, 10 instr instr 1 1 error: illegal character ., line 46: event "i", 2, 0, .1 ^ error: no legal opcode, line 46: event "i", 2, 0, .1 error: illegal no of output args, line 47: kTable randh 100, sr error: output arg ' ' illegal type, line 47: kTable randh 100, sr error: failed to find =.?, output arg ' ' illegal type, line 48: kNoteTable = (kTable<60 ? 200 : 201) error: no legal opcode, line 49: printks "New notes matrix created using note table %d\n", 0, kNoteTable error: illegal character :, line 51: Main_Loop: ^ error: no legal opcode, line 51: Main_Loop: error: illegal no of output args, line 52: k1 tablekt kIncr, kIndex+100 error: output arg ' ' illegal type, line 52: k1 tablekt kIncr, kIndex+100 error: illegal no of output args, line 53: knote tablekt kIndex, kNoteTable error: output arg ' ' illegal type, line 53: knote tablekt kIndex, kNoteTable error: illegal character (, line 54: event "i", 3, 0, 5, k1, cpspch(knote) ^ error: illegal character ), line 54: event "i", 3, 0, 5, k1, cpspch(knote) ^ error: no legal opcode, line 54: event "i", 3, 0, 5, k1, cpspch(knote) error: no legal opcode, line 55: loop_lt kIndex, 1, iNumTables, Main_Loop error: failed to find =.?, output arg ' ' illegal type, line 56: kIncr = (kIncr>15 ? 0 : kIncr+1) error: failed to find =.?, output arg ' ' illegal type, line 57: kIndex=0 instr instr 2 2 error: illegal character :, line 68: Nested_Loop: ^ error: no legal opcode, line 68: Nested_Loop: error: illegal no of output args, line 69: kval randh 1000, sr, 2 error: output arg ' ' illegal type, line 69: kval randh 1000, sr, 2 error: input arg 'kval' used before defined, line 70: kval = (kval<0 ? 1 : 0) error: failed to find =.?, output arg ' ' illegal type, line 70: kval = (kval<0 ? 1 : 0) error: illegal character +, line 71: tablewkt kval, kNestedIndex, 100+kMainIndex ^ error: no legal opcode, line 71: tablewkt kval, kNestedIndex, 100+kMainIndex error: no legal opcode, line 72: loop_lt kNestedIndex, 1, iTableSize, Nested_Loop error: failed to find =.?, output arg ' ' illegal type, line 73: kNestedIndex = 0 instr instr 3 3 32 syntax errors in orchestra. compilation invalid It seems to have something to do with spacing. On 11/9/11, Rory Walsh |
Date | 2011-11-09 18:56 |
From | Rory Walsh |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
Attachments | stepMatrix.csd |
Very odd. Try the attached, Victor mentioned that it might have something to do with copying and pasting it? I hope it's worth the trouble! 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" |
Date | 2011-11-09 19:05 |
From | Iain McCurdy |
Subject | RE: [Csnd] note pattern matrix instrument thing..? |
Hi Adam, The first four errors are simply because of newlines inserted on account of the orchestra being pasted into an email in the first place. Delete the newlines so that the numbers join up with the previous lines and see if that clears up the other errors too. I. > Date: Wed, 9 Nov 2011 13:53:54 -0500 > From: adotsdothmusic@gmail.com > To: csound@lists.bath.ac.uk > Subject: Re: [Csnd] note pattern matrix instrument thing..? > > I get this error message (WARNING!!!!! VERY LONG!!!!): > > error: illegal character ., line 30: > 8, 0, 8.07, 0, 9.05, 0, 10 > ^ > error: illegal character ., line 30: > 8, 0, 8.07, 0, 9.05, 0, 10 > ^ > error: no legal opcode, line 30: > 8, 0, 8.07, 0, 9.05, 0, 10 > error: no legal opcode, line 32: > 8, 0, 9, 0, 10 > instr instr 1 1 > > error: illegal character ., line 46: > event "i", 2, 0, .1 > ^ > error: no legal opcode, line 46: > event "i", 2, 0, .1 > error: illegal no of output args, line 47: > kTable randh 100, sr > error: output arg ' ' illegal type, line 47: > kTable randh 100, sr > error: failed to find =.?, output arg ' ' illegal type, line 48: > kNoteTable = (kTable<60 ? 200 : 201) > error: no legal opcode, line 49: > printks "New notes matrix created using note table %d\n", 0, kNoteTable > error: illegal character :, line 51: > Main_Loop: > ^ > error: no legal opcode, line 51: > Main_Loop: > error: illegal no of output args, line 52: > k1 tablekt kIncr, kIndex+100 > error: output arg ' ' illegal type, line 52: > k1 tablekt kIncr, kIndex+100 > error: illegal no of output args, line 53: > knote tablekt kIndex, kNoteTable > error: output arg ' ' illegal type, line 53: > knote tablekt kIndex, kNoteTable > error: illegal character (, line 54: > event "i", 3, 0, 5, k1, cpspch(knote) > ^ > error: illegal character ), line 54: > event "i", 3, 0, 5, k1, cpspch(knote) > ^ > error: no legal opcode, line 54: > event "i", 3, 0, 5, k1, cpspch(knote) > error: no legal opcode, line 55: > loop_lt kIndex, 1, iNumTables, Main_Loop > error: failed to find =.?, output arg ' ' illegal type, line 56: > kIncr = (kIncr>15 ? 0 : kIncr+1) > error: failed to find =.?, output arg ' ' illegal type, line 57: > kIndex=0 > instr instr 2 2 > > error: illegal character :, line 68: > Nested_Loop: > ^ > error: no legal opcode, line 68: > Nested_Loop: > error: illegal no of output args, line 69: > kval randh 1000, sr, 2 > error: output arg ' ' illegal type, line 69: > kval randh 1000, sr, 2 > error: input arg 'kval' used before defined, line 70: > kval = (kval<0 ? 1 : 0) > error: failed to find =.?, output arg ' ' illegal type, line 70: > kval = (kval<0 ? 1 : 0) > error: illegal character +, line 71: > tablewkt kval, kNestedIndex, 100+kMainIndex > ^ > error: no legal opcode, line 71: > tablewkt kval, kNestedIndex, 100+kMainIndex > error: no legal opcode, line 72: > loop_lt kNestedIndex, 1, iTableSize, Nested_Loop > error: failed to find =.?, output arg ' ' illegal type, line 73: > kNestedIndex = 0 > instr instr 3 3 > > 32 syntax errors in orchestra. compilation invalid > > It seems to have something to do with spacing. > > On 11/9/11, Rory Walsh <rorywalsh@ear.ie> wrote: > > Did you try the second version I posted? It splits the inits up so > > they are on different lines. I think this might help. > > > > > > 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" > |
Date | 2011-11-09 19:07 |
From | Rory Walsh |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
Lesson learned. I should simply attach the file rather than copying and pasting them! On 9 November 2011 19:05, Iain McCurdy |
Date | 2011-11-09 19:16 |
From | Victor Lazzarini |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
Well that's true for a big csd. On 9 Nov 2011, at 19:07, Rory Walsh wrote: > Lesson learned. I should simply attach the file rather than copying > and pasting them! > > On 9 November 2011 19:05, Iain McCurdy |
Date | 2011-11-09 20:56 |
From | richard duckworth |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
Wicked instrument - sounds great! Rich Duckworth Lecturer in Music Technology Department of Music House 5 Trinity College Dublin 2 Ireland Tel 353 1 896 1500 It's the most devastating moment in a young mans life, when he quite reasonably says to himself, "I shall never play The Dane!" From: Victor Lazzarini <Victor.Lazzarini@nuim.ie> To: csound@lists.bath.ac.uk Sent: Wednesday, 9 November 2011, 19:16 Subject: Re: [Csnd] note pattern matrix instrument thing..? Well that's true for a big csd. On 9 Nov 2011, at 19:07, Rory Walsh wrote: > Lesson learned. I should simply attach the file rather than copying > and pasting them! > > On 9 November 2011 19:05, Iain McCurdy <i_mccurdy@hotmail.com> wrote: >> Hi Adam, >> The first four errors are simply because of newlines inserted on account of >> the orchestra being pasted into an email in the first place. Delete the >> newlines so that the numbers join up with the previous lines and see if that >> clears up the other errors too. >> I. >> >>> Date: Wed, 9 Nov 2011 13:53:54 -0500 >>> From: adotsdothmusic@gmail.com >>> To: csound@lists.bath.ac.uk >>> Subject: Re: [Csnd] note pattern matrix instrument thing..? >>> >>> I get this error message (WARNING!!!!! VERY LONG!!!!): >>> >>> error: illegal character ., line 30: >>> 8, 0, 8.07, 0, 9.05, 0, 10 >>> ^ >>> error: illegal character ., line 30: >>> 8, 0, 8.07, 0, 9.05, 0, 10 >>> ^ >>> error: no legal opcode, line 30: >>> 8, 0, 8.07, 0, 9.05, 0, 10 >>> error: no legal opcode, line 32: >>> 8, 0, 9, 0, 10 >>> instr instr 1 1 >>> >>> error: illegal character ., line 46: >>> event "i", 2, 0, .1 >>> ^ >>> error: no legal opcode, line 46: >>> event "i", 2, 0, .1 >>> error: illegal no of output args, line 47: >>> kTable randh 100, sr >>> error: output arg ' ' illegal type, line 47: >>> kTable randh 100, sr >>> error: failed to find =.?, output arg ' ' illegal type, line 48: >>> kNoteTable = (kTable<60 ? 200 : 201) >>> error: no legal opcode, line 49: >>> printks "New notes matrix created using note table %d\n", 0, >>> kNoteTable >>> error: illegal character :, line 51: >>> Main_Loop: >>> ^ >>> error: no legal opcode, line 51: >>> Main_Loop: >>> error: illegal no of output args, line 52: >>> k1 tablekt kIncr, kIndex+100 >>> error: output arg ' ' illegal type, line 52: >>> k1 tablekt kIncr, kIndex+100 >>> error: illegal no of output args, line 53: >>> knote tablekt kIndex, kNoteTable >>> error: output arg ' ' illegal type, line 53: >>> knote tablekt kIndex, kNoteTable >>> error: illegal character (, line 54: >>> event "i", 3, 0, 5, k1, cpspch(knote) >>> ^ >>> error: illegal character ), line 54: >>> event "i", 3, 0, 5, k1, cpspch(knote) >>> ^ >>> error: no legal opcode, line 54: >>> event "i", 3, 0, 5, k1, cpspch(knote) >>> error: no legal opcode, line 55: >>> loop_lt kIndex, 1, iNumTables, Main_Loop >>> error: failed to find =.?, output arg ' ' illegal type, line 56: >>> kIncr = (kIncr>15 ? 0 : kIncr+1) >>> error: failed to find =.?, output arg ' ' illegal type, line 57: >>> kIndex=0 >>> instr instr 2 2 >>> >>> error: illegal character :, line 68: >>> Nested_Loop: >>> ^ >>> error: no legal opcode, line 68: >>> Nested_Loop: >>> error: illegal no of output args, line 69: >>> kval randh 1000, sr, 2 >>> error: output arg ' ' illegal type, line 69: >>> kval randh 1000, sr, 2 >>> error: input arg 'kval' used before defined, line 70: >>> kval = (kval<0 ? 1 : 0) >>> error: failed to find =.?, output arg ' ' illegal type, line 70: >>> kval = (kval<0 ? 1 : 0) >>> error: illegal character +, line 71: >>> tablewkt kval, kNestedIndex, 100+kMainIndex >>> ^ >>> error: no legal opcode, line 71: >>> tablewkt kval, kNestedIndex, 100+kMainIndex >>> error: no legal opcode, line 72: >>> loop_lt kNestedIndex, 1, iTableSize, Nested_Loop >>> error: failed to find =.?, output arg ' ' illegal type, line 73: >>> kNestedIndex = 0 >>> instr instr 3 3 >>> >>> 32 syntax errors in orchestra. compilation invalid >>> >>> It seems to have something to do with spacing. >>> >>> On 11/9/11, Rory Walsh <rorywalsh@ear.ie> wrote: >>>> Did you try the second version I posted? It splits the inits up so >>>> they are on different lines. I think this might help. >>>> >>>> >>>> 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" > Dr Victor Lazzarini Senior Lecturer Dept. of Music NUI Maynooth Ireland tel.: +353 1 708 3545 Victor dot Lazzarini AT nuim dot ie 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" |
Date | 2011-11-09 21:05 |
From | Rory Walsh |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
There's lot of scope for losing hours of one's life messing with the note tables! On 9 November 2011 20:56, richard duckworth |
Date | 2011-11-09 21:29 |
From | joachim heintz |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
would it help to type the input tables as strings, like gS_NoteTable1 = "5 0 5.07 6 0 6.07 7 0 7.07 8 0 8.07 0 9.05 0 10" ? this could be done with a udo which transforms the string to a function table (from the same size as the string has elements): http://www.csounds.com/udo/displayOpcode.php?opcode_id=118 for the matrix tables, you could write gif1 ftgen 100, 0, 16, 2, 0 (because the rest of the table will also be filled with zeros automatically) just a thought - because we don't want you to loose hours: we want you to release cabbage! all best - joachim Am 09.11.2011 22:05, schrieb Rory Walsh: > There's lot of scope for losing hours of one's life messing with the > note tables! > > On 9 November 2011 20:56, richard duckworth |
Date | 2011-11-09 21:32 |
From | Rory Walsh |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
Nice idea. When I said losing hours I was talking about losing oneself in the musical output rather than the work invovled in manipulating the data! Ok, back to tending to my Cabbage! On 9 November 2011 21:29, joachim heintz |
Date | 2011-11-09 21:40 |
From | Dave Seidel |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
Very nice, Rory, and an interesting technique. I am tempted to try some variations on this, thanks for sharing it with us. - Dave On 11/8/2011 7:17 PM, Rory Walsh wrote: > Below is a simple note matrix pattern thingy instrument. Sorry, I > can't think of a better name right now. (maybe I'll call it NiMPTI!). > Anyway, let me try to explain how it works. I wanted to create a note > pattern matrix along the lines of the following graph: > > C1 1 0 0 1 1 0 1 0 > D1 0 0 0 0 0 0 0 0 > E1 0 0 0 1 1 0 0 0 > F1 1 0 0 0 0 0 0 0 > G1 0 0 1 0 1 0 0 0 > A1 0 1 0 0 0 0 0 0 > B1 1 0 0 0 0 1 1 1 > C2 0 1 0 0 0 1 0 0 > > with note names on the y-axis and the note on/off patterns on the > x-axis. On every beat(x-index), values are taken from the y-axis and > used to drive a simple sine wave instrument. It starts at index 0 and > moves to index 8. So the first sound you hear(x-index 0), in the case > of the above graph is a chord comprising the notes of C, F and B. On > the next beat(x-index 1) you hear A and C, the next, a G on its own > and so on and so forth. > > The matrix above is just for illustrative purposes. My matrix is 16x16 > and I randomly fill the patterns with 1s or 0s. I also swap note > tables every now and then for the fun of it. By passing different > values to the note tables you can create some interesting rhythms and > harmonies. I've purposely thrown in some 0s so the texture doesn't get > too dense. > > It's quite possible that there are much easier ways to do this sort of > thing? I'm all ears.. > > Rory. > > > > |
Date | 2011-11-09 22:05 |
From | Rory Walsh |
Subject | Re: [Csnd] note pattern matrix instrument thing..? |
Thanks Dave. I'll be glad to see it used in something more substantial! On 9 November 2011 21:40, Dave Seidel |