Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Easy AutoEq and Crossfeed with CamillaDSP
#1
Dear all Smile

Since I own several headphones/iems and really like the options CamillaDSP offers in moOde, I wanted an easy solution to create configurations with correction EQ from the AutoEq project and the option to include crossfeed. I made a little hobby project out of it and wrote a small CLI tool to do this in Rust.
It is still a bit rough around the edges but maybe someone dares to test it (your own risk Wink ) and finds it useful. I would try to even out any problems and maybe add some more options for Crossfeed, etc. in the future.

This is it: https://github.com/Ebert-Hanke/autoeq2camilladsp
Under the releases you find binaries for Linux, Windows, Mac (Intel and M1) for download. On Mac you will need to open with right click since the binary is not signed with an Apple Certificate.

Any feedback would be appreciated.

Cheers
micha
Reply
#2
Nifty idea. I’ll have to try it with my modest Sennheiser HD4.40 BTNC headphones.

Regards,
Kent
Reply
#3
Well, that was easy. 

It took me just a few minutes to get the hang of the user interface after downloading the amd64 binary for my Linux laptop. Then I quickly created a YAML file for my Sennheiser headphones including crossfeed and copied it to moOde. 

How nice to be listening on headphones with both compensation and crossfeed. Previously, I was choosing either crossfeed or PEQ-based compensation but couldn't choose both. I was too lazy to figure out how to configure CamilllaDSP manually to achieve both. [1]

I also built a similar YAML file for my Etymotic ER3SE earplugs but I haven't had a chance to test it yet.

As for the interface, yes, there are countless headphones in the database but as soon as you shorten the list someone will be complaining that their favorite was excluded. I didn't have any trouble finding the entries for the two devices I have. 

Perhaps one change would be to loop back to the "Which headphones..." query if a user enters an unrecognized string, the way it does if only one letter is entered. (Guess who mistyped Sennheiser the first time!) One can always Ctrl-C out of the program. Possibly also, there might be a hint that 2 or more letters suffice to begin a search.

Some knowledge of CamillaDSP is required to use this tool effectively but that's life. It's a bit of a Swiss-Army knife. Users should do their homework.

Thanks for your contribution.

Regards,
Kent

[1] ETA - To be clear, bitlab had outlined to me how to go about it; not getting it done was me.
Reply
#4
Dear Kent,

thanks a lot for testing and your feedback!
I think the Headphone/IEM selection indeed is not a great experience in the version you have tested. I have put some more work into this part and now one can start typing and dynamically narrow down the candidate list with fuzzy matching. I think that should be a lot easier now. Also if one mistypes something Wink
The new release is now online here: https://github.com/Ebert-Hanke/autoeq2ca...tag/v0.3.0

Best
micha
Reply
#5
I've just had a quick play with the windows version. Very nice indeed. Unlike Kent, I'd already built my own XF and Auto EQ filter (I have the luxury of not moving house recently), but the XF in this one is more sophisticated, plus I can create a new profile should I upgrade headphones in a few seconds using this.

Very nice tool, nicely done.
----------------
Robert
Reply
#6
autoeq2camilladsp-linux-amd4 version 0.3.0 is working well on my Linux laptop. The device search method is definitely improved.

Tried and failed to install autoeq2camilladsp-windows-amd64 version 0.3.0 in PlayOnLinux on my Linux laptop. I'm sure if I dug deep enough I'd find some missing POL configuration setting, and there's always classic WINE to fall back on, but not now. 

I installed it instead in Win10Pro running on a virtual machine. Found I had also to install the VisualC runtime library before it would run. Unsurprisingly, it's essentially the same UX as in the native Linux version. As long as the Linux and Windows builds don't diverge, I'll stick to Linux.

If you get around to adding crossfeed options, I'd vote for including the Meier variant. 

Regards,
Kent
Reply
#7
(02-16-2022, 04:45 PM)the_bertrum Wrote: I've just had a quick play with the windows version.  Very nice indeed.  Unlike Kent, I'd already built my own XF and Auto EQ filter (I have the luxury of not moving house recently), but the XF in this one is more sophisticated, plus I can create a new profile should I upgrade headphones in a few seconds using this.

Very nice tool, nicely done.

Thank you! This is nice to hear
Reply
#8
(02-16-2022, 06:26 PM)TheOldPresbyope Wrote: autoeq2camilladsp-linux-amd4 version 0.3.0 is working well on my Linux laptop. The device search method is definitely improved.

Tried and failed to install autoeq2camilladsp-windows-amd64 version 0.3.0 in PlayOnLinux on my Linux laptop. I'm sure if I dug deep enough I'd find some missing POL configuration setting, and there's always classic WINE to fall back on, but not now. 

I installed it instead in Win10Pro running on a virtual machine. Found I had also to install the VisualC runtime library before it would run. Unsurprisingly, it's essentially the same UX as in the native Linux version. As long as the Linux and Windows builds don't diverge, I'll stick to Linux.

If you get around to adding crossfeed options, I'd vote for including the Meier variant. 

Regards,
Kent
Thanks again for the thorough testing! Smile

I do not have access to a Windows machine at the moment so I was just relying on the Docker Windows Image which ist building the release. The versions are all identical (maybe some slight differences in the way they are displayed in the Command Line since Linux/Mac and Windows handle this a bit different).
Rust just compiles to different binaries. If one wanted it is also really easy to build on ones specific machine from the cloned GitHub repository. Should this ever be interesting for someone I will add a section in the readme.

Yes, I would like to include more Crossfeed variants soon. I will look into Meier's crossfeed and how to build it in CamillaDSP.
If someone has a specific signal path they like we could collect some here to test and listen to. I think it would be nice to have a small selection (like maybe 5) "currated" crossfeed options so it does not get overwhelming.
 
There is also this interesting attempt of rebuilding the Phonitor in DSP by Mikhail Naganov: https://mnaganov.github.io/2017/01/recon...-mini.html which I would like to include once I got in touch with him.

cheers
micha
Reply
#9
A little lost here... downloaded and extracted the zip but can find no way to run this. 
A little explanation would be appreciated..:-)
----------
bob
Reply
#10
(02-16-2022, 08:51 PM)DRONE7 Wrote: A little lost here... downloaded and extracted the zip but can find no way to run this. 
A little explanation would be appreciated..:-)

On what Operation System did you try?
Just in case you never used something in the command line I can give some explanation Smile
Reply


Forum Jump: