Hi Volumio community and developper, I am a super happy Volumio customer for several years.
I have just added the FusionDSP plugin and am impressed by the quality and ease of configuration. This allowed to significantly improve the sound quality of my speakers at the extremes of the spectrum.
I was wondering if it would be possible (or potentially already done) to have a full contained solution based on Volumio on RPi and a UMik microphone to tweak the native output of the streamer + amplifier + speakers to a defined sound curve.
I know that REW may run on RPi, but I was more thinking about a lean process embedded in Volumio playing sweeps while recording through UMik, asking for a target sound curve, then creating a FIR correction file and placing it in the dsp?
Any feedback or info about interest/feasibility would be appreciated.
I already thought of thatā¦
The idea is to use DRC FIR. But it is complicated to includes plenty of cases. When you use REW you can check is measure is correct before using it. A single sweep is IMHO not enough.
Iām still thinking on how to do that thoughā¦
Suggestions welcome!
Thanks for you rapid answer, Balbuze (I would have guessed you would react to this proposal ;-).
Sure, doing it in a semi automated process will somehow keep the user blind about the automated selection of the corrections. Unless properly implemented it might lead to unexpected results.
Anyway, if you are in for some test development, I would be happy to provide feedback.
Yesā¦ This is what I wrote above
Drc-fir is already used in FusionDsp to generate filters from an impulse in filter generation section (in convolution mode)
For the process, I propose the following, fully agnostic about the feasibility with DRC and Volumio plugin mechanic and web display.
Hardware assumptions:
USB microphone with definition file
Raspberry Pi 4 4gb
GPIO I2S DAC
select scenario/action : should it be contained in a single plugin with different sections or spread over several ones?
=> adjust sweep volume / record sweeps / calculate correction file / update DSP / verify room correction.
A/ adjust sweep volume
play sweeps button : plays continuous sweeps until pressed again
ā feedback sound level in web interface
B/ record sweeps
request a file name for storing the different files generated in the process.
select sweep options (number of sweeps, delay in between sweeps, ā¦)
play+record several sweeps separated by a timing to allow scanning the listening area with the microphone
generate and store averaged response (or other black magic maths on the scans to a potentially more relevant result?)
ā Would it be worth/possible to have a graphic view of result in the web header?
C/ calculate correction file
Select averaged response file amongst the available ones (recorded at the previous step)
Select the target curve amongst a list of predefined ones (<300hz; full flat; full high freq roll off;ā¦). Ability to upload a user target curve ?
Select potential options for the correction profile generation.
Run the correction calculation.
Save the correction file (automated naming based on filename in 1.)
D/ Update DSP
update DSP settings to use the generated correction file : select file in a list and push on update DSP button - Though this might be done manually in DSP plugin by the user
E/ Verify room correction
Select the averaged sweep file associated with the correction file loaded in DSP
Runs a sweep
Generate a file with overlay graphs
display graph
Happy to discuss further the logic. A first version to test the usability might provide a very limited set of user selection/customization and potentially expand it upon user feedback.
Hello.
This a complex processā¦
I not sure averaging sweep is faisable.
Even in REW you canāt use average to generate impulse (or in very recent beta?).
MMP measure with pink noise is not a drc fir feature.
From part C) is already in place.in FusionDsp:
Select impulse
Select target curve
Select sample rate
Select strength for effect.
Whatās not available is displaying curve in UI and not in my skillsā¦
Last point, the amount of work to make something good enough and reliable is maybe not in phase with the need and spending months for just 3 passionated users (me!) is difficult to justifiedā¦
But I am still thinking about this.
Thanks
Obviously a significant amount of work, I agree.
You may reach out to me if you want some input or discuss/test some ideas. Now, I am a bit more positive about the potential public, if implemented and documented in an easy process.
Now we might also decide to perform part of the process outside of Volumio, but still on the RPi (command line or graphic interface). I would find very elegant to have a self contained solution to avoid using an external computer.
Hello! Another enthusiastic user here, so you might have a use case ā but Iām also product owner in my daily life.
Except for the āit can be done so I must do itā attitude, does it really bring that much? How many people can be bothered with setting this up and actually using it constantly?
Even a hi-fi / surround setup using audyseey is a single use experience for most, the target audience doing more might be in audirvana / roon territory, not volumio?
I would be really thankful with a good piece of documentation on how to do this properly (the process of setup, measurement, export+import to fusionDSP is not as easy to figure out at first), or perhaps a (series of) youtube videos guiding along?
Good to know we are already 3 to be interested . Theoretically, once properly set up, room correction should be kept on all the time. The goal is to have a working and easy to apply process. Currently performing measurements with another computer running on windows and requiring REW and RePhase to generate the filter and copying it on the streamer is a hurdle very few have the knowledge and interest in setting up.
I strongly believe that connecting a 100ā¬ microphone to the RPi and following a simple procedure would allow a lager population to use this technology.
Yes I completely agree - I was thinking of doing something similar already - I just bought myself a umik-1 microphone and would love to use REW (or similar) within volumio - I think room correction is a killer feature (just look at how much Dirac Live costs). I have already used Audyssey in my main system and I thought it made a huge difference. I use Volumio in 2 other rooms and I actually believe both those rooms (and the cheaper speakers I have in those rooms) would greatly. benefit for room correction - I am using a bit of EQ already with FusionDSP.
An update on the topic: doing a self contained solution on the Volumio distro is not straightforward and require more thinkering than initially expected.
Anyway, an elegant alternative is possible for the iPhone owners. Using the HouseCurve app (from Greg Wilding) available at 4,5ā¬ on the AppStore, you may simply use your phone to play sweeps, record and analyse result and generate parametric filter that may directly be saved on the Volumio shared folder for use with FusionDSP
So with a few euros and and iPhone, you get a very handy solution to the initial goal.
Find below a screenshot of the recorded sweep, the parametric correction and the theoretical result.
I guess, strictly speaking, the transfer functions of the audio system, room and microphone all multiply together to produce the measured response. If the mic is āflat enoughā, we can assume the measurement is the audio system + room and correct accordingly.
Iām often asked how good iPhone mics are, and the sort answer is āactually, pretty good, especially when you donāt have a measurement mic handyā.
iOS microphones can be accessed in a special āmeasurement modeā, which disables signal processing for voice calls, etc. My own measurements show that the mics are pretty flat from 60 Hz to 16 KHz. HouseCurve applies some compensation at either end to get the mics closer to what an actual measurement mic would read. For the curious, thereās more information here
HouseCurve also works with calibrated external microphones, like miniDSPās UMIK-1, but I recommend starting with the iPhone mic.
Thanks for your feed-back.
Couldnāt find much info on the frequency response of the iphone mic, besides those from 12 years ago.
Did you also test the default headset that comes with iPhone, as those seem to have a pretty flat response.