corinfinite / brp-pacu

An audio analysis tool to configure any sound system with an equalizer. It compares the output of the system to the input of the system and allows you to use this data to perform final equalization by matching the results with actual DSP/EQ.
GNU Lesser General Public License v3.0
13 stars 4 forks source link

Made brp-pacu compatible with fftw3 #17

Closed fhaust closed 7 years ago

fhaust commented 7 years ago

Not much to be said here ... replaced the relevant fftw2 calls with their respective fftw3 calls.

corinfinite commented 7 years ago

This is great, thanks! I haven't had time to work on this. I can add you to the repo if you plan on making more contributions.

nettings commented 7 years ago

Hey @fhaust, big fat thanks for porting to FFTW3! I hope this tool will attract some more contributors - it fills a niche that isn't covered by anything else really. My own coding skills are not quite up to it, I guess, but I hope to be contributing through verification and measurements.

fhaust commented 7 years ago

To be honest I don't plan to contribute more. I just wanted to try out the tool and found it interesting but not what I was looking for.

To be specific I was looking for a tool that automatically equalizes a system in real-time. From what I saw brp-pacu could be extended to fulfill this role, but I probably won't be the guy doing that ;-)

nettings commented 7 years ago

EQ in real-time? Are you sure you want to do that? :) I mean, measuring during the gig to compensate for people, humidity and temperature is all very well, but I wouldn't let anyone touch my master EQs :-D Much less a machine. Not in real-time, but if you want to explore the huge problem space of automatically equalizing room effects, check out http://drc-fir.sourceforge.net . It does a whole bunch of things, from detecting minimum-phase and excess-phase areas to being smart about boosts (i.e. usually not attempting them) to really arcane (to me) stuff like cepstrum analysis. I'm using it to create FIR kernels for my studio monitoring system. Anyways, thanks for sharing your code, sorry it doesn't do what you need, but for me it's a huge win not having to maintain parallel installations of fftw 2 and 3 :-D

fhaust commented 7 years ago

Hmm ... why not? Give it a +-3db envelope and let it make adjustments veeeery slowly (in the several minutes range).

I am not an audio engineer, but I would guess that is what you would do by hand either way is it?

2017-05-09 15:24 GMT+02:00 nettings notifications@github.com:

EQ in real-time? Are you sure you want to do that? :) I mean, measuring during the gig to compensate for people, humidity and temperature is all very well, but I wouldn't let anyone touch my master EQs :-D Much less a machine. Not in real-time, but if you want to explore the huge problem space of automatically equalizing room effects, check out http://drc-fir.sourceforge.net . It does a whole bunch of things, from detecting minimum-phase and excess-phase areas to being smart about boosts (i.e. usually not attempting them) to really arcane (to me) stuff like cepstrum analysis. I'm using it to create FIR kernels for my studio monitoring system. Anyways, thanks for sharing your code, sorry it doesn't do what you need, but for me it's a huge win not having to maintain parallel installations of fftw 2 and 3 :-D

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/matthew-dews/brp-pacu/pull/17#issuecomment-300162107, or mute the thread https://github.com/notifications/unsubscribe-auth/ADEfP4LA6oq-Kzu7Rja4qVW_pn5rTNm_ks5r4GkBgaJpZM4M7MJD .

nettings commented 7 years ago

Except in the largest open-air venues, you will always have signal spill from the main PA back to the stage, which can cause feedback. Any corrections during the gig will usually be boosts, because of crowd absorption and increased air absorption due to rising humidity and temperature. If you automate them, in most cases it will be ok, but when it isn't, the result will be catastrophic. Add the fact that today's PA systems are becoming ever more complex (near-fills, outfills, you name it), and the whole idea of automatic correction becomes untractable. In actual practice, you know that during soundcheck the sound will be shit (and also the monitor sound, because of all the echo back from the house), so the best you can do is know your stuff, build trust with the artists and make sure they are out for beer and cigarettes after 30 mins max. Then trust yourself to be able to survive the first song with what you have, and then use that time to revisit the house EQ and your mix. Also, talk to (and believe) the house technicians about the quirks of the venue. To cut a long story short, being able to look at a Dual-FFT is a lifesaver, because it will give you constantly updated data, and (more importantly, although currently missing in BRP-PACU) it will give you a coherence curve that tells you which regions might be beyond EQing because of unfavourable acoustic conditions. But I see very little potential for automation there, specifically because of the latter areas of non-minimum phase conditions. Also, which microphone position do you choose? In the end, it boils down to experience, compromise, and sometimes dumb luck.

