Skip to main content
Topic: Real time MIDI recording (Read 6319 times) previous topic - next topic

Real time MIDI recording

Have just downloaded the evealuation version on Noteworthy Compioser v1.75C and installed under XP.
I can step MIDI record OK and play back a track to my MIDI keyboard as well but when I click the record button to activate the real time it ghosts most icons for about 1 second then returns.  Is this a restricted feature in the demo version?

I have the Option-Record input-device set


neil


Re: Real time MIDI recording

Reply #1
G'day neru,
you need a "click" ot rhythm track...  Something that will play as you record and give you rhythm cues.  The behaviour you've seen is how NWC behaves when you don't have this.

The track needs to be long enough to play for the amount of time needed to get your track recorded.

A couple of points to note:
  • You need a synth with as close to zero latency as possible.  This is because you need the rhythm track sounds AND the sounds you're making to coincide.  Most softsynths will not be good enough.
  • Playing accurately to time is very difficult.  You will probably find that the recorded notes will be somewhat disappointing in their duration and timing unless you are fiendishly accurate.
  • Triplets will not be recognised as such
  • *Swing will be seen as odd duration notes, not recognised as quavers (eighth notes)

See this FAQ:

How do I record live play from my MIDI keyboard?

* a swinging tempo track would probably help fix this...  Must look into it when I get a chance...
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Real time MIDI recording

Reply #2
Lawrie, re your valid points on MIDI recording:

A couple of points to note:

You need a synth with as close to zero latency as possible.  This is because you need the rhythm track sounds AND the sounds you're making to coincide.  Most softsynths will not be good enough.

Playing accurately to time is very difficult.  You will probably find that the recorded notes will be somewhat disappointing in their duration and timing unless you are fiendishly accurate.



If you have a computer with a processor at least 1.5gHz speed and a good softsynth (our fav Yamaha S-YXG50 comes to mind) then both the problems you noted can be largely taken care of by quantizing the Record settings.  Set the rest value to Eighth rest and the note value to Sixteenth note and experiment with Record settings until you get the results you are looking for.

Of course, this does not solve the triplet import/record problem.  I wonder if using a swing tempo track would solve the record problem in that style?  Don't have a MIDI kbd to try it myself, but I think it probably would work.

Re: Real time MIDI recording

Reply #3
G'day Milton,
If you have a computer with a processor at least 1.5gHz speed and a good softsynth (our fav Yamaha S-YXG50 comes to mind) then both the problems you noted can be largely taken care of by quantizing the Record settings.

I've actually tried this some time ago.  My setup is a 3GHz P4 with 1GB RAM, SB Audigy II ZS and of course, the Yam - plenty quick enough I think ;)  Problem is that there is sufficient latency in the soft synth itself that you can easily hear the delay between pressing a key on your MIDI keyboard and hearing the result on your PC's speakers.

When you work with a click track and press your keys in time with the beat you are already behind the beat in NWC by the latency time in the synth.  Then you add to that the delay of what you hear from pressing the keys and 'cos it can't coincide with the click track it all feels very wrong.  I found it terribly frustrating and I'm not even a keyboard player...

I will admit I didn't spend a lot of time on trying to adjust the Record settings but IIRC my defaults are what you suggested anyhow.

When I did the same thing with my hardware synth - almost zero latency - it was unnoticable.

Not a big deal if you have a reasonable H/W synth...

While I again haven't tried it, I suspect you are correct in your suggestion that a swing click track would go a long way to allowing correct import of swung quavers.
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Real time MIDI recording

Reply #4
Lawrie, you seem to be referring to a MIDI kbd that is a controller only, with no sound module of its own, right?  Probably the latency would be enough to cause a problem then.  Maybe unchecking the Echo input box in the Record tab would help, though then you are reduced to humming what you are playing while listening to only the click track!  There's an item for the wish list: an option to delay the input in milliseconds like Band in a Box has specifically to adjust for softsynth latency.

One way to solve the problem, though not as cheaply as we all would like, is to buy a Yamaha portable kbd that has its own sound module and a USB port to make a MIDI interface unnecessary.  Still not too pricey, a great-sounding one can be had new for about $150-$200 US.

