Old 03-22-2018, 03:42 AM   #1
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default Saving generated Midi messages in a file

Hi Reaper developers,

With a dedicated project, we want to use the Reaper "offline Render" process to save as well Midi messages (generated by JSFXes) in some sort of file, as the usual rendered Audio in stereo a FLAC file. The source is a bunch of recorded (mono) audio streams residing in tracks in the usual way.

Now we need to use an external program (done by ourselves), to read as well the audio as the Midi data from the appropriate files. Of course the timing relation between the Midi and the audio data needs to be perfectly preserved.

I never tried to save "rendered" Midi events to a file. So the question is what kind of file format is appropriate for this issue (Midi file including accurate timing), and what is an appropriate way to have Reaper save such a file while "rendering" ?

Thanks for any tips ...

-Michael
mschnell is offline   Reply With Quote
Old 03-23-2018, 01:55 PM   #2
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Anybody ?!?!?!?

IMHO one of the best design features of Reaper's is that Audio and Midi streams are handles as similar as possible.

So it's hard to believe that there is no way to appropriately "record" the Midi messages that are generated in an offline rendering process into a file.

-Michael (needing a solution for this rather urgently....)
mschnell is offline   Reply With Quote
Old 03-23-2018, 08:56 PM   #3
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

My simple mind assumed, that the Midi output of the tracks would be merged along with the audio streams to reach the FX chain of the master track. But when installing a Midi logging plugin in the Master FX-chain I don't find anything.

Is there any way to route Midi to the Master FX chain ?

-Michael
mschnell is offline   Reply With Quote
Old 03-23-2018, 09:09 PM   #4
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

I found that Midi messages to the Reaper Control Path by the "MidiToReaControlPath" VST plugin don't appear to be sent to the "Virtual Keyboard" pseudo Midi device, that can be used as an Input for tracks (while I was told that a ReaScript using the same "StuffMidiMessage()" API will send Midi Messages via the "Virtual Keyboard" device).

If fact, this behavior does make sense, as otherwise easily a Midi Loop would be constructed and that might somehow be automatically prevented.

Nonetheless, there might be some way to overcome this limitation in appropriate cases and allow one track to record the Midi output from another track ?!?!?

-Michael

Last edited by mschnell; 03-24-2018 at 03:27 AM.
mschnell is offline   Reply With Quote
Old 03-23-2018, 09:14 PM   #5
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,686
Default

Still talking to myself ...

Does anybody know a VST plugin that writes received Midi messages in a file ?

I understand that with JSFX, writing to a file seems only be possible in the @serialize section and hence not really usable to write a kind of media files.

In fact up till now I fail to understand when exactly writing to a file in @serialize actually is suppose to happen.

-Michael
mschnell is offline   Reply With Quote
Old 03-24-2018, 05:02 AM   #6
azslow3
Human being with feelings
 
Join Date: Nov 2017
Location: Heidelberg, Germany
Posts: 797
Default

Your original question was unclear, after following posts I guess you want render MIDI files. I have not found any simple way in Reaper to do this.

The only MIDI "rendering" I could find was "Apply Track/Take FX to items...". And ReaControlMIDI is rendered correctly as a "Take FX" only (since as TrackFX it sends information on project load and changes, not at playback start).

Since Master is a "hardware output". Following the "philosophy" of may be technically the same but logically different quantities (which I have tried to explained with "Control Path" vs "project MIDI", but failed...), I see that as consistent. Master, including FX, should be perceived as independent from the rest of the project "hardware device". And so it should have no MIDI nor extra audio routing section.

But:
* track MIDI output (better normal send... since master send has no MIDI options) can be recorded into another track. Select "Record: output (MIDI)" in record options.
* Midi2ReaControl path use StuffMidiMessage for Control Path only, the rest is just "passed throw", since that is an FX, with usual "MIDI Input" and "MIDI Output". I use the same API function in my extension (not FX) to send throw Virtual Keyboard (it allows to send throw ANY open MIDI input, in addition to Control Path).
azslow3 is offline   Reply With Quote
Old 03-24-2018, 06:54 PM   #7
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Quote:
Originally Posted by mschnell View Post
Does anybody know a VST plugin that writes received Midi messages in a file ?
http://thepiz.org/plugins/?p=midiLooper
nofish is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 07:58 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.