Yet another floor to ceiling line array (25x Aurasound NS3)

Hi,
here I'm documenting my my current line array build. I'm mostly done with the wood working and have set up a basic DSP. A Raspberry Pi Zero running Funtoo Linux (a Gentoo derivative) + BruteFIR. Why not Raspbian? In my experience Gentoo based distros run faster than Debian ones (obviously useful on slow devices) since your system is tailored exactly to the hardware. But that discussion is fuel for endless flame wars, so I stop here. 😀

Back to the topic. The Pi is connected to a CM6206 based USB interface (8 analog 16 bit / 48 kHz outputs, two inputs. Plus Toslink in and out). Filter coefficients are created via DRC Designer on my measurement laptop running Windows 10 (I'm planning to do the filter creation directly via DRC-FIR on the RPi to simplify things and get rid of Windows).

Just a few hours ago I've finished the BruteFIR configuration. I'm getting music out and the CPU load is on a moderate level (~63%), no clicks and pops but it sounds awful, like a 64 kBit MP3 or worse, no highs. I'm getting better sound by only using the built-in 10 band EQ from my media player. I'm awaiting another USB sound card to be delivered in a few days so I can measure what's being wrong exactly.

I think I'm going to correct the low frequency roll off via a Linkwitz transform circuit straight down to 20 Hz (Yes, that's a ton of gain, fc is around 140 Hz. Small sealed enclosures need a lot of power, total enclosure volume per driver is 0.75 l...) and do the 3 dB/oct high frequency fall off compensation via analog circuity too and leave the fine adjustments to DRC-FIR.

Here's my current BruteFIR config, if someone is interested, two channels, one way. I had to convert the stereo .wav from DRC Designer to two mono raw files via the tool sox to be accepted by BruteFIR.

Code:
## GENERAL SETTINGS ##
filter_length: 65536;

## COEFFS ##

coeff "left" {
	filename: "left.raw";
	format: "S16_LE";     # file format
};

coeff "right" {
        filename: "right.raw";
        format: "S16_LE";     # file format
};

## INPUT ##

input "left", "right" {
	device: "alsa" { device: "hw:0";};  # module and parameters to get audio
	sample: "S16_LE";   # sample format
	channels: 2/0,1;    # number of open channels / which to use
	delay: 0,0;         # delay in samples for each channel
	maxdelay: -1;       # max delay for variable delays
	subdelay: 0,0;      # subsample delay in 1/100th sample for each channel
	mute: false,false;  # mute active on startup for each channel
};

## OUTPUT ##

output "left", "right" {
	device: "alsa" { device: "hw:0";};  # module and parameters to put audio
	sample: "S16_LE";   # sample format
	channels: 2/0,1;    # number of open channels / which to use
	delay: 0,0;         # delay in samples for each channel
	maxdelay: -1;       # max delay for variable delays
	subdelay: 0,0;      # subsample delay in 1/100th sample for each channel
	mute: false,false;  # mute active on startup for each channel
	dither: false;      # apply dither
};

## FILTERS ##

filter "left" {
	from_inputs: "left"/0.5;
	to_outputs: "left"/0;
	coeff: "left";
};

filter "right" {
        from_inputs: "right"/0.5;
        to_outputs: "right"/0;
        coeff: "right";
};

I've started the build on Oct 26. Here are some pictures:

1 - First baffle chamfered on the back side
2 - Preparing the second baffle
3 - Both baffles done
4 - Cut outs on the first baffle done
5 - Driver fits 😀
6 - Cutting out the second baffle
7 - Both baffles done
8 - Preparing internal cabling. Five drivers in series, five groups parallel for 8 ohms impedance or all in series (200 ohms) for OTL experiments (I have lots of 6P45S sweep tubes to be used and enough power transformers for circlotron amps)
9 - Hooked up some cheap chinese 30W Class D chip amps for testing purposes
10 - Drilling 200 holes... 😕

More pictures in the following posts.
 

Attachments

  • 1.jpg
    1.jpg
    136.5 KB · Views: 186
  • 10.jpg
    10.jpg
    100.5 KB · Views: 117
  • 9.jpg
    9.jpg
    86.2 KB · Views: 92
  • 8.jpg
    8.jpg
    157 KB · Views: 113
  • 7.jpg
    7.jpg
    131.7 KB · Views: 108
  • 6.jpg
    6.jpg
    145.3 KB · Views: 111
  • 5.jpg
    5.jpg
    101.3 KB · Views: 190
  • 4.jpg
    4.jpg
    131.4 KB · Views: 176
  • 3.jpg
    3.jpg
    134.8 KB · Views: 173
  • 2.jpg
    2.jpg
    170.4 KB · Views: 179
