JConv

Things that make the work with LinuxSampler & Co easier, better, faster, louder and more sexy. Including friends like JACK, ALSA, etc.
User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

JConv

Post by dahnielson » Sun Feb 17, 2008 3:32 pm

So I've been playing with Jconv since yesterday and it works wonders.

Download
JConv 0.2.0

Installation
As mentioned in the general "Reverb" topic, here's what you need to know to built it. The reason that the build fails is because jconv relies on a pre-release version of libsndfile that contain support for ambisonic file formats. The solution is to edit a single line in the Makefile so it looks like this:

Code: Select all

# Uncomment if you use a libsndfile version without support for setting/getting the Ambisonic flags.
CPPFLAGS += -DNOAMBIS=1
You might also want to change the prefix to /usr/local to keep a clean and tidy system.

Usage
JConv is really easy to use. However, it does not come with any fancy GUI, instead it's usually run at the command line with a single argument pointing to the configuration file.

The configuration file has a simple syntax. Here's a example for my Prosoniq/Medium Spaces/Stage IR line by line.

Code: Select all

/cd /home/anders/Studio/ir/prosoniq/medium_spaces/
This changes the directory (duh!) so that we don't have to repeat the whole absolute path further down.

Code: Select all

/convolver/new   2   2  256     204800
Now we're creating a new convolver with two input and two output channels, the partition is 256 samples (the same as my JACK period for zero latency) and the last number is the maximum amount of memory an impulse will use (I just use a default value far larger than most of my impulses).

Code: Select all

/impulse/read    1   1  4.0     0    0       0    1  stage.aiff
/impulse/read    2   2  4.0     0    0       0    2  stage.aiff
And finally load the impulses into each channel. The values are in order: input, output, gain, delay, offset, length and channel. So the above simply apply a stereo IR to a pair of channels. Delay and offset can be used to shave of samples to get rid of any direct sound and making a signal completely wet (but I have so far not experimented with it). The parameter I tend to fiddle with is the response gain, usually the convoluted signal is far to weak in mixes (see next section) why I have to crank it up a notch unless you're using JConv as a processor (sending the complete signal through it, i.e. an insert) then you want the gain to be less than 1.0.