Re: Real time MIDI recording

Reply #5
G'day Milton,
that's only part of it...  The real problem is the click track.

NWC sends a "note on" command, the softsynth takes, say, 100 ms to process it and actually make a noise, then when you hear the click you are already a tenth of a second behind where NWC is...  THEN you've gotta try and play in time and you just can't catch up 'cos you've gotta anticipate the click by the latency amount - forget that what you're playing will be behind as well by the latency amount, or not if you have echo off, you still have a difficult task 'cos of NWC being ahead of where you think it is...
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Real time MIDI recording

Reply #6
Lawrie, I assume you are referring to my wish list item for a delay to compensate for softsynth latency.  Of course, I referred to an input delay, actually that would be a delay in the note chase staff display, but your point: The real problem is the click track.

NWC sends a "note on" command, the softsynth takes, say, 100 ms to process it and actually make a noise, then when you hear the click you are already a tenth of a second behind where NWC is
still applies.

I wonder if that could be gotten around by a metronome that simply generated a tick without using the MIDI synth, triggered by the system clock.  If integrated into NWC, it would eliminate the absolute need for a click track to record, except for swing style.  I wonder if some clever bloke could write such a utility?

Re: Real time MIDI recording

Reply #7
G'day Milton,
Actually, when I use my hardware synth the problem is unnoticable - the latency is so significantly reduced as to be irrelevant.  'Tis only with the softsynth that I have a problem.

I imagine every synth will be different, whether hard or soft but I would expect that as a general rule, softsynth's will have a greater latency that hardware ones.

Of course, this doesn't help people without hardware synths - you know, the ones that only have the m$/Roland synth that comes with '98 and later...

I also have an Edirol UM1 MIDI to USB interface - IIRC it also has excessive latency in the conversion from MIDI to USB and back to MIDI internally...

AS for your idea of a metronome that is not MIDI...  It might help, but you still have to deal with the latency between the keyboads keys being pressed and the sound being produced - there's that softsynth latency again...

I really think the only effective answer is a hardware synth with minimum latency and a MIDI interface to the PC also with minimum (preferabley zero) latency.

Of course, you could try to set up your click track to "tick" early to compensate for the latency - trial and error - would be different for every PC and synth combo at every tempo...  Frustrating I reckon.
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Real time MIDI recording

Reply #8
Just wanted to post the result of some experimenting/remembering(from 5+ years ago) how to use MIDI-OX / MIDI Yoke (free downloads if not using commercially) to record into NWC, whether using hardware or software synth as the playback device.  I have pasted the relevant settings below, hope they help.
---------------------------------------------------------------------------------------------------

NWC Options

Import Tab
Note Resolution:   Eighth Note
Rest Resolution:   Quarter Rest

Midi Tab
Devices used by playback:   MIDI Yoke NT: 1
(Remove all other playback devices from this box while recording.  When done recording,
reset this to your usual playback settings.)
Port Usage:      Always
(This setting is critical.  If the Port Usage is set to While Active or While Playing you will
end up with no recording.  When done recording, best to reset this to While Playing to avoid locking out other MIDI applications while NWC is open)

Record Tab
Input Device:      MIDI Yoke NT: 8
Echo MIDI input:      Checked
Echo input to play device:   MIDI Yoke NT: 1
Echo to MIDI Channel:   Use original channel
Import Options
After recording, import staff into: 'Record' group
------------------------------------------------------------------------------------------------------

MIDI-OX / MIDI-Yoke Settings

MIDI Port Routing:
Input Ports      Output Ports
MIDI yoke NT: 1-7       to      YAMAHA XG SoftSynthesizer (or whatever your MIDI sound module
         happens to be)

MIDI-OX Event Port    to   MIDI Yoke NT: 8



MIDI Devices:
MIDI Inputs:  MIDI Yoke NT: 1-7 selected (highlighted blue)

MIDI Outputs: YAMAHA XG SoftSynthesizer (or whatever your MIDI sound module
         happens to be)
                    MIDI Yoke NT: 8

Port Mapping:
+YAMAHA XG SoftSynthesizer
   MIDI Yoke NT: 1-7 (Shows up as 7 devices on 7 lines)
