KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
SwankyAmpFaust
★ 9
Open GitHub ↗
SwankyAmp's DSP code and build utils
Download README (.md)
Explore Similar Repositories
demo-catalog
:
Repository that will host all demotron v3 scenarios
Docs
:
An app for digitally signing prescription and ensuring legitimacy for e-pharmacies.
grants
:
No description available.
Vp.FSharp.Sql.SqlServer
:
F# Wrapper for SQL Server using Microsoft.Data.SqlClient and Vp.FSharp.Sql
frpbypassapk
:
FRP Bypass 2021 APK Mobile Download For Android
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
SwankyAmpFaust
?
Download (.md)
# Swanky Amp DSP build The DSP processsing in SwankyAmp is managed by the `PushPullAmp` class which is included in this repository. That class depends on classes which are auto-generated by FAUST using the faust DSP files included in this repository. The repository also contains two scripts needed to build the FAUST generated classes, and to calibrate the loudness of the overall `PushPullAmp`. ## Requirements * Python >= 3.5 * [FAUST](https://faust.grame.fr/) * [numpy](https://pypi.org/project/numpy/) * [scipy](https://pypi.org/project/scipy/) * [matplotlib](https://pypi.org/project/matplotlib/) * [faust2hpp](https://github.com/resonantdsp/faust2hpp/) ## Building To build the headers, run `python build-all.py dsp/`. The headers will be generated in `headers/` and can be copied directly into SwankyAmp's code base: `cp headers/* ${SWANKY_AMP_ROOT}/Source/dsp`. You can also create diagnostic plots during building by adding the `--plot_dir=plots/` argument when running the `build-all.py` script. Those plots show transients during startup for the individual amp components, as well as their FFT response. ## Calibrating Calibration is a somewhat manual process. The steps are as follows: 1. In `PushPullAmp::process`, set `preAmpScale` to `1.0f` and comment out everything after the `scaleBuffer` call following the `toneStack.process` call. 2. Run `python calibrate.py` 3. Copy the resulgint "pre amp sweep" values into the `PushPullAmp::preAmpSweepScales` array. 4. Revert the changes in `PushPullAmp::process`. 5. In `PushPullAmp::process` set `powerAmpScale` to `1.0f`. 6. Run `python calibrate.py` 7. Copy the resulgint "power amp sweep" values into the `PushPullAmp::powerAmpSweepScales` array. 8. Revert the changes in `PushPullAmp::process`. In effet this is enforcing that the signal doesn't change in RMS from the input to the output of the tone stack; and from the tone stack to the output of the power amp. If you run `python calibrate.py` after the calibration process, you should find that the signal ratio remains near unity for all pre amp and power amp drive settings. This is not perfect however since pre amp drive settings away from centre will compress the signal such that the power amp calibration is no longer correct. Likewise playing with a very loud or quiet input signal will affect the calibration.