[Csnd] trying to record midi to a score file
Date | 2018-12-22 23:38 |
From | Richard |
Subject | [Csnd] trying to record midi to a score file |
I have a midi recording instrument (10) that also passes the midi data on to another instrument (11). This used to work, but for some reason I see messages like: Closing file 'scores/record11.sco'... rtevent: T 6.032 TT 6.032 M: 0.12147 0.00268 rtevent: T 6.243 TT 6.243 M: 0.40268 0.10099 rtevent: T 6.243 TT 6.243 M: 0.00633 0.00419 rtevent: T 6.367 TT 6.367 M: 0.39045 0.13598 Closing file 'scores/record11.sco'... Instrument 10 is closing the file everytime, therefore only the last midi data is written to it. How can I prevent the file from being closed in instr 10? It only gets allocated once, so I don't think it is a matter of multiple instances... Here is the code for instr 10: instr 10 ; midi recorder and trigger ; p4=key, p5=vel mididefault 60, p3 midinoteonkey p5, p4 inote init p5 ivel init p4 instrnum = girecordto + inote/100 + ivel/100000 event_i "i", instrnum, 0, -1, inote, ivel ;call with indefinite duration kend release ;get a "1" if instrument is turned off if kend == 1 then event "i", -instrnum, 0, 1 ;then turn this instance off endif istrt times krel release if (krel == 0) kgoto nothing kendt times kdur = kendt - istrt ;prints to file if girecord==1 then Sscore sprintf "scores/record%01d.sco", girecordto ;Sscore strcpy "scores/record1.sco" fprintks Sscore, "i %2.0f\\t%15.6f\\t%15.6f\\t%d\\t%d\\n", girecordto, istrt, kdur, inote, ivel endif turnoff nothing: endin Richard 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-12-23 00:11 |
From | zappfinger |
Subject | Re: [Csnd] trying to record midi to a score file |
BTW, I have several csd's that record midi to file. They all used to work, but not anymore in Csound 6.12! -- Sent from: http://csound.1045644.n5.nabble.com/Csound-General-f1093014.html 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-12-23 09:23 |
From | Victor Lazzarini |
Subject | Re: [Csnd] trying to record midi to a score file |
I would have thought that fprintks opens a file at init time and closes it when the instance is killed. So it looks like every midi note triggers that cycle in your code. Incidentally there is a midi to score file example in the manual page for fprintks. It should run lonly one instance of the instrument to do the writing. Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy Maynooth University Ireland > On 22 Dec 2018, at 23:38, Richard |
Date | 2018-12-23 10:02 |
From | Richard van Bemmelen |
Subject | Re: [Csnd] trying to record midi to a score file |
Well, I tried the second example (midi file to score) and the output file size is 0. This is csound 6.11 on Windows... Op zo 23 dec. 2018 om 10:23 schreef Victor Lazzarini <Victor.Lazzarini@mu.ie>: I would have thought that fprintks opens a file at init time and closes it when the instance is killed. So it looks like every midi note triggers that cycle in your code. |
Date | 2018-12-23 10:43 |
From | Richard van Bemmelen |
Subject | Re: [Csnd] trying to record midi to a score file |
Attachments | midiFile2score.csd bossa.mid |
Ok, confirmed. I tried the same csd with csound 6.08 on my Raspberry Pi and there it worked. So somewhere between this version and 6.11 something went wrong... Here are the files I used. Op zo 23 dec. 2018 om 11:02 schreef Richard van Bemmelen <zappfinger@gmail.com>:
|
Date | 2018-12-23 11:34 |
From | zappfinger |
Subject | Re: [Csnd] trying to record midi to a score file |
Correction: The csd file DOES work on OS X with version 6.12, but NOT on Windows with version 6.11 -- Sent from: http://csound.1045644.n5.nabble.com/Csound-General-f1093014.html 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-12-23 12:03 |
From | Victor Lazzarini |
Subject | Re: [Csnd] trying to record midi to a score file |
What about 6.12 on Windows? Victor Lazzarini Dean of Arts, Celtic Studies, and Philosophy Maynooth University Ireland > On 23 Dec 2018, at 11:35, zappfinger |
Date | 2018-12-23 12:17 |
From | Richard van Bemmelen |
Subject | Re: [Csnd] trying to record midi to a score file |
Attachments | midiRecord2.csd |
I installed csound 6.12 on Windows and the midiFile2score.csd seems to work. However, there are a handfull of other oddities occuring now with another csd (will attach) When I run this csd in the command prompt, I get this error: Loading SoundFont : ..\samples\003.3mg GS Roland Sound Set 16 bit Bank.SF2. fluidSynth: 0x0000024848BCEDC0 soundFontId: 1. 0: iCON iKEY V1.02 (portmidi) PortMIDI: Activated input device 0: 'iCON iKEY V1.02' (MMSystem) *** PortMIDI: error opening input device 0: PortMidi: `Host error' *** error opening MIDI in device: -1 (Unknown MIDI error) When I run the csd in CsoundQt (no options checked, so it should be the same) it sort of works, but not quite: there is no midi error or audio error (see my other post), but the csd does not finish, although there is a duration macro of 30 seconds. Therefore the score file written has size 0. Also, when I play the midi keyboard it sounds very bad, a soft, cracking sound and not the GM soundfont I expect. Op zo 23 dec. 2018 om 12:34 schreef zappfinger <zappfinger@gmail.com>: Correction: The csd file DOES work on OS X with version 6.12, but NOT on |
Date | 2018-12-23 12:25 |
From | Richard van Bemmelen |
Subject | Re: [Csnd] trying to record midi to a score file |
The sound was a matter of not having the buffer sizes checked in CsoundQt. Now (strangely) the csd does finish after 30 seconds, but the output score file size is still 0, unfortunately. Op zo 23 dec. 2018 om 13:17 schreef Richard van Bemmelen <zappfinger@gmail.com>:
|
Date | 2018-12-23 12:32 |
From | Richard van Bemmelen |
Subject | Re: [Csnd] trying to record midi to a score file |
This is strange because 'Ignore CsOptions' is not checked, so it should use the buffer sizes defined in the csd. And what is the relation between buffer sizes and the lenght of the score? Baffles me. Op zo 23 dec. 2018 om 13:25 schreef Richard van Bemmelen <zappfinger@gmail.com>:
|