Skip to content

resonantdsp/SwankyAmpFaust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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.

About

SwankyAmp's DSP code and build utils

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published