+MIDI Yoke NT: 8
   MIDI-OX Event Port
   (MIDI Yoke NT: 1-7 will show up here.  Delete all 7 of them
   one-by-one by right-clicking on them and clicking Delete In Port)

If any Presets show up in this box, select and then backspace, then click OK

-----------------------------------------------------------------------------------------------------------------

To record into NWC, open a click staff (can be straight or swing), press F4 or click Record.  When

done recording, press F6 or click Stop.  The recording should automatically import into a new staff

and can be edited from there, choosing MIDI Channel, Instrument, etc. 


My experiments show that recording with a swing tempo track does import as neat eighth notes which

play back as swing style because of the swing tempo track.  Whichever style tempo track you use,

make it a 1 measure track with Local Repeat Open and Local Repeat Close at beginning and end,

the Repeat Count set to the maximum of 250.  You can use one tempo track with eighth rests (you will

keep this track in the final score) and one tempo track with eighth notes as a metronome, which you

will delete when done recording all tracks.  Count the total no. of measures accounting all repeats and

reset the Repeat Count to the total.  If you have more than 250 measures total, copy and paste the 1

measure of the tempo track after itself and reset the Repeat Count to the number of measures needed

over 250.


The quantizing (Import note and rest options) works so well to hide rhythm imperfections in recording

from a keyboard that it even works with MIDI-OX's option to use the computer keyboard to play notes

as the input source using a softsynth, which makes for about a 1/4 second latency.  It should work

great with a hardware synth/keyboard.

Re: Real time MIDI recording

Reply #9
G'day Milton,
unfortunately I can't easily test at the moment...  I don't have my external MIDI configuration setup.  Would need to reinstall some devices (Edirol UM1) and find other stuff.

However, while I'm happy to accept your results, I would like to try and repeat them at some time as I don't understand why the Yam's latency isn't a problem in this configuration.  If anything, adding the MIDIYoke should have made it worse - either that or I haven't followed what you've set up as well as I thought...
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Real time MIDI recording

Reply #10
G'day, Lawrie.  Actually the Yamaha softsynth does have quite a bit of latency, at least going through MIDI-OX and in the intentionally worst-case scenario of using the computer(!) keyboard to play notes in real time with MIDI-OX, as I mentioned:

The quantizing (Import note and rest options) works so well to hide rhythm imperfections in recording

from a keyboard that it even works with MIDI-OX's option to use the computer keyboard to play notes

as the input source using a softsynth, which makes for about a 1/4 second latency.


I don't know what the latency would be for a good MIDI controller playing the softsynth through MIDI-OX.  To get usable results with the computer keyboard and its estimated 1/4 second latency, I did have to anticipate the beat, but the Import quantizing options were able, amazingly, to cope with that and actually produce the notation I intended.  Not a lot of fun or recommended, but it does show what can be done to compensate for a small amount of latency, let alone a 1/4 second.

That being said, your mileage may vary.  The setup I used 6 yrs. ago on a school computer was the Yamaha S-YXG100 softsynth on Win98, Pentium II 400mHz processor, 64MB RAM, triggered by a non-GM Yamaha MIE-1 kbd through a MIDIman 2x2 USB MIDI interface.  That setup did have the usual 400-500 ms latency (estimated with Band-in-a-Box and PowerTracks sequencer's time shifter) until I installed DirectX 9 on it.  That reduced the latency to about 5 ms, quite a difference, no?  That made it possible to do real-time MIDI recording with a bare minimum of quantizing (don't remember those settings).  My last year at that school I used a Yamaha PSR-550 portable keyboard through the MIDIman interface as the hardware synth, which worked great. 

But it's entirely possible that WinXP/2000 and the WDM result in more latency, even with my 2gHz proccessor and 378 MB RAM (odd amount, added a 256MB chip to a 128MB chip), or even with your still faster and more powerful setup.  Certainly the best $olution is always to use a professional high-end sound card that integrates MIDI with 24-bit audio, but until then (sigh) I'll just make do!  I would be interested to hear your results when you have time to test real-time MIDI recording.