Search:
Submit Search


[Bug] Expression timing wrong in DAW w/VST

A discussion forum for anything even marginally Hauptwerk-related.

[Bug] Expression timing wrong in DAW w/VST

Postby mwdiers » Sun Jan 13, 2019 4:14 pm

I have discovered a bug when using Hauptwerk with the VST bridge.

When playing the organ in real time, or bouncing in real time, and automating the expression pedal for a swell or choir enclosure, everything works as expected.

However, when bouncing to a WAV file or audio clip offline from within the DAW (which causes Hauptwerk to process as fast as it can within the limits of the CPU), the expression pedal is not working.

Visual feedback in the Hauptwerk app during offline bouncing shows the pedal actuating at a speed that reflects the speed of the engine. However, Hauptwerk models the enclosure response of the actual instrument such that when the pedal is changed rapidly, the enclosure shutters/volume lags the pedal's position. I suspect that this lag rate is not being adjusted when bouncing offline.

In this case, I am using Logic Pro X, but I have found the same problem in Reaper and Ableton.

macOS 10.14.2
Logic Pro X 10.4.4
Hauptwerk 4.2.1.003
MDA Skinner Master Works
mwdiers
Member
 
Posts: 28
Joined: Thu Oct 12, 2006 12:33 am

Re: [Bug] Expression timing wrong in DAW w/VST

Postby IainStinson » Mon Jan 14, 2019 9:26 am

I had not heard the term "bouncing" being used before in the context of audio recording. Others who may also not know what this is about might find the following from Wikipedia helpful.
Ping-pong recording (also called ping-ponging, bouncing tracks, or reduction mixing) is a method of sound recording. It involves combining multiple track stems into one, allowing more room for overdubbing when using tape recorders with a limited set of tracks. It is also used to simplify mixdowns.

The two most common methods consist of

Dubbing tracks between two tape recorders (or tracks on a multitrack recorder) connected through a mixing console
Dubbing tracks internally, through the onboard mixer of many machines, including Portastudios and similar multitrackers.
In both cases, a new instrument, voice, or other material may be added with each bounce, depending on the setup's mixing capabilities.

In analog recording, the audio quality normally decreases with each generation, while in digital recording, the quality is usually preserved. In either case, the most leeway comes with having the best possible source material.


Does "automating the expression pedal" mean using the DAW to programmatically operate the expression pedal?
User avatar
IainStinson
Member
 
Posts: 651
Joined: Tue Dec 29, 2009 7:08 pm
Location: NW England, UK

Re: [Bug] Expression timing wrong in DAW w/VST

Postby jkinkennon » Mon Jan 14, 2019 12:12 pm

The expression pedals would only follow a MIDI recording, and never an audio recording. Perhaps that is the confusion.
jkinkennon
Member
 
Posts: 1026
Joined: Thu May 07, 2009 10:43 am
Location: Vancouver, WA

Re: [Bug] Expression timing wrong in DAW w/VST

Postby mwdiers » Mon Jan 14, 2019 12:17 pm

IainStinson wrote:I had not heard the term "bouncing" being used before in the context of audio recording. Others who may also not know what this is about might find the following from Wikipedia helpful.

Does "automating the expression pedal" mean using the DAW to programmatically operate the expression pedal?


In this case "Bouncing" means converting a track, or even an entire session of multiple tracks, from MIDI/Instruments/Effects to Audio. In Logic Pro X, you "Bounce" an entire project to export it to a WAV file. But you could also "Bounce in place" which means the current tracks MIDI + Instruments (Hauptwerk in this case) is converted to an Audio clip in the DAW. In any case, the result of a bounce is the Audio that the MIDI + instrument produced.

"Automating the expression pedal" means that you have an automation curve in your MIDI track which tells Hauptwerk what the position of the Expression Pedal should be at any given time. So yes, you have it right.

When MIDI is bounced using a VST/AU software instrument, it can be done in one of two ways: Offline, or Realtime. Realtime is just like using Hauptwerk's built-in recorder. If the MIDI is 10 minutes long, it takes 10 minutes to record it.

Offline, on the other hand, tells the VST/AU instrument and any effects that you have added in the DAW (things like reverb and compression) to process the audio as fast as possible. When you do this with Hauptwerk, you can watch the console and see the music rapidly being played, changing registration, expression, etc. I can bounce a 10 minute Hauptwerk performance in about 1 minute, and the resulting audio file should be identical to what would have been recorded in real time.