Mixing
The way I use JConv (and any reverb for that matter) is as a send effect. Meaning that I create a dedicated buss (I'm working in Ardour) where I create a pre-fader insert hooked up to JConv via JACK. I then create a post-fader send on every channel that will contribute to the reverbation.

This standard setup makes everything quite controllable. The amount each channel will contribute to the reverbation is controlled by the send fader of each channel (since I cranked the gain up in JConv leaving it at 0dB will result in the reverb being louder than the original sound) and the amount the reverb will contribute to the total mix is controlled by the reverb buss fader.

Of course, if you're working with dry sampled orchestra instruments reverbation is just one piece of the puzzle. The other two are panning (left and right, but usually never more than 20 steps in either direction) and EQing (simulating the distance of an instrument from the microphone) but that's a whole other story...
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: JConv

Post by dahnielson » Sun Feb 17, 2008 5:40 pm

...after writing that I begun to play around with some of Fons Adriaensen's LADSPA plugins like the panners and realized that they replace all EQ and pan tricks.

What I'm going to experiment with is ambisonic mixing. Can it be any cooler than that? The first order panners output the signal in ambisonic B-format and then will be combined by the B-format to stereo decoder. And of course, I will set up an ambisonic reverb in the middle. :-)
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: JConv

Post by dahnielson » Sun Feb 17, 2008 11:28 pm

Maybe I got ahead of my self with the ambisonic as the one size fits all solution. The combination fader/eq/pan/reverb is still quite nice. :P
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: JConv

Post by Alex » Mon Feb 18, 2008 11:19 am

Anders,

Interesting comment about dry orchestral instruments. It's been my modest experience that three factors come into play when using and 'positioning' orchestral instruments.
The first is panning, but it's not first in the positioning conundrum.
I actually start with a simple delay. (two tracks of the same wave, one a few ms behind the other, at a lower volume. Both are mono, and i define these as the louder signal being the 'front' signal, and the other signal being the 'rear' signal.) That sets the metre distance away from a predefined listening position, approximately 10 metres 'behind' the central conductor's post, in the body of the hall. And because sampled strings behave a little different to live strings, the delay is often 'unrealistic' in defined distance. What i mean by this is the tone of strings, being quite different to tonal characteristics of Woodwinds, or Brass, appear in normally defined delay distance to be behind the overall orchestral aural image. This presents an ongoing challenge in positioning, and again, in my modest experience, requires a good deal of dumping visual perceptions, and going with the ears, so to speak. We see orchestral strings at being at the front of the orchestra, but in terms of samples, and delay, we hear them quite differently. In normal circumstances, with generic delays, or IRs, strings sound in an incorrect fashion, hence my returing to a simple recording technique, ergo, manual delay.

The next step is panning, and i often 'ride' the pan of the rear signal delay, once the front delay signal is postioned, to not only strengthen the aural position of the instrument, but also create a little width. If the rear signal is perceived as being half a metre either side of the front signal position, then this gives width to a mono signal, without the angst of trying to compress, or narrow a stereo signal.

The third step is mike bleed, and i continue to experiment with this even to this day. When we hear an orchestra live, there is extensive aural bleed between instruments and sections, particularly in full orchestrations. But when we record, there is an urge to minimise this bleed, usually with an intent to work on a particular instrument recording with out the complication of added aural bleed from something else.
It continues to be my opinion that doing this...'removes' something essential from a recording, and highlights the 'unreality' of sample recordings.
So, i've been building templates to at least partially, reintroduce a more natural element to recording, by bleeding a little of instruments into those around them to varying degrees. (based on experimentation.) For example, and i'll express this in percentages, if i have a flute recording, i will bleed approximately 25% of the flute signal into the oboes, usually sitting alongside. And on the other side, i will bleed approximately 15% of the signal into the 3rd trumpet. (I have my flutes and oboes to the rear of the clarinets and bassoons in my normal orchestral setup. This gives the flutes and oboes a slightly more 'ethereal' sound, and reduces the strong tonal influence the flutes, and particularly oboes, have when adjacent to the violas and cellos.) And further, if i want a particularly 'mystical' flute sound, i bleed lesser degrees of percentage into instruments sitting one removed from those adjacent to the flute. so the English Horn, for example, will get approx. 5% of the flute signal, and the second trumpets the same. This might seem complicated, but i made it easier by drawing a picture of a full orchestra, then carefully drawing circles around each instrument in degrees. So the flute has two 'rings' of varying percentages, and i take careful note of where these rings intersect other instruments, and adjust the bleed accordingly.
I would stress here, that i do this AFTER i've made all adjustments to the recording, including any automation. It would be too complicated to try and balance these three degrees at once. (And there may be a clue here for those building Daws, to including some sort of 'automated' recording component that positions instruments and bleed. Perhaps a GUI of a user defined ensemble setup, with 'sizable' circles around each instrument, that automatically, by percentage, introduce bleed to varying, user defined, degrees.)

This seems a lot of work, and it is, but with practise, and the building of GOOD templates, the process can be automated to at least a certain degree.
I've also had some interesting discussions about this approach with good audio engineers, who by nature of their craft find the idea of deliberate 'mike bleed', an anethema to everything they've learnt. But they've also failed to convince me that this experiment is of no use, and with continued experimentation, i continue to be confident that something will come of this, even if it's the birth of a unique 'Alex" sound, hehe.
Again i stress here that most of my recording is mono, and that helps make the delay and positioning technique easier to handle.

So what about strings, who stretch across a stage?
I have 3 and sometimes 4 mono recordings, each of them recorded a little differently (for the sake of 'human' playing) for each violin section, including at least one solo violin. (for a more 'live' capture of starts and finishes in phrases. sometimes my solo player hangs on a note just a fraction longer, or comes in a fraction early, and he does this from different positions within a section throughout a piece, so these 'human' moments don't all come from the same player and position.)
Add to this the mike bleed method, and we can quickly build up a section which sounds more realistic, and without the whole section layering that occurs when you record one full string section over the top of another. 14 players in a section remain 14 in aural perception, and are not doubled or tripled in numbers.

All these tips are just my opinion, and should be treated as such. As i wrote, there are those who see this as...bad recording practise, so i urge some careful reflection about which direction a user would wish to take, or importantly, what degree of 'live' a user wants to put into a piece or work..

i write all this because it's my belief, based on what i've written, that we have a need for a good convolution plugin or programme,that offers the added component of a positional relationship for instruments, and the bleed interaction to surrounding instruments, by user defined degree. Just by nature of this setup, we'd need a fairly extensive GUI that presented an easily identifiable 'picture of where our sound is going, with realtime adjustment.

I continue to live in hope!
Alex.
8-)

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: JConv

Post by dahnielson » Tue Feb 19, 2008 9:53 pm

Yes, the first point that nobody can stress hard enough is: trust your ears. :D

I've also been experimenting with delays lately. Because I've just moved my home studio from a modest 12-track recording with hardware sampler to have as many tracks as you like, delays on single tracks are a quite new possibility to play with. So until now it's been pan-pan-pan (any pilots here to enjoy the lame joke?)*.

Your ideas about microphone bleed are interesting. And when it comes to sound, all that matters what the end product sounds like. Not how it was archived (ok, killing small cute furry kittens just to get that groovy and screechy sound might be a matter of discussion).

The theory behind localization of sound is quite interesting because we are quite good at it when the source is familiar and in front of us, while we otherwise suck at it and can easily be fooled (which is actually a good thing when it comes to mixing).

Tried to find a quite interesting article about the development of various stereo systems (that pitted Americans against British inventors) I read some time ago. But I could not find it, instead I found this textbook text on the topic. Let's Get Somewhat Smart and enter the Cone of Confusion**:
Localization of real sources

As you walk around the world, you are able to localize sound sources with a reasonable degree of accuracy. This basically means that if your eyes are closed and something out there makes a sound, you can point at it. If you try this exercise, you'll also find that your accuracy is highly dependent on the location of the source. We are much better at detecting the horizontal angle of a sound source than its vertical angle. We are also much better at discriminating angles of sound sources in the front than at the sides of our head. This is because we are mainly relying on two basic attributes of the sound reaching our ears. These are called the interaural time of arrival difference (ITD's) and the interaural amplitude difference (IAD's).

When a sound source is located directly in front of you, the sound arrives at your two ears at the same time and at the same level. If the source moves to the right, then the sound arrives at your right ear earlier (ITD) and louder (IAD) than it does in your left ear. This is due to the fact that your left ear is farther away from the sound source and that your head gets in the way and shadows the sound on your left side.

Interchannel Differences

Panning techniques rely on these same two differences to produce the simulation of sources located between the loudspeakers at predictable locations. If we send a signal to just one loudspeaker in a two-channel system, then the signal will appear to come from the loudspeaker. If the signal is produced by both loudspeakers at the same level and the same time, then the apparent location of the sound source is at a point directly in front of the listener, halfway between the two loudspeakers. Since there is no loudspeaker at that location, we call the effect a phantom image.

The exact location of a phantom image is determined by the relationship of the sound produced by the two loudspeakers. In order to move the image to the left of centre, we can either make the left channel louder, earlier, or simultaneously louder and earlier than the right channel. This system uses essentially the same characteristics as our natural localization system, however, now, we are talking about interchannel time differences and interchannel amplitude differences.

Almost every pan knob on almost every mixing console in the world is used to control the interchannel amplitude difference between the output channels of the mixer. In essence, when you turn the pan knob to the left, you make the left channel louder and the right channel quieter, and therefore the phantom image appears to move to the left. There are some digital consoles now being made which also change the interchannel time differences in their panning algorithms, however, these are still very rare.
Precedence Effect

Stand about 10 m from a large flat wall outdoors and clap your hands. You should hear an echo. It'll be pretty close behind the clap (in fact it ought to be about 60 ms behind the clap...) but it's late enough that you can hear it. Now, go closer to the wall, and keep clapping as you go. How close will you be when you can no longer hear a distinct echo? (not one that goes ``echo........echo'' but one that at least appears to have a sound coming from the wall which is separate from the one at your hands...)

It turns out that you'll be about 5 m away. You see, there is this small time window of about 30 ms or so where, if the echo is outside the window, you hear it as a distinct sound all to itself; if the echo is within the window, you hear it as a component of the direct sound.

It also turns out that you have a predisposition to hear the direction of the combined sound as originating near the earlier of the two sounds when they're less than 30 ms apart.

This localization tendancy is called the precedence effect or the Haas effect or the law of the first wavefront [Blauert, 1997].

Okay, okay so I've oversimplified a bit. Let's be a little more specific. The actual time window is dependent on the signal. For very transient sounds, the window is much shorter than for sustained sounds. For example, you're more likely to hear a distinct echo of a xylophone than a quacking duck. (And, in case you're wondering, a duck's quack does echo [Cox, 2003]...) So the upper limit of the Haas window is between 5 ms and 40 ms, depending on the signal.

When the reflection is within the Haas window, you tend to hear the location of the sound source as being in the direction of the first sound that arrives. In fact, this is why the effect is called the precedence effect, because the preceding sound is perceived as the important one. This is only true if the reflection is not much louder than the direct sound. If the reflection is more than about 10 - 15 dB louder than the direct sound, then you will perceive the sound as coming from the direction of the reflection instead [Moore, 1989]

Also, if the delay time is very short (less than about 1 ms), then you will perceive the reflection as having a timbral effect known as a comb filter (explained in Section 3.2.4). Also, if the two sounds arrive within 1 ms of each other, you will confuse the location of the sound source and think that it's somewhere between the direction of the direct sound and the reflection (a phenomenon known as summing localization) [Blauert, 1997]. This is basically how stereo panning works.
Distance Perception

Go outdoors, close your eyes and stand there and listen for a while. Pay attention to how far away things sound and try not to be distracted by how far away you know that they are. Chances are that you'll start noticing that everything sounds really close. You can tell what direction things are coming from, but you won't really know how far away they are. This is because you probably aren't getting enough information to tell you the distance to the sound source. So, the question becomes, ``what are the cues that you need to determine the distance to the sound source?''

Reflection patterns

One of the most important cues that you get when it comes to determining the distance to a sound source lies in the pattern of reflections that arrive after the direct sound. Both the level and time of arrival relationships between these reflections and the direct sound tell you not only how far away the sound source is, but where it is located relative to walls around you, and how big the room is.

Go to an anechoic chamber (or a frozen pond with snow on it...). Take a couple of speakers and put them directly in front of you, aimed at your head with one about 2 m away and the other 4 m distant. Then, make the two speakers the same apparent level at your listening position using the amplifier gains. If you switch back and forth between the two speakers you will not be able to tell which is which - this is because the lack of reflections in the anechoic chamber rob you of your only cues that give you this information.

Direct-to-reverberant ratio

Anyone who has used a digital reverberation unit knows that the way to make things sound farther away in the mix is to increase the level of the reverb relative to the dry sound. This is essentially creating the same effect we have in real life. We've seen earlier that, as you get farther and farther away from a sound source in a room, the direct sound gets quieter and quieter, but the energy from the room's reflections - the reverberation - stays the same. Therefore the direct-to-reverberant level ratio gets smaller and smaller.

Sound pressure level

If you know how loud the sound source is normally, then you can tell how far away it is based on how loud it is. This is particularly true of sound sources with which we are very familiar like human speech, for example.

Of course, if you have never heard the sound before, or if you really don't know how loud it is (like the sound of thunder, for example) then the sound's loudness won't help you tell how far away it is.

High-frequency content

As we saw in Section 3.2.3, air has a tendency to absorb high-frequency information. Over short distances, this absorption is minimal, and therefore not detectable by humans. However, over long distances, the absorption becomes significant enough for us to hear the difference. Of course, we are again assuming that we are familiar with the sound source. If you don't know the normal frequency balance of the sound, then you won't know that the high end has been rolled off due to distance.
And from SOS February 1996:
AN EAR TO THE GROUND

My contention is that EQ isn't so much about tone as it is about psychoacoustics -- the way various nuances of sound affect our perception of the world around us. And, like so many areas of psychology, the root of psychoacoustics undoubtedly date back to the days when survival was more important than setting up a really hot mix. Nature has its own, built-in EQ system in the form of distance. Low frequencies propagate slightly faster than high frequencies, so the further away the sound source is, the greater the time lag between the fundamental pitch of a sound and its higher harmonics. This doesn't in itself change the spectral content of the sound, but the change in phase relationships of the various harmonics does cause us to perceive the sound as being more distant -- and in terms of survival, less demanding of immediate attention.

The other thing that happens when a sound has to travel a long way is that the high frequencies are absorbed by frictional losses within the air itself, and the higher the frequency, the greater the absorption. This does affect the spectral content of the sound, and the further away it is, the less bright it appears to be. Again, 'less bright' equates to 'more distant,' especially when closer sounds are being registered at the same time. In real life, this would make us take less notice of the howling wolves in the distant forest than the sabre-toothed tiger dribbling at our feet! Putting it concisely, naturally created EQ is a way of making us pay attention.
And SOS August 2001:
Loudness & Distance

Many musicians don't realise that equalisation can also affect the apparent loudness of an audio signal, especially when you're EQ'ing submixes and complete mixes. This is because the frequency response of the human hearing system changes depending on the overall level of sound reaching the ear. Take a look at the graph in Figure 2, which shows curves of equal loudness on a graph of sound intensity (in dBSPL) against frequency (in Hz). The plots show that, for example, a 1kHz tone at 100dBSPL will be heard as being subjectively as loud as a 100Hz tone at about 103dBSPL, while a 1kHz tone at 50dBSPL will be heard as being subjectively as loud as a 100Hz tone at 60dBSPL. The lowest points of each curve are where the hearing system is most sensitive, and you can see that our ears are noticeably more sensitive to mid-range sounds than to frequencies at the extreme high and low ends of the spectrum, though we don't actually notice this because the brain compensates for it.

The important thing about the curves of equal loudness is that they show that the hearing system's frequency response changes with intensity. On a general level, this means that it's important to monitor at a realistic volume when applying EQ, because the perceived effect may be quite different at higher or lower listening levels. However, the fact that the ear gets more sensitive to high and low frequencies the higher the intensity of the sound, means that the brain tends to interpret any sound which is comparatively rich in these frequencies as loud. Therefore, if you want music to sound louder at low listening levels, then it makes sense to boost at the extremes of the frequency range -- exactly what the Loudness switch on some hi-fi systems is designed to do. This is the reason why you so often see graphic equalisers in playback systems set up in a 'smile' curve -- with a dip in the mid-range and a little boost at the frequency extremes. However, if you're going to use this type of overall EQ, it's best to leave it to the mastering stage, and then to add only a couple of decibels at most.

Another psychoacoustic effect which can be manipulated with EQ is the perception of distance. This is because the air damps high-frequency sounds more than low-frequency ones. If a sound source is very close, this effect is negligible. However, the further a sound has to travel through the air, the more the high frequencies are damped. Therefore, if you roll off a little high end from a sound, it seems further away. This technique is often used to bring a lead vocal to the front of a mix otherwise dominated by backing vocals, for example. The backing vocals are cut a little above 10kHz or so, while the lead vocal is given more energy above this frequency.
* February 19, official bad pun day.
** Ibid.
Last edited by dahnielson on Tue Sep 02, 2008 8:21 pm, edited 1 time in total.
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: JConv

Post by dahnielson » Wed Feb 20, 2008 6:42 pm

BTW, I'm just reading the Aella paper and it looks like it's going to be smashing when released. Both JConv and Aella are based on the Zita convolution engine.
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: JConv

Post by dahnielson » Thu Feb 21, 2008 12:14 am

Found the article I was thinking about, it was older than I thought, over ten years ago, but a good musing in the development of stereo techniques over the years:

Part 1, SOS Mars 1997
Part 2, SOS February 1997
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

User avatar
dahnielson
Moderator
Posts: 632
Joined: Wed Jan 23, 2008 11:25 pm
Location: Linköping / Tranås, Sweden
Contact:

Re: JConv

Post by dahnielson » Fri Feb 29, 2008 9:18 pm

In the spirit of completeness I shall now quote the above mentioned "Aella" paper:
If reverb is added as an effect then everything that ‘sounds right’ can be used. If on the other hand the object is to recreate a real acoustical space or to create a virtual one, then we need to observe how a natural reverb is built up, and how it is perceived by our hearing mechanisms.

Imagine you are in a concert hall listening to some instrument being played on stage. Provided the sound source is not hidden, the first thing you hear is the direct sound (DS). This will be followed after some milliseconds by the first reflections from the walls and ceiling. The sound will continue to bounce around the room and a complex pattern of reflections will build up, with increasing density and decreasing amplitude. This is shown in fig.1. Traditionally a reverb pattern is divided into an initial period of early reflections (ER) lasting approximately 50 to 80 ms, and a reverb tail (RT) that shows a quadratic increase in density and decays exponentially. From an acoustical point of view there is no clear border between the two regimes — the distinction is the result of psychoacoustic effects.

The early reflections, while being discrete, are not heard as a separate sound, rather they ‘merge’ with the direct sound. They provide our hearing mechanisms with important clues as to the direction and distance of the sound source, and the size and nature of the acoustical environment. The pattern of ER can either reinforce or contradict the results of other mechanisms used by our brain to detect the location of a sound source. For this reason it is important, when recreating an acoustical space, that the ER are consistent with the positioning of sound sources. For a traditional setting with musicians on a stage in front of the audience, at least three (left, centre, right) and preferably more sets of ER should be available to achieve a convincing result. More would be necessary in case the sound sources are all around the listeners.

In concert halls used for classical music, the lateral early reflections (from the side walls) seem to play an important part in how the ‘acoustics’ are appreciated by the listeners. This is often said to explain why ‘shoe-box’ concert halls such as the ones at the Amsterdam Concertgebouw or the Musikverein in Vienna are preferred over ‘auditorium’ shaped ones.

Early reflections very close to the direct sound (less than a few milliseconds) will often result in a ‘comb filter’ effect, and should be avoided. Discrete reflections that are too far behind the DS or too loud will be heard as a separate ‘echo’. These echos occur in many acoustical spaces but not in a good concert hall.

In contrast to the ER, the reverb tail is clearly perceived as a separate sound. A natural reverb tail corresponds to a ‘diffuse’ sound field with no clear source direction. This doesn’t mean that it has no spacial distribution — it has, and this should be reproduced correctly. Of course, the reverb tail will be different for each source (and listener) position, but in general we can not hear this difference — for the RT, only its statistical properties seem to matter. As a result, provided the early reflections are correct, it is possible to use a single reverb tail for all sources.

In most rooms, the RT will show an exponential decay over most of the time. This is not always the case: some spaces with more complex shapes and subspaces (e.g. churches) can produce a significantly different pattern.
Adriaensen, Fons, "Design of a Convolution Engine optimised for Reverb", LAC 2006.
Last edited by dahnielson on Wed Mar 19, 2008 3:43 am, edited 1 time in total.
Anders Dahnielson

Ardour2, Qtractor, Linuxsampler, M-AUDIO Delta 1010, Axiom 61, Korg D12, AKAI S2000, E-MU Proteus 2k, Roland R-5, Roland HP 1300e, Zoom RFX-1000, 4GB RAM x86_64 Intel Pentium Dual 1.80GHz Gentoo Linux

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: JConv

Post by Alex » Tue Mar 11, 2008 2:38 pm

Anders,
I had the good fortune to tune into LAC2008 online this year, and learnt a lot, although much of it went over my poor, parchment driven, brain.
There were two lectures that i saw related directly to positional convolution, and it was interesting to hear Fons asking really specific questions on the theories and examples presented.
My mike bleed scenario is, in reality, a poor and clumsy representation of this, but, a step forward from 'pan and delay, pan and delay.' (Your pilot joke right back at you! :mrgreen: )

VSL have had a positional complete solution project on the go for some time, called MIR. And the demo is almost directly related to this discussion, and others concerning positional sound.

I've also been trying to expand on my clumsy mike bleed experiment, with the introduction of slight variables for 'human' simulation, but discovered that for a string quartet playing simple phrases, i was spending on average, about an hour a bar of music. This may come down with practise, but logistically, the time and crafting needed to do this to half an hour's worth of full orchestral work makes it pretty well unviable as a regular part of a workflow. Hence, the desire for a '3d' convolution solution that takes into acount reflected and instrument harmonic interaction variables, as well as our bog standard delay and pan controls. There's definitely a place for this in the linux market, and could be ground breaking, as VSL are still waiting for HW to catch up based on MIR/WinOS requirements (No doubt a commercial decision based on the majority of their customers being Win users. Poor lost souls that they are.) It's a CPU chewer of monumental proportions, and a linux version based on synthesis, in an attempt to reduce the CPU hit, would be, well, unique. (I draw this hypothesis from my recent experience with the Aeolus organ synthesizer that Fons built. It chews almost nothing in resource, and is, in short, magnificent.)

Interesting times, and who knows? Perhaps Fons, and the many other craftsmen, who have devoted large amounts of research to this particular aspect of Audio Production will take this step, in time.

Alex.

Alex
Moderator
Posts: 316
Joined: Wed Jan 23, 2008 9:08 pm

Re: JConv

Post by Alex » Fri Mar 21, 2008 2:45 pm

Ok, i finally got jconv running sweetly with a dozen conf files set up with my favourite irs. (I use slightly different files for sections in the orchestra.)
And it seems i'm doing no harm opening multiple instances either. They all seem to work ok. (I'm experimenting with 4 at the moment.)
So, given i'm using an entire orchestral template, i have a couple of questions.
How do you chaps handle wet/dry mix? I've read up and noted Anders method of a dedicated buss, which works for me too, but i'll need more than one of them, so i guess i need to multiply out the instances. Any other options, or a dedicated linux programme that will handle this would be useful.

