[Csnd] problems with fluidsynth, midi channels, massign
Date | 2018-01-06 23:15 |
From | Richard |
Subject | [Csnd] problems with fluidsynth, midi channels, massign |
I am trying to play a midi file generated by BiaB (Band in a Box). It has several midi channels: piano on ch 1, bass on ch 2, drums on ch 10, and more. But somehow the drums are all routed to channel 1, so they sound like piano notes. Here is some csd code: ; load engine giEngine1 fluidEngine isfnum1 fluidLoad "../samples/003.3mg GS Roland Sound Set 16 bit Bank.SF2", giEngine1, 1 fluidProgramSelect giEngine1, 1, isfnum1, 0, 0 ; piano ; load other sound fonts ; bass isfnum2 fluidLoad "../samples/003.3mg GS Roland Sound Set 16 bit Bank.SF2", giEngine1, 1 fluidProgramSelect giEngine1, 2, isfnum2, 0, 32 ; Fingered bass ; drums isfnum10 fluidLoad "../samples/003.3mg GS Roland Sound Set 16 bit Bank.SF2", giEngine1, 1 fluidProgramSelect giEngine1, 10, isfnum10, 128, 0 ; standard drum instr 1 iKey notnum ; read in midi note number iVel ampmidi 127 ; read in key velocity ; create a note played by the soundfont for this instrument fluidNote giEngine1, 1, iKey, iVel endin instr 2 iKey notnum ; read in midi note number iVel ampmidi 127 ; read in key velocity ; create a note played by the soundfont for this instrument fluidNote giEngine1, 2, iKey, iVel endin instr 10 iKey notnum ; read in midi note number iVel ampmidi 127 ; read in key velocity ; create a note played by the soundfont for this instrument fluidNote giEngine1, 10, iKey, iVel endin Csound output also shows these lines: midi channel 10 now using instr 1 midi channel 3 now using instr 1 Why is this? I thought that by default midi ch 1 goes to instr 1, ch2 to instr 2, etc. Also when I try to force this with massign it does not work, so adding the following does not solve it massign 0,0 massign 1,1 massign 2,2 massign 10,10 This is --Csound version 6.09.1 (double samples) Jul 10 2017 Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2018-01-07 14:45 |
From | Andrea Strappa |
Subject | [Csnd] keyboard controller |
Attachments | Keyboard_set_09.csd |
Hi list, I have the pleasure of sharing the .dll attached (Cabbage .csd). About graphic panel, I started from "envelope.csd" example, by Rory Walsh. It's not possible move the envelope dragging 'nodes' by mouse here, but you can type the values or scrolling with mouse wheel in numberbox and store these in "automatization tracks" (I use Cubase). Any advice to improve its efficienty is welcome. Specially: 1) how to devide completely "pedal device" from "sound device" with two different instr (I tried with turnoff2 instead turnoff, but turnoff2 does not behave as I would expect); 2) how to scroll the numbers by mouse wheel with '1' increment; 3) I use a phasor in fractional part of number instr. Maybe someone knows a better method to distinguish between sound instr instances. 4) realization of exponential cirves; 5) performance efficienty. NOTE: Midi/Audio switching has the same effect in this example. Midi it's more efficient (unless denied). Greetings Andrea Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2018-01-07 14:51 |
From | Andrea Strappa |
Subject | Re: [Csnd] keyboard controller |
I want to remember that I received useful directions about sustain pedal by Guillermo Senna. Thank you Guillermo. Andrea Il 07/01/2018 15:45, Andrea Strappa ha scritto: > Hi list, > I have the pleasure of sharing the .dll attached (Cabbage .csd). > About graphic panel, I started from "envelope.csd" example, by Rory > Walsh. It's not possible move the envelope dragging 'nodes' by mouse > here, but you can type the values or scrolling with mouse wheel in > numberbox and store these in "automatization tracks" (I use Cubase). > Any advice to improve its efficienty is welcome. > Specially: > 1) how to devide completely "pedal device" from "sound device" with > two different instr (I tried with turnoff2 instead turnoff, but > turnoff2 does not behave as I would expect); > 2) how to scroll the numbers by mouse wheel with '1' increment; > 3) I use a phasor in fractional part of number instr. Maybe someone > knows a better method to distinguish between sound instr instances. > 4) realization of exponential cirves; > 5) performance efficienty. > NOTE: Midi/Audio switching has the same effect in this example. Midi > it's more efficient (unless denied). > Greetings > Andrea > > > Csound mailing list > Csound@listserv.heanet.ie > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND > Send bugs reports to > https://github.com/csound/csound/issues > Discussions of bugs and features can be posted here Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
Date | 2018-01-07 18:58 |
From | Victor Lazzarini |
Subject | Re: [Csnd] problems with fluidsynth, midi channels, massign |
CSD? ======================== Prof. Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy, Maynooth University, Maynooth, Co Kildare, Ireland Tel: 00 353 7086936 Fax: 00 353 1 7086952 > On 6 Jan 2018, at 23:15, Richard |
Date | 2018-01-07 20:16 |
From | Richard |
Subject | Re: [Csnd] problems with fluidsynth, midi channels, massign |
Attachments | fluidcomplexorg.csd GMPlayAll.csd HarrysSong.MID |
Here is the CSD and midi file (GMPlayAll), In this version I tried with 3 engines, should not be needed. BTW, I also tried the original Istvan example (fluidcomplexorg.csd), did not work either. Richard On 07/01/18 19:58, Victor Lazzarini wrote: > CSD? > ======================== > Prof. Victor Lazzarini > Dean of Arts, Celtic Studies, and Philosophy, > Maynooth University, > Maynooth, Co Kildare, Ireland > Tel: 00 353 7086936 > Fax: 00 353 1 7086952 > >> On 6 Jan 2018, at 23:15, Richard |
Date | 2018-01-07 22:31 |
From | Rory Walsh |
Subject | Re: [Csnd] keyboard controller |
Hi Andrea, just so you know it is possible to create to user editable envelope where users can move nodes around. Check out the envelope examples by Iain the the GEN examples, or check out the following instrument which I only posted a few days ago: On 7 January 2018 at 14:51, Andrea Strappa <a_strappa@tin.it> wrote: I want to remember that I received useful directions about sustain pedal by Guillermo Senna. |
Date | 2018-01-07 22:32 |
From | Victor Lazzarini |
Subject | Re: [Csnd] problems with fluidsynth, midi channels, massign |
Attachments | fluidcomplexorg.csd |
The instructions to
midi channel 10 now using instr 1 midi channel 3 now using instr 1 are issued by prg change messages in channels 3 & 10. You can override these by using massign instr 111 massign 3, 3 massign 10, 10 endin but this has be called after the prg chgs in the MIDI file have been issued. (That is why massign in instr0 does not do anything). Your own fluid csd has to include code to select the programs for each channel. The fluidcomplexorg.csd does all this and works well. The only problem is that somehow there is a prg chg setting channel 10 to preset 0, which is why the piano is taking the drums. If you ignore chn 10 prg chgs and set it to the drums, it works. I am attaching the modified CSD (which I tested with my GM sf that I have here) ======================== Prof. Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy, Maynooth University, Maynooth, Co Kildare, Ireland Tel: 00 353 7086936 Fax: 00 353 1 7086952 > On 7 Jan 2018, at 20:16, Richard <zappfinger@gmail.com> wrote: > > Here is the CSD and midi file (GMPlayAll), In this version I tried with 3 engines, should not be needed. BTW, I also tried the original Istvan example (fluidcomplexorg.csd), did not work either. > > Richard > > On 07/01/18 19:58, Victor Lazzarini wrote: >> CSD? >> ======================== >> Prof. Victor Lazzarini >> Dean of Arts, Celtic Studies, and Philosophy, >> Maynooth University, >> Maynooth, Co Kildare, Ireland >> Tel: 00 353 7086936 >> Fax: 00 353 1 7086952 >> >>> On 6 Jan 2018, at 23:15, Richard <zappfinger@gmail.com> wrote: >>> >>> I am trying to play a midi file generated by BiaB (Band in a Box). It has several midi channels: >>> piano on ch 1, bass on ch 2, drums on ch 10, and more. >>> >>> But somehow the drums are all routed to channel 1, so they sound like piano notes. >>> Here is some csd code: >>> >>> ; load engine >>> giEngine1 fluidEngine >>> >>> isfnum1 fluidLoad "../samples/003.3mg GS Roland Sound Set 16 bit Bank.SF2", giEngine1, 1 >>> fluidProgramSelect giEngine1, 1, isfnum1, 0, 0 ; piano >>> ; load other sound fonts >>> ; bass >>> isfnum2 fluidLoad "../samples/003.3mg GS Roland Sound Set 16 bit Bank.SF2", giEngine1, 1 >>> fluidProgramSelect giEngine1, 2, isfnum2, 0, 32 ; Fingered bass >>> >>> ; drums >>> isfnum10 fluidLoad "../samples/003.3mg GS Roland Sound Set 16 bit Bank.SF2", giEngine1, 1 >>> fluidProgramSelect giEngine1, 10, isfnum10, 128, 0 ; standard drum >>> >>> instr 1 >>> iKey notnum ; read in midi note number >>> iVel ampmidi 127 ; read in key velocity >>> ; create a note played by the soundfont for this instrument >>> fluidNote giEngine1, 1, iKey, iVel >>> endin >>> >>> instr 2 >>> iKey notnum ; read in midi note number >>> iVel ampmidi 127 ; read in key velocity >>> ; create a note played by the soundfont for this instrument >>> fluidNote giEngine1, 2, iKey, iVel >>> endin >>> >>> instr 10 >>> iKey notnum ; read in midi note number >>> iVel ampmidi 127 ; read in key velocity >>> ; create a note played by the soundfont for this instrument >>> fluidNote giEngine1, 10, iKey, iVel >>> endin >>> >>> Csound output also shows these lines: >>> >>> midi channel 10 now using instr 1 >>> midi channel 3 now using instr 1 >>> >>> Why is this? I thought that by default midi ch 1 goes to instr 1, ch2 to instr 2, etc. >>> Also when I try to force this with massign it does not work, so adding the following does not solve it >>> >>> massign 0,0 >>> massign 1,1 >>> massign 2,2 >>> massign 10,10 >>> >>> This is --Csound version 6.09.1 (double samples) Jul 10 2017 >>> >>> Csound mailing list >>> Csound@listserv.heanet.ie >>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND >>> Send bugs reports to >>> https://github.com/csound/csound/issues >>> Discussions of bugs and features can be posted here >> Csound mailing list >> Csound@listserv.heanet.ie >> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND >> Send bugs reports to >> https://github.com/csound/csound/issues >> Discussions of bugs and features can be posted here > > > Csound mailing list > Csound@listserv.heanet.ie > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND > Send bugs reports to > https://github.com/csound/csound/issues > Discussions of bugs and features can be posted here > <fluidcomplexorg.csd><GMPlayAll.csd><HarrysSong.MID> |
Date | 2018-01-07 22:47 |
From | Victor Lazzarini |
Subject | Re: [Csnd] problems with fluidsynth, midi channels, massign |
Actually, your original GMPlayAll.csd works as-is if you add pgmassign 0,0 at the top to stop the program changes changing instruments. Only noticed now. But it seems to miss some instruments (?) that I can hear in the fluidcomplex CSD. ======================== Prof. Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy, Maynooth University, Maynooth, Co Kildare, Ireland Tel: 00 353 7086936 Fax: 00 353 1 7086952 > On 7 Jan 2018, at 22:32, Victor Lazzarini |
Date | 2018-01-08 09:09 |
From | Andrea Strappa |
Subject | Re: [Csnd] keyboard controller |
Hi Rory, Thank you for replay. I expressed myself in an ambiguous way, sorry: "here" it is referred to my example, not yours. Users can drag nodes in your example, sure, but Cubase automation
tracks don't write the mouvements. Greetings Andrea
Il 07/01/2018 23:31, Rory Walsh ha
scritto:
|
Date | 2018-01-08 16:57 |
From | Rory Walsh |
Subject | Re: [Csnd] keyboard controller |
Good point. I hadn't considered that. If you use sliders though it will. On 8 Jan 2018 10:09 a.m., "Andrea Strappa" <a_strappa@tin.it> wrote:
|
Date | 2018-01-08 17:35 |
From | Guillermo Senna |
Subject | Re: [Csnd] keyboard controller |
Cheers, Andrea. I hope someday we can also finish implementing those quadratic Bezier curves in Cabbage! 2018-01-08 13:57 GMT-03:00 Rory Walsh <rorywalsh@ear.ie>:
|
Date | 2018-01-08 19:29 |
From | Rory Walsh |
Subject | Re: [Csnd] keyboard controller |
Also a good point! I'll add it to the list. Come to think of it , didn't you have most of this working already; I just never got around to adding them? On 8 Jan 2018 6:35 p.m., "Guillermo Senna" <gsenna@gmail.com> wrote:
|
Date | 2018-01-08 22:27 |
From | Richard |
Subject | Re: [Csnd] problems with fluidsynth, midi channels, massign |
Thanks Victor, both if your suggestions worked for me. I did not know about pgmassign... The midi file 'Harry's song' is a basic one generated by Band in a Box. I often use this as basis for a real recording. You might want to hear the end result: https://www.youtube.com/watch?v=jfUGgm8eZps&feature=em-comments Richard On 07/01/18 23:47, Victor Lazzarini wrote: > Actually, your original GMPlayAll.csd works as-is if you add > > pgmassign 0,0 > > at the top to stop the program changes changing instruments. > Only noticed now. > > But it seems to miss some instruments (?) that I can hear in the fluidcomplex CSD. > > ======================== > Prof. Victor Lazzarini > Dean of Arts, Celtic Studies, and Philosophy, > Maynooth University, > Maynooth, Co Kildare, Ireland > Tel: 00 353 7086936 > Fax: 00 353 1 7086952 > >> On 7 Jan 2018, at 22:32, Victor Lazzarini |
Date | 2018-01-08 22:51 |
From | Guillermo Senna |
Subject | Re: [Csnd] keyboard controller |
Yeah, they were working but that was with Cabbage 1. The work was done on a separate branch, but we just never got to merge them. If I can get my hands in a proper condition I'll promise to take a look at it because very cool curve-shaped envelopes can be easily built that way (at least comparing that with hand-writing transeg values!). On 08/01/18 16:29, Rory Walsh wrote: > Also a good point! I'll add it to the list. Come to think of it , didn't > you have most of this working already; I just never got around to adding > them? > > On 8 Jan 2018 6:35 p.m., "Guillermo Senna" |
Date | 2018-01-08 22:56 |
From | Andrea Strappa |
Subject | Re: [Csnd] keyboard controller |
Attachments | Cabbage_10.csd |
If you add this .dll in your list I'm happy. I attach an other version of panel with sliders and knobs also. I had started it, then I left her, because I thought it would be
better to be able to type exact note numbers in numberbox, as in
the previous version I sent. You think it would be possible to commute this Masterkeyboard setting an 'effect' ddl? In this way you could open any instrument .dll in the DAW and set pedal type, balancing range, detune in the Masterkeyboard effect dll. This effect should handle midi messages. Can an effect do it? Greetings Andrea
Il 08/01/2018 20:29, Rory Walsh ha
scritto:
|
Date | 2018-01-09 08:09 |
From | Andrea Strappa |
Subject | Re: [Csnd] keyboard controller |
Sorry, I have misrepresented the last messages about this object yesterday. When I read the dot instead a comma after "Cheers Andrea" of Guillermo I stopped reading and I started a typical "commedia dell'arte" misunderstanding. Furthmore I sent the message as I received the last from
Guillermo. Furthmore, I wrote "I left her" instead "I left it". Peace and love. Andrea Il 08/01/2018 23:56, Andrea Strappa ha
scritto:
|
Date | 2018-01-09 09:04 |
From | Rory Walsh |
Subject | Re: [Csnd] keyboard controller |
Most effects can handle midi input too, all you'd be to check the DAW you're using. On 9 Jan 2018 9:09 a.m., "Andrea Strappa" <a_strappa@tin.it> wrote:
|