Sound Recording or WaveOut Output

Posts: 3
Joined: November 10, 2016 - 18:46
Sound Recording or WaveOut Output

Hello CoolSoft, can you please add WaveOut Output to VMS? The reason is: i'd like to use http://www.pianoeletronico.com.br/index-en.html to play on my laptop's keyboard, but I really miss recording functionality in this simplest app. After long googling and experiments I've choosed Total Recorder and its user-mode device driver, which is supported only for WaveOut output on Win Vista and newer OSes. It is important that only midi sound need to be recorded, without metronomes or similar, so exactly user-mode driver should be used. If implementing built-in recording feature is possible - it will be even better.

Posts: 1125
Joined: March 25, 2012 - 01:19
Re: Sound Recording or WaveOut Output

Sending output to file is not so easy because:

  • how is the user supposed to control recording (start/stop/pause/select file)?
    Adding such controls to configurator could be a lot confusing.
  • synthesis should be as fast as possible; writing to disk could introduce a lot of latency and stuttering (VMS is already reading SF2 data from the disk...)

I suggest you to send your MIDI output to something like MidiOX, record it to disk (MIDI data is far more smaller then WAV data) and also send it to VMS.
Once you've finished you can convert MIDI->WAV offline with VMS2 MIDI2WAV converter.

Another option is to record your soundcard output using Audacity (or similar).
There's a FAQ here explaining how to do it.

pawel97 wrote:
It is important that only midi sound need to be recorded, without metronomes or similar

This is the hardest part.
How is metronome played? Through MIDI data (maybe on a dedicated MIDI device) or straight to analog device?
I suppose the latter because, if it was "merged" into MIDI data you can't split it out of VMS output.

If yes, then the suggestion I gave above won't work.
You could try with a virtual audio device like these:

then configure VMS to output on the new virtual audio device and metronome on another (not recorded) one.

Posts: 3
Joined: November 10, 2016 - 18:46
Re: Sound Recording or WaveOut Output
coolsoft wrote:
I suggest you to send your MIDI output to something like MidiOX, record it to disk (MIDI data is far more smaller then WAV data) and also send it to VMS.

Thanks, verry good idea. But how to realize it the way i need? I'm complete newbie in midi. So i've installed midiox, selected vms in Options -> MIDI Devices, and midiox has opened vms, so it can't be opened by Electronic Piano. Unlike MidiOX, it allows to play on two or more instruments simultaneously, with splitting the keyboard on two parts, enabling drums mode etc.

I've tried Virtual Audio Cable, but with any configuration some stuttering and distorsion is present. Maybe You'll give some tips about configuring VAC with VMS?

Posts: 3
Joined: November 10, 2016 - 18:46
Re: Sound Recording or WaveOut Output

LoopBeAudio is exactly what was needed. No distorsion, no delays, quality recording. Wondering how i haven't seen it before...

But direct capturing midi stream to a mid file will be definitely better. I don't think it's hard to implement - just an editbox in the configurator, if it isn't blank then save a stream to a file specified. Instead of writing to disk, we can save mid in memory untill main app closes, because midi files are small.

Posts: 1125
Joined: March 25, 2012 - 01:19
Re: Sound Recording or WaveOut Output

Sorry, I have only a small experience on these softwares. I tested them out just for personal knowledge.

MidiOX is not a MIDI player, it's a MIDI preprocessor (and a swiss-knife tool!).
You must put it between Electronic Piano and VMS and let it clone the MIDI stream in 2 copies: the first to VMS and the second one to file.

This way you should have a feedback of what you're actually playing.
Once finished, convert the generated MIDI with VMS MIDI-->WAV converter.

pawel97 wrote:
But direct capturing midi stream to a mid file will be definitely better. I don't think it's hard to implement - just an editbox in the configurator, if it isn't blank then save a stream to a file specified. Instead of writing to disk, we can save mid in memory untill main app closes, because midi files are small.

MIDI file is really different from a MIDI stream!
The first is structured and contains a lot more informations, like tempo and instruments, while the latter is only a serial "stream of commands".
The hard part for a MIDI player is parsing MIDI file and its tempo information to output commands at the right time.
Reversing this process is really hard because you must reconstruct the timing based on when events get in...

Think about a DAW (like Sonic) with an hardware piano keyboard attached: it's easy to put down the played notes, but what about tempo and other effects? DAWs give tools to "snap" notes to fixed times, and that's a lot of work.

No it's not so easy, believe me!

warning

Warning, JavaScript is disabled!

JavaScript is not available, maybe because you disabled it globally into your browser settings or you are using an addon like NoScript.

We do not have any dangerous JavaScript running here.
Please enable JavaScript; if you're using NoScript this image will help you adding CoolSoft to your whitelist.

Thanks for your comprehension and enjoy CoolSoft.