Commit Graph

6 Commits

Author SHA1 Message Date
George Norton 9c036f07f8
Fix save config (#27)
* Fix save config

* Fix save config when no audio is playing

* Fix build issue with the github workflow compiler
2023-10-16 18:35:38 -04:00
PloopyCo 84306c0922 Adjusted Oratory's default EQ:
- Less bass. Excursion limits happen at 30-50Hz first, so reducing response in this range makes it a little less likely this will be a problem. Plus, I like it.
- A little more response above 12kHz.

Updated config version to 4.

Added a parameter for post EQ gain. Applied once after EQ is calculated.
2023-09-14 05:06:57 -04:00
George Norton 1e6896f918
Enable oratory's 15 band EQ (#23)
* Attempt at optimizing so the new filtering runs better.

* Additional improvements.

* Further optimisations.

* Seems to work OK with 10 filters. Just noise with 11.

* Increase config buffer size, and make the bqf_transform function inline

* Remove extra loop and process input evently across both cores.

* Enable 15 band EQ.

* Shift some load of core1

* Revert buffer size change

* Mark USB transfer as done sooner.

* Fast multiply.

* Fix build failure.

* Rollback changes we dont need.

* Fix save config to flash

* Increase filter stages to 20. We cant quite run that many though.

* Replace a few doubles with floats. According to the raspberry-pi-pico-c-sdk manual, doubles are around 3 times slower than floats.
2023-08-23 15:47:01 -04:00
ploopyco c03b463390
- Replaced default EQ filter set with an 8-band EQ based on measurements from Oratory1990 and VSG (#21)
- Default configuration reverses the left/right channels in the DAC, because the headphones are wired backwards (oopie!)

Co-authored-by: PloopyCo <contact@ploopy.co>
2023-08-15 03:15:21 -04:00
ploopyco 481219341d q3.28 changes 2023-07-14 15:06:20 -04:00
ploopyco 009dd2e698
Headphones toolbox (#18) (#19)
* Initial, very incomplete, toolbox interface.

* Refactored things to move ugly structs out of run.c. Experimental config structures.

* Extra comments.

* Continuted to implement communication protocol. Can now validate Filter Configuration Structures

* Config save/load works.

* Reverse stereo and preamp.

* Fixes and minor features.

* Codec confiuguration implementation.

* Support sending configs back to the client.

* Fix broken audio when changing a filter type.

* Fix broken audio when changing a filter type.

* Try to create a build workflow

* Report version info

* Disable interrupts while reconfiguring, reset all filters if one has a type change.

* Reset memory on filter type change..

* Shuffle cores.

* Slight refactoring.

* Only update a filter if something has changed.

* Re-order PCM3060 init i2c commands.

* Fixed point math tweaks. Treat samples as normalized (-1..1), this doesnt change much, except the filter coefficients get way more bits of precision.

* Allow the user to create fully custom filters.

* Increase the max fix16 size to -32.0..32.0 as it seems it is possible to create coefficients which are >16.

---------

Co-authored-by: George Norton <george_norton_uk@hotmail.com>
Co-authored-by: George Norton <30636555+george-norton@users.noreply.github.com>
2023-07-14 14:53:04 -04:00