astroman wrote:lagoausente wrote:Recording midi by sofware is shit. Midi timing is vary bad, in the best case, unless you use quantizing.
yes, I've made the same observation regarding 'drifting' midi timing.
I'm almost certain it is due to high CPU load by the graphics engine used in Scope. If I do some graphic interaction in Scope (adjust a fader on the mixer f.e.) I can hear the midi timing drop and increase.
It's not exactly Scope's fault, as the midi protocol is 'unprotected' by the OS, so whatever happens on the surface may have an influence.
I'm not sure if a midi driver could be written in a way to circumvent this, even more as it's afiliated with the same
wxwidget crap in Scope.
I call it crap because I recently had to find out that whenever I use Energy XT as an ASIO host, I get clicks on the Scope side, as soon as any GUI activity occurs.
Replaced the host - no more clicks - damn open source to**ers
cheers, Tom
(sorry for ranting)
Look here:
http://www.jay.fm/miditime/
There are two type of drivers, the windows midi drivers, and the native midi drivers of the souncard or midi interface.
One problem is that often, the sequencers don´t know what one is the correct to use and use any of them, and you see just only to select while you don´t know what one of both you are using.
The problem is that the windows midi drivers, follow a diferent internal clock of the pc that the native drivers (in some cases).
There is a tool to determine what one is the correct to use, and a guide of how to can see both drivers to be selected, (in cubase/nuendo I think).
But the worst thinkg is not this. I have done that in the past, and found the correct driver. It was ok, the wrong one gived a high midi jitter, with big errors, but the bad new is that the good one, even was quite estable, never recorded an event in the just same position. (I made the experiment, just taking the midi out, to midi in, and re-recording in a new track the midi events Cubase was playing. There is always an imprecision, and a random error of the event position, even is not as high as in the wrong driver.
If you read the web, you´ll realize that the way that the midi data comes into the computer makes it imposible to exist accuracy. Note that audio at for examples, 44.1 samples per second, has a clock of that speed.
Doesn´t matter when you are singing or playing the string of the guitar, the samples come all them into the pc, one sample after the other, even just with the soundcard noisefloor. So doens´t matter nothing, whatever latency you have on your Asio, samples are piled up, like bricks to make a wall, doesn´t matter if you are playing or not.
In midi, that´s not ocurr. There is no a clock in the sense as in digital audio. As you play an event on you keyboard, it travels to the pc, but if you not play, just a few bits of "midi messages" go to the pc, eventually. So the only real clock that exist to know "when the event entered" is used by the midi driver, looking at one of the internal mainboard clocks, seeing "what time is it", and then put the event that data, and so that posibtion, but , hell!!!, if the CPU is working in other thing, like you tell Astroman, and so making the grafics for a fader, the computer will leave the event waiting at the door, sometime, till the cpu is free, and go there, to "look what time did the event come", but is just a lie, the cpu, even is not very hardly charged, will be not all the time "looking at the midi input events", so what happends is that the time information that puts for each event, is not exactly the time the event arrived to the pc. So a midi jitter, or shifting, or whatever you want to name, always occur, even sometimes, with fast cpu is not dramatically perceptible, but makes recordings like if you were a little drunk. I had many times the feeling of me have a bad rithm sense.
Man..., once I bought my 3 Dsp card, and used the STS sampler, what a diference. Note that I just send the audio outputs to the sequencer. I forget totally midi, and use the sampler like If were a hardware sampler, just using the sequener like an audio tape recorder. what a diference!!, now the player (me) is sober, and the time variations are the natural of the player, not random, and the full feeling of the playing is captured in the audio track, just like when recording any other audio track.
I put one idea here, for developers. Scope probably has the posibility of a true "total precision midi driver". Think about Steinberg System link. There, the midi channels are send, on just the last bit of the 24 bit digital audio, from one machine to other.
It could be done the same on the Scope I think. On the pci board, the pci, would must be taking and mixing with the digital audio, just like in the system link does, and send a Asio track at 44.1khz, with the midi events "inside". It could be for example 1 bit at 44.1khz. That would give a real midi clock. But all this are just suposicions, I´m not sure if the internal arquitecture of the card, allow this processing.