fhaust commented 7 years ago

Soooo ... combine it with automatic feedback detection and notch filter placement?

(This is me being the ignorant engineer ... solve it with algorithms! :-) )

2017-05-09 16:01 GMT+02:00 nettings notifications@github.com:

Except in the largest open-air venues, you will always have signal spill from the main PA back to the stage, which can cause feedback. Any corrections during the gig will usually be boosts, because of crowd absorption and increased air absorption due to rising humidity and temperature. If you automate them, in most cases it will be ok, but when it isn't, the result will be catastrophic. Add the fact that today's PA systems are becoming ever more complex (near-fills, outfills, you name it), and the whole idea of automatic correction becomes untractable. In actual practice, you know that during soundcheck the sound will be shit (and also the monitor sound, because of all the echo back from the house), so the best you can do is know your stuff, build trust with the artists and make sure they are out for beer and cigarettes after 30 mins max. Then trust yourself to be able to survive the first song with what you have, and then use that time to revisit the house EQ and your mix. Also, talk to (and believe) the house technicians about the quirks of the venue. To cut a long story short, being able to look at a Dual-FFT is a lifesaver, because it will give you constantly updated data, and (more importantly, although currently missing in BRP-PACU) it will give you a coherence curve that tells you which regions might be beyond EQing because of unfavourable acoustic conditions.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/matthew-dews/brp-pacu/pull/17#issuecomment-300174042, or mute the thread https://github.com/notifications/unsubscribe-auth/ADEfP_RyreujpR9vJGAz5WBZ68npKmqRks5r4HHVgaJpZM4M7MJD .

corinfinite commented 7 years ago

Th closest I'm aware of to any sort of EQ system is the integration between Meyer Sound's SIM 3 analyzer and their Galileo loudspeaker management system (I may be getting the name wrong). In SIM 3 when you are taking dual FFT measurements you can flip a recorded trace (like the buffers in BRP-PACU) and overlay the EQ for the speaker or set of speakers you are analyzing. Matching up the EQ curve with the flipped trace produces a (theoretically) flat response. This is still a manual process and may not guarantee the best results but the tools exist to help us do it faster and better.

If you want a more in depth look at live sound system tuning "Sound Systems: Design and Optimization" by Bob McCarthy is the book to read. I plan to dive into my copy soon to help me better understand what is needed to improve BRP-PACU further.

fhaust commented 7 years ago

That was basically what I was looking for in brp-pacu. Otoh, you are right that I can just do the boosts by hand on the master bus Eq.

Am 09.05.2017 9:13 nachm. schrieb "Matthew Dews" notifications@github.com:

Th closest I'm aware of to any sort of EQ system is the integration between Meyer Sound's SIM 3 analyzer and their Galileo loudspeaker management system (I may be getting the name wrong). In SIM 3 when you are taking dual FFT measurements you can flip a recorded trace (like the buffers in BRP-PACU) and overlay the EQ for the speaker or set of speakers you are analyzing. Matching up the EQ curve with the flipped trace produces a (theoretically) flat response. This is still a manual process and may not guarantee the best results but the tools exist to help us do it faster and better.

If you want a more in depth look at live sound system tuning "Sound Systems: Design and Optimization" by Bob McCarthy is the book to read. I plan to dive into my copy soon to help me better understand what is needed to improve BRP-PACU further.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/matthew-dews/brp-pacu/pull/17#issuecomment-300272157, or mute the thread https://github.com/notifications/unsubscribe-auth/ADEfPyRfHZrxW-3pOf3tswGvlNdzn1g8ks5r4LrwgaJpZM4M7MJD .

corinfinite commented 7 years ago

Do you have a specific system in mind for performing the automatic EQ?

Given the suite of tools Meyer Sound and other manufactures make for modeling, management and measurement I'm sure you could construct a system for hooking into them to perform automatic steps. Even some sound consoles can be controlled remotely via MIDI or another protocol. I think the only technical limit on your ideas would be the hooks available into a system.

fhaust commented 7 years ago

Hmm ... now that you ask:

I've been trying myself as a "amateur mixer" several times at a local church [1]. Everything about that is very ad-hoc. The room is tiny, the "PA" is basically what's available and the mixing desk is a tiny 8-channel mixer.

It basically can't get worse than that, but it's great fun for everyone involved every time. This year I decided to try to run everything "in the box" and completely Linux based.

