In my linux pc-based dsp system for crossover and EQ of active loudspeakers, I use a pc to send 6 channels of processed audio over hdmi, with an Atlona AT-HD570 to convert all channels to analog before amplification. Recently I discovered that this setup can distort badly at moderately high signal levels, in a way that produces large transient subsonic signals which, when amplified, could permanently damage loudspeaker drivers. My measurements point to a flaw in the HD570.
I want to use my LX521 loudspeakers to amplify live instruments (especially digital piano) but have run into a problem. The piano has high dynamic range, with attack transients that take up lots of headroom. While the ATI6012 amplifier can achieve high sound levels on studio-mastered material, it can’t keep up with the transients in the sample library on my piano. Achieving realistic sound levels means pushing the amplifier into clipping.
But because the piano’s attack transient has an asymmetrical waveform, when the amp clips it does so asymmetrically. This generates a DC signal that pushes the driver into over-excursion. Although some clipping distortion might be acceptable on its own, over-excursion makes some truly objectionable noise.
Following up on an earlier post, I’ve been investigating why digital pianos sound so bad in stereo. I did a spectral analysis on the outputs of my Yamaha CP50 stage piano. The results confirm what I and others have been hearing: because of how they are sampled, stereo pianos don’t reproduce well except in headphones.
Musicians often complain that their digital piano sounds good through headphones but terrible through an amp/PA, describing their live piano sound as “thin”, “nasal” or “boxy”. This can be frustrating and musically uninspiring. Because the piano sounds good through ‘phones, people naturally blame their amp/speakers and seek a solution there.
It would be fun to ski the whole nordic trail network in a single day. Too lazy to plot a good route by hand, I wrote a computer program to do it. I used the program to find several routes that traverse the entire trail network in under 43km — see below (click the image for a larger version).
I keep being interested in allpass filters. An allpass changes a signal’s phase only, leaving the magnitude spectrum untouched. This article is about a 2nd-order allpass design I’ve been working on for phase alignment of crossovers in active loudspeakers.
Ecasound is an incredibly versatile audio processing tool but it doesn’t have dither. I wish it did.
I just posted version 0.0.4 of my LADSPA plugins for doing crossover/equalization of active loudspeakers. Just a couple of changes to note:
- First-order low- and high-pass filters are now available.
- The build system has been moved to cmake; hopefully this makes it easier to build the plugins on other platforms. Also some code cleanup and restructuring. (All thanks to Florian Franzmann.)
There’s no need to upgrade if these changes don’t affect you.
At some point the LADSPA API will become deprecated and my plugins will have to be migrated to LV2. Any volunteers?
Several people have asked for the code that I used in a previous post to calculate and plot first-reflection delay times as a function of listener- and loudspeaker-placement. So here it is.
Running the script below will produce pdf or postscript graphics output that looks like this:
I couldn’t find a computer program I liked for doing ABX tests and so ended up writing my own. The full program listing (in the R language) is given below in case someone finds it useful. Continue reading