I've got my second USB interface so I can do measurements of the filtered system now. I'll do that tomorrow (it's 10 pm here and I don't want to annoy the neighbors with sine sweeps...).

You want to see something ugly? 😀 I've got the in room response for you without any EQ!

Left:

attachment.php


Right:

attachment.php


Lot's of EQ needed, but that's expected. The low end will be Linkwitz transformed. (drivers are able to dissipate 500 Wrms / 1000W peak, to reach the xmax of +-4.75mm I need that power) Sensitivity in the highs seem to drop to that of a single driver, well that's expected with point sources in an array at short wavelengths. But fortunately Le is pretty high. Z is about 55-60 ohm @ 20 kHz, so I only need lots of voltage swing, current is low (I have two IRS2092 boards rated at 300W / 8 ohm, 600W / 4 ohm, even capable to go down to 2 ohm) I consider getting another two and bridge them if I like the sound.

Also there are four 625 VA / 2x 50 VAC toroids waiting, so I should be able to get something like 1 kW continuous with 1.2 kW peaks out (continuous power limited by the transformers and I probably need to upgrade the heatsinks, they look like they can dissipate 10W or so, but I have an idea for that). Right now I only need to make a PSU board and a phase splitter for BTL operation.

More pictures...

Drivers fit:

attachment.php


Or not. I've done the calculations in my head and messed up the internal height, so I had to improvise:

attachment.php


I'm using drive-in nuts for mounting the stand:

attachment.php


Stuffed the first cabinet (too much, raised fc to 160 Hz):

attachment.php


Put the side wall on to test how much the stuffing affects the impedance curve:

attachment.php


Measurment laptop + half stuffed enclosures (I've kept it that way):

attachment.php


Gluing the first cabinet:

attachment.php


Finished gluing:

attachment.php


More pictures in the next post.
 

Attachments

  • 17.jpeg
    17.jpeg
    195.3 KB · Views: 233
  • 16.jpeg
    16.jpeg
    194 KB · Views: 235
  • 15.jpeg
    15.jpeg
    176.6 KB · Views: 237
  • 14.jpeg
    14.jpeg
    166.5 KB · Views: 225
  • 13.jpeg
    13.jpeg
    99.2 KB · Views: 221
  • 12.jpg
    12.jpg
    97.3 KB · Views: 241
  • 11.jpg
    11.jpg
    108.4 KB · Views: 240
  • right.png
    right.png
    21 KB · Views: 238
  • left.png
    left.png
    23 KB · Views: 236
  • 18.jpeg
    18.jpeg
    161.3 KB · Views: 227
I like it too now, especially after tweaking the DRC-Designer parameters. 😀 (some are really sensitive, like the mid and high frequency correction strength which causes nasty ringing if overdone).

Here's the target response (note: I don't have a calibration file for my mic right now. So the curve likely changes once I have it calibrated):

attachment.php


I cut off everything below 40 Hz and somewhere above 15 kHz (the frequency scale in DRC-Designer isn't logarithmic and I can't really make sense of the values above 5 kHz, I need to measure the corrected system sometime...) to prevent excessive correction and subsequent amp clipping (sensitivity from a sealed enclosure with 18.75 liters is really low down there. I'm running 30W / 8 ohm amplifiers now, I'll order PSU parts for 300W / 8 ohm boards next week).

And the filter parameters:

attachment.php


As stated above, I easily hear nasty artifacts, especially out of the sweet spot if I overdo the mid-/high correction.

At my listening distance, I can't really make out comb filtering. Neither there are amp issues, these boards are really good especially for less than 2 EUR / piece (here: DC 8-26V TPA3110 PBTL Mono Digital Amplifier Board AMP Module 1*30W for Arduino | eBay), running on a 24 V / 150W Meanwell SMPS. I have eight amp boards in total, I might be getting more of these for subwoofer application (for lots of small drivers). I'm considering testing a crude DBA approximation with some cheap surplus drivers first (my listening room is asymmetrical, like a L so I'd need at least three channels with individual delays to cancel out the back wave).

Here are the remaining pictures from the build process:

First array assembled:

attachment.php


Second array getting glued:

attachment.php


Preliminary placement in my room (excuse the clutter... 😀). I consider removing the stand, moving them completely into the corner and treating the first reflections with absorption panels, as much as it's possible. The old, disconnected floorstanders might have some use later. If I place a large AMT like the Dayton AMT Pro 4 on top of them, I get it exactly to ear level, since I have a currently unused pair of them to test it...

attachment.php


As much as floor-to-ceiling as it gets:

attachment.php


And placed into the corners as much as feasible:

attachment.php