Csound Csound-dev Csound-tekno Search About

[Cs-dev] MIDI changes - files with multiple tracks are now supported

Date2005-02-26 10:31
FromIstvan Varga
Subject[Cs-dev] MIDI changes - files with multiple tracks are now supported
2005-02-25      Istvan Varga    
         * Engine/entry2.c:
           added miditempo opcode (returns current tempo of MIDI file
           at control rate)
         * Engine/insert.c:
           allow muting MIDI channels (massign to 0) in MIDIinsert()
         * Engine/musmon.c:
           initialise all MIDI channels before oload()
           merged MIDI device and file input code (removed sensFMidi)
           made use of MCHNBLK.insno and MCHNBLK.pgmno more consistent
         * H/csoundCore.h:
         * Top/csound.c:
           increased MIDI input buffer size
           changes in MGLOBAL for new MIDI file code
         * H/midifile.h:
         * InOut/midifile.c:
           new implementation for reading MIDI files (supports multiple tracks)
           miditempo opcode
         * InOut/midirecv.c:
           changes for using new MIDI file input
           removed sensFMidi (both device and file input is done by sensMidi)
           removed FMidiOpen, vlendatum, Fnxtdeltim, fsexdata, and Rnxtdeltim
           made use of MCHNBLK.insno and MCHNBLK.pgmno more consistent
           m_chinsno: allow massign to <= 0 (mutes channel)
           m_chn_init_all: new function
           m_getchnl: no longer need to check if channel exists
         * InOut/midisend.c:
         * InOut/pmidi.c:
           allow sending simple system messages (clock etc.)
         * OOps/midiops.c:
           allow massign to <= 0 (mutes channel)
         * SConstruct:
           compile InOut/midifile.c


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-02-26 20:50
FromIain Duncan
SubjectRe: [Cs-dev] MIDI changes - files with multiple tracks are now supported
Nice!!! Thanks again Istvan. Have you been remembering to eat and sleep 
lately too?

Iain

Istvan Varga wrote:
> 2005-02-25      Istvan Varga    
>         * Engine/entry2.c:
>           added miditempo opcode (returns current tempo of MIDI file
>           at control rate)
>         * Engine/insert.c:
>           allow muting MIDI channels (massign to 0) in MIDIinsert()
>         * Engine/musmon.c:
>           initialise all MIDI channels before oload()
>           merged MIDI device and file input code (removed sensFMidi)
>           made use of MCHNBLK.insno and MCHNBLK.pgmno more consistent
>         * H/csoundCore.h:
>         * Top/csound.c:
>           increased MIDI input buffer size
>           changes in MGLOBAL for new MIDI file code
>         * H/midifile.h:
>         * InOut/midifile.c:
>           new implementation for reading MIDI files (supports multiple 
> tracks)
>           miditempo opcode
>         * InOut/midirecv.c:
>           changes for using new MIDI file input
>           removed sensFMidi (both device and file input is done by 
> sensMidi)
>           removed FMidiOpen, vlendatum, Fnxtdeltim, fsexdata, and 
> Rnxtdeltim
>           made use of MCHNBLK.insno and MCHNBLK.pgmno more consistent
>           m_chinsno: allow massign to <= 0 (mutes channel)
>           m_chn_init_all: new function
>           m_getchnl: no longer need to check if channel exists
>         * InOut/midisend.c:
>         * InOut/pmidi.c:
>           allow sending simple system messages (clock etc.)
>         * OOps/midiops.c:
>           allow massign to <= 0 (mutes channel)
>         * SConstruct:
>           compile InOut/midifile.c
> 
> 
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now.
> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
> _______________________________________________
> Csound-devel mailing list
> Csound-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/csound-devel
> 


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-02-26 21:32
Fromsteven yi
Subject[Cs-dev] Midifile Test
Attachmentschopin.mid  fluidops-test3.csd  
Hi All,

I did a little more testing with Midifiles.  I modified Dave's example 
to use a simple sine instrument.  The rendering doesn't sound correct to 
my ear, but since I don't ever use Midi files, I'm not positive my test 
file is a good test.  I've attached the test files here.  Some notes 
don't ever seem to turn off, but that got me to wondering if Csound is 
respecting the damper pedal controller and that it might be used in the 
chopin.mid. 

I started to go through code to figure out what was going on, but this 
is all foreign territory for me, so if others can take a look as well, 
that'd be great.

Thanks all,
steven

Date2005-02-26 22:56
FromIstvan Varga
SubjectRe: [Cs-dev] Midifile Test
steven yi wrote:

> I did a little more testing with Midifiles.  I modified Dave's example
> to use a simple sine instrument.  The rendering doesn't sound correct to
> my ear, but since I don't ever use Midi files, I'm not positive my test
> file is a good test.  I've attached the test files here.  Some notes
> don't ever seem to turn off, but that got me to wondering if Csound is
> respecting the damper pedal controller and that it might be used in the
> chopin.mid.

Indeed, this MIDI file does make use of the sustain pedal controller (64).
However, the actual problem is that it is expected to be played with a
piano-like instrument that has an exponential decay. When played with a
sequencer, after setting an instrument that does not decay, the file
sounds just as bad as with Csound.
Controller 64 is actually used (although it is not sure if always
correctly) by Csound, and does hold and terminate note events as expected.


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-02-26 23:02
FromIain Duncan
SubjectRe: [Cs-dev] Midifile Test
> Indeed, this MIDI file does make use of the sustain pedal controller (64).
> However, the actual problem is that it is expected to be played with a
> piano-like instrument that has an exponential decay. When played with a
> sequencer, after setting an instrument that does not decay, the file
> sounds just as bad as with Csound.
> Controller 64 is actually used (although it is not sure if always
> correctly) by Csound, and does hold and terminate note events as expected.

I assume that can be turned off? One thing I would dearly dearly love to 
see in Csound5 is the ability to disable *all* default midi behaviour 
and midi printf. We should be able to use midi input without any 
assumptions about how we are using it ... I would even go so far as to 
ask that we able to send any packet combination with midiout/midiin even 
if they are not valid midi messages, as this can be very useful when 
making custom hardware.

iain


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-02-27 00:04
Fromsteven yi
SubjectRe: [Cs-dev] Midifile Test
Hi Istvan,

Thanks for checking this out.  I will have to investigate then how 
instrument offtim is used with midi-initiated notes and how to program 
against that with the fluid opcodes.

It seems that if one would want to route the midi sustain controller to 
fluid then one should be able to as well; will have to look at that too.

Thanks for the help!
steven


Istvan Varga wrote:

> steven yi wrote:
>
>> I did a little more testing with Midifiles.  I modified Dave's example
>> to use a simple sine instrument.  The rendering doesn't sound correct to
>> my ear, but since I don't ever use Midi files, I'm not positive my test
>> file is a good test.  I've attached the test files here.  Some notes
>> don't ever seem to turn off, but that got me to wondering if Csound is
>> respecting the damper pedal controller and that it might be used in the
>> chopin.mid.
>
>
> Indeed, this MIDI file does make use of the sustain pedal controller 
> (64).
> However, the actual problem is that it is expected to be played with a
> piano-like instrument that has an exponential decay. When played with a
> sequencer, after setting an instrument that does not decay, the file
> sounds just as bad as with Csound.
> Controller 64 is actually used (although it is not sure if always
> correctly) by Csound, and does hold and terminate note events as 
> expected.
>
>



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net