I've also gone back to the start, and am rebuilding a qjackctl template to handle all the routing. (A slow and time consuming, but neccessary task.)
I'm also using Ardour pretty well full time now, as Reaper seems to have gone a bit linux south with the latest build, and to be honest, i'm having a good time using a now stable ardour with LS in an old fashioned sampler and recorder setup. Native linux is definitely easier to use and less stress on the box. (imho) In addition, i can switch midimapped gig files a lot quicker than scrolling and swapping around in a sequencer, so in reference to another post i made, a port switcher would be highly useful not only as a standalone programme, but possibly built into LS itself. I ask the team to consider this for the future, as i think it would be a powerful addition to the LS legend. :mrgreen:
(Jack and Alsa MidiPorts on a strip that can be switched with qwerty or midicc shortcuts. No need for a midi sequencer at all, in this scenario.)

So, i'll now need to build a 'startup' script that loads jack, LS, Jconv x 4, and Ardour. I can script most of it myself, but how do i script jconv so it will auto start along with the rest? (I've got these IR.confs in a dedicated folder, but how do i point jconv to that folder, and get it to start up?)

I will add here, that the combination of a Fantasia update, and my cleaning out the old java5 stuff has made a big difference to fantasia stability, and has greatly increased startup speed, and stability.

Alex.

p.s. I'd also like to add my approval to Ander's own warm comments for Jconv. It plays my irs perfectly, each time, without hiccups, and doesn't chew a lot of cpu in the process. A fine addition to the armoury, and thanks go to Fons for giving me the chance to use this programme in the compositional toolbox.

Post Reply