1. IMPORTANT:
    We launched a new online community and this space is now closed. This community will be available as a read-only resources until further notice.
    JOIN US HERE

Convolution in true stereo (or how to swap channels)

Discussion in 'KONTAKT' started by ReinerS, May 17, 2007.

Thread Status:
Not open for further replies.
  1. ReinerS

    ReinerS New Member

    Messages:
    19
    Hi all,
    I am new to this forum, so just a few words about myself. I am developing virtual pipe organ sample sets mainly for the Hauptwerk software from Crumhorn-Labs and have just started to work on a Kontakt version of the Cavaille-Coll organ of the Madeleine in Paris. This library has been around for several years now in a Gigastudio version (by Peter Ewers). I am collaborating with him to make it available for Hauptwerk and Kontakt.

    Now to my problem:
    I would like to use true stereo convolution. As yoy may know, an impulse response gives the response of the room measured from a point source, so essentially, when you apply it to a stereo signal, you get the same result as running this stereo signal over a monophonic speaker in the room you have modeled. To get a true stereo response one actually needs two impulse responses, one from the point of a virtual left channel source and one from a virtual right channel source, so essentially you have four convolutions:
    L->L; L->R; R->L; R->R
    It appears to me that Kontakt only allows a model L->L and R->R, so I can apply one stereo convolution to one stereo signal.
    What I would need is a way to split up the stereo signal from my samples into separate left and right signals and run each of those through a stereo convolution. Or, alternatively, I could arrange the convolutions such that I would run the stereo signal through two different stereo convolutions, but I would need to swap the output channels on one of them before mixing.

    Any idea how this could be done?

    Thanks
    Reiner
    --
    www.pipeploops.com
     
  2. Moonchilde

    Moonchilde NI Product Owner

    Messages:
    77
    Actually, I'm pretty sure Kontakt loads stereo convolutions. You just don't see it as a stereo waveform.

    To do True Stereo, you only need 2 convolutions with the left IR on one and right IR on the other.

    Good luck on your project.
     
  3. ReinerS

    ReinerS New Member

    Messages:
    19
    Hi,
    thanks for your response. I know that Kontakt loads stereo impulses. But perhaps I have not explained the problem clearly enough.
    A normal stereo impulse contains the room response for a point sound source, i.e. you place a speaker in one position of the room and two microfones at your listening positions. Then you record the impulse for that setup. This impulse response is STEREO! But it is mono signal to stereo reverb. When you apply that impulse to a mono signal, the resulting reverb will appear as if it comes from the location of the speaker. Your standard convolver will apply one channel of the response to the left signal and one channel to the right signal. But this is not the physically correct way of doing it.
    Physically correct you need to:
    Have a speaker on the left side and one on the right side. Then for each speaker you need to record an impulse response separately, yielding TWO STEREO responses, one for the left input signal to both output channels, and one for the right. Actually, ideally for an organ you would need an impulse response for each individual pipe and use mono samples. But there is no way with current hardware to process that many convolutions in realtime (and it is not really possible to record all those impulse responses either). The next best thing you can do is what I am planning, have two impulse responses (both stereo) and feed one with the left channel signal ONLY and one with the right channel signal ONLY.

    So I post the question again:
    Can I separate a stereo signal into its channels and feed each into a different effect, or can I swap output channels of an effect somehow?

    Thanks
    Reiner
     
  4. Moonchilde

    Moonchilde NI Product Owner

    Messages:
    77
    Ok, I thought maybe i read that wrong but I wanted to wait for your reply.

    What you can do is set up the two convolutions using the AUX channels in your output tab. Put the left on 1 and the right on 2. Then, configure the ports of the aux channels to be just the left stereo channel for the left convolution and the right stereo channel for the right convolution. That should take care of your problem.

    Of course this means you will need to package in a convolution preset and instructions on how to set it up for your customers. You can't really do this on the FX level, at least not that I'm aware of.

    Although, if you want a quick work around, you could do this using groups. Make one group, call it left. Open the Mapping editor. Select all the samples and in the pan setting up above the zone view set it to 100% left. For this group, make a group level FX unit and load up the convolution. Load your left IR convolution and set it as you wish. Then, make a copy of the left group and rename it to right. Open your group level FX and edit the convolution setting to use the right IR convolution. Then, in the mapping view, make sure you have Group solo mode on, select all the zones, and pan them 100% right. You could even do this with the panning knob on the group level instead of on the zone level, but whatever works. I would personally use this method since you wouldn't have to rely on the user to do all the work of setting up the convolution FX. But they key here is loading the IR on the group FX level and not the instrument FX level.
     
  5. ReinerS

    ReinerS New Member

    Messages:
    19
    Hi,

    thanks again for the reply. I thought of the approach using groups also, and it appears it might be the only useable way. I wouldn't want to rely on users setting up things properly.
    The disadvantage I see:
    Wouldn't that double the CPU-load (since now I play every voice twice)?

    Any other way of achieving this that someone could think of?

    Thanks
    Reiner
     
  6. Moonchilde

    Moonchilde NI Product Owner

    Messages:
    77
    The samples are only loaded once so you really aren't putting extra load on the CPU. Polyphony really isn't an issue either. Think about how many samples are triggered on a crossfade instrument with 6 velocity layers. K2 handles just fine.

    However, just to be safe, you could split the audio data into L and R mono files.

    I can't think of anything else just because the K2 Convolution effect can't be split into left and right and you can't decide which channel is affected by it. When I get home later I'll have another look and will let you know.
     
Thread Status:
Not open for further replies.