But in this case it is not identical, because it seems that the modeled shutter lag (the delay from when the pedal is changed to when the shutters reach the correct position) is running in real time, when it should be running at the same rate as the rest of Hauptwerk engine which is going many times faster than real time.
mwdiers
Member
 
Posts: 28
Joined: Thu Oct 12, 2006 12:33 am

Re: [Bug] Expression timing wrong in DAW w/VST

Postby jkinkennon » Mon Jan 14, 2019 12:25 pm

Ah, I was not familiar with the MIDI/audio concurrent processing. So yes, this all makes sense. I'm sure that Hauptwerk controls shutter speed but can't recall exactly where I read that.

So when the offline bounce is played again in realtime is the expression pedal speed then normal again? Or is it permanently warped to a slower speed?
jkinkennon
Member
 
Posts: 1026
Joined: Thu May 07, 2009 10:43 am
Location: Vancouver, WA

Re: [Bug] Expression timing wrong in DAW w/VST

Postby jkinkennon » Mon Jan 14, 2019 12:45 pm

I would also add that it is not a bug for Hauptwerk to realistically model the response of swell shutters. I suspect that more subtle things like wind modelling would also be disturbed with this mode of recording.

EDIT: Also, HW would likely end up playing nothing but attack and release samples. The assumption that a program as complicated as HW can be operated "as fast as possible" is just not valid for a number of reasons. The MIDI should survive this exercise but the audio will be a disaster in my opinion.
jkinkennon
Member
 
Posts: 1026
Joined: Thu May 07, 2009 10:43 am
Location: Vancouver, WA

Re: [Bug] Expression timing wrong in DAW w/VST

Postby evertjan » Mon Jan 14, 2019 1:17 pm

In the ODF of Hauptwerk several delays can be defined:
- startup of the bellows
- swell pedal to shutters of the box (also see the CODM manual for EnableShutterInertiaModel)
- tremulant engaged / disengaged
- windmodel
All things have to do with the wind in an organ.

You have discovered the second mentioned item, but I don't think the others. But I think they are there.

I agree with John that Hauptwerk is not suitable for bouncing because the different models in the program for simulating an organ.
evertjan
Member
 
Posts: 188
Joined: Fri Dec 10, 2010 1:46 pm

Re: [Bug] Expression timing wrong in DAW w/VST

Postby adrianw » Tue Jan 15, 2019 9:49 am

Who knew that HW would even work in offline high-speed mode? I'm frankly surprised - I have played with VST but it never occurred to me that this might even be possible.

However, I suspect that other things might go wrong. Keyboard inertia delays modelled in sample sets (for example those of Inspired Acoustics), various wind model effects as mentioned above are all tied to real time. Some of these probably don't matter too much, especially if the wind model is disabled. But more worryingly, (since it would always noticeably affect the sound quality), the decision as to which release tail to play (long, medium, short) depends on the sample set provider's specified real-time note durations in milliseconds. If notes are played ten times as quickly, does this mean HW will always select short releases?

On the upside, I would be very interested to know whether offline mode allows sample sets to be "played" (offline) with "infinite" polyphony. Seems like it ought to be possible - since HW takes just as long as it needs to render each note, presumably this would allow it to run any amount of polyphony even if this slows rendering below real-time. And would a virtual memory HW be possible where the virtual memory hugely exceeded the available physical memory? Normally the delays inherent in swapping in and out preclude this, but if it is not running in real time, why not?
adrianw
Member
 
Posts: 120
Joined: Sun Dec 18, 2011 6:10 am
Location: Lincolnshire, UK

Re: [Bug] Expression timing wrong in DAW w/VST

Postby mwdiers » Tue Jan 15, 2019 10:46 am

To respond to the above: offline rendering and “as fast as possible” does not in any way affect things like attack/release times, multiple-loops, etc. All those things work just fine. Rendering offline does not mean that the notes are simply being struck faster. The entire Hauptwerk engine runs faster. As I said, aside from the missing expression, there is no audible difference between offline and realtime rendering. I suspect that wind modelling is also preserved, but I have no way to prove that.

And yes, offline rendering is often used to process a track that would be TOO CPU-intensive to process in real time. In that case it would take longer. I do not know if this means “infinite polyphony” in Hauptwerk. I’ve never tried to push it that hard.

Also: It is a bug, because it is part of the VST/AU spec that, all else being equal, realtime and offline rendering should achieve the same results.
mwdiers
Member
 
Posts: 28
Joined: Thu Oct 12, 2006 12:33 am


Return to General discussion

Who is online

Users browsing this forum: No registered users and 5 guests