So I was basically looking for some help with the master eq ... and a completely automatic solution would be great, but if that is not an option I'll be fine.

[1] Funfact: they have a yearly metal festival with mostly death metal bands participating :-)

2017-05-10 21:27 GMT+02:00 Matthew Dews notifications@github.com:

Do you have a specific system in mind for performing the automatic EQ?

Given the suite of tools Meyer Sound and other manufactures make for modeling, management and measurement I'm sure you could construct a system for hooking into them to perform automatic steps. Even some sound consoles can be controlled remotely via MIDI or another protocol. I think the only technical limit on your ideas would be the hooks available into a system.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/matthew-dews/brp-pacu/pull/17#issuecomment-300587880, or mute the thread https://github.com/notifications/unsubscribe-auth/ADEfP-AJygF5Tl0Wmync4i3Q4H1zzj31ks5r4g-5gaJpZM4M7MJD .

corinfinite commented 7 years ago

The Non-Mixer has OSC integration and perhaps something could be built on a system like BRP-PACU to couple together initial adjustments to the master bus EQ.

Off topic: One of the things I want to try over this summer is setting up Non-Mixer on a dedicated machine and use X forwarding to access the mixer remotely. Using an application like Guacamole I want to make the application available to any web enabled device (tablet or laptop). The idea for this is based off of the Soundcrafts UI series of stagebox mixers which have a web client for controlling the mixer. The web client is advantageous because any web device can control the mixer, rather than an iPad or Android app, which most manufacturers don't always have both of and excludes laptops. Price wise the hardware needed to run this would be more expensive than a lot of stagebox/mixer solutions and is not financially viable. But I believe the flexibility of Non-Mixer would balance that out to an extent. And adding I/O is no longer limited by the stage box you buy; it can be expanded by attaching additional interfaces or PCI cards. I'll put together a repo or some blog posts detailing this setup if it works or doesn't. I'm curious about your linux setup for the church, if you'd like to talk more about it or the Non-Mixer idea feel free to email me directly.

nettings commented 7 years ago

Death metal in a church? No amount of artificial intelligence will make that work :-D Here's a few survival tips:

fhaust commented 7 years ago

@nettings It's not in the actual church, but a community building next to it. Basically a 10x10m room with a bar and a low ceiling :-)

fhaust commented 7 years ago

@matthew-dews actually that's a great idea ... i definitely did not consider that. I always planned to rent a snake and have the card and mixing computer at the FOH position.

Pricewise I never consider the cost of the computer, so buying a 500€ interface (plus 200€ ADAT preamp) sounds pretty competitive against something like a 1200€ X32 rack mixer.

corinfinite commented 7 years ago

@fhaust Another things to consider, which would allow you to have multiple devices connect to and control Non Mixer would be through a web interface built on Open Stage Control

fhaust commented 7 years ago

Depending on the situation I would prefer real faders. OSC from a tablet is nice because you can walk around the room, but nothing beats (motorized) faders if you have to work quick.

2017-05-27 0:16 GMT+02:00 Matthew Dews notifications@github.com:

@fhaust https://github.com/fhaust Another things to consider, which would allow you to have multiple devices connect to and control Non Mixer would be through a web interface built on Open Stage Control http://osc.ammd.net/

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/matthew-dews/brp-pacu/pull/17#issuecomment-304399213, or mute the thread https://github.com/notifications/unsubscribe-auth/ADEfP_hmjLC5oaPNURJmSxlHWK28OcJwks5r909GgaJpZM4M7MJD .

fhaust commented 7 years ago

Btw: New month means new money ... so I'll spend some time testing the 500€ range of USB3 audio interfaces with jack and friends.

2017-05-30 12:05 GMT+02:00 Florian Hofmann fho@f12n.de:

Depending on the situation I would prefer real faders. OSC from a tablet is nice because you can walk around the room, but nothing beats (motorized) faders if you have to work quick.

2017-05-27 0:16 GMT+02:00 Matthew Dews notifications@github.com:

@fhaust https://github.com/fhaust Another things to consider, which would allow you to have multiple devices connect to and control Non Mixer would be through a web interface built on Open Stage Control http://osc.ammd.net/

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/matthew-dews/brp-pacu/pull/17#issuecomment-304399213, or mute the thread https://github.com/notifications/unsubscribe-auth/ADEfP_hmjLC5oaPNURJmSxlHWK28OcJwks5r909GgaJpZM4M7MJD .