Caveat: There is probably more to the cabinet implementation of the Profiler than just a simple frequency response but I've found the results to be quite good.
I highly recommend using digital in/out via S/PDIF for the procedure described below as the signal we are going to process is hard to cope with for D/A converters.
What we are going to do
Mathematical view: Convolution of the Dirac delta function with the hidden FIR filter function representing the cabinet frequency response. Result: The hidden FIR filter function (i.e. the cab IR).
Technical view: Sampling of the hidden filter taps of the cabinet section by processing a single short pulse with full amplitude. Result: The ordered list of hidden filter taps (i.e. the cab IR).
Practical view: Just a reamping of a special DI signal. Result: A short sound file which essentially is the impulse response of the cab section.
Prepare your Profiler
- Switch on the device and load the rig in question.
- INPUT, Page 1, Noise Gate: 0.0
This is extremely important as you'd get weird results otherwise. (I've no clue of the design of advanced noise gates but the negative feedback introduced by the Profiler implementation really surprised me. Check for yourself.) - INPUT, Page 1, Input Source: SPDIF Input Reamp
- INPUT, Page 2, Reamp Sens: 0.0 dB or slightly below
- OUTPUT, Page 1, SPDIF Output: Master Stereo
- OUTPUT, Page 4, Main Output EQ: You may want to set all parameters to <0.0> (see Pure Cabinet below)
- OUTPUT, Page 5, Output Filter: You may want to set both parameters to off (see Pure Cabinet below)
- OUTPUT, Page 6, SPDIF Volume: [0.0dB]
- OUTPUT, Page 6, SPDIF Clock: 44.1 kHz
- OUTPUT, Page 6, Soft Button 3 (Pure Cabinet):
Depending on the intended use of the final cab IR you may want to completely turn off Pure Cabinet (by unticking the box). If you plan to later use it with the Profiler itself definitely disable Pure Cabinet. - OUTPUT, Page 6, Soft Button 4 (Space->HeadphOnly): enabled
- Turn off all slots (A to REVERB) except for the CABINET slot.
- You may enable the EQ section if it is configured to act post stack (don't know if enabling the EQ slot without turning on the AMPLIFIER is possible with the Stage). Recommendation: Start with just the cab section for the first IR shots.
- You may load and engage your beloved post stack EQs. Recommendation: Start with just the cab section for the first IR shots.
- Warning: If you go for additional EQs that increase gain make sure to decrease the volume of the EQs and/or lower the Reamp Sens in the input section accordingly so that the output won't clip. In addition, you may have to rescale the final IR. Again: Start with just the cab section for the first IR shots.
Craft the magical sampling DI signal (the haunting Dirac delta melody)
Hint: Or just use the attached WAV file irSampling.wav.zip.
- Launch your favourite audio editor and start with a blank mono audio file.
- Create a few seconds of true silence (-inf dBFS).
- In the middle of it alter one sample to full (positive) amplitude (0 dBFS).
- Export the result as uncompressed audio with high dynamic range, e.g. WAV with signed integer and 24bit resolution.
Prepare your DAW and audio interface for an ordinary reamping session & extract the IR
- Create a mono channel strip with no input and route the output to the Profiler in.
- Load the sampling DI into that channel.
- Create a mono channel strip and route the input to one of the two Profiler outs.
- Enable recoding for that channel.
- Better disable monitoring of the recording input.
- Reamp the sampling pulse.
Play the sampling DI through the Profiler while recording the output of it. Voilà, you have successfully extracted the cabinet IR out of your Profiler! You just have to remove the pre-delay and truncate it to a reasonable size (see next section). - Export the recording as uncompressed audio with high dynamic range.
Finalise the recorded IR
- Load the raw recording into your favourite audio editor.
- Identify the highest peak in amplitude.
- From here move backwards to the first sample which has zero or negative value (amplitude <= 0).
- Delete all samples from the beginning to that sample (including it).
- Truncate the sound file to a reasonable length of a few 10ms, e.g. 1536 samples.
- Some people like to scale the whole thing to 0dBFS peak amplitude (wouldn't recommend it), others prefer to normalise it to unity gain (on average or for a certain frequency). If in doubt or for a safe start: Leave it as it is (most IR loaders will transform it to their needs anyway).
- Export the result as uncompressed audio with high dynamic range.
Enjoy your precious cabinet IR! You may want to import it via Rig Manager into a copy of said rig and crosscheck your result.
For the true pros in signal analysis/processing (you have been warned )
If we repeat the above procedure with all slots disabled one would naively expect to get an unaltered recording of the short pulse sent through the Profiler. But it's not! This is due to the inevitable filtering (mainly low and high cuts, see attached plot) in the input section of the Profiler (apparently of type linear-phase). So the sad truth is: Our extracted IR is actually a convolution of the cabinet IR with the filter function of the input section. But we may correct the frequency response of our IR for all the things going on there. There is different approaches on how to achieve this but here is what I have successfully implemented:
- Load both raw IRs (input*cab and input only) into your favourite math tool, e.g. Mathematica or MATLAB.
- Calculate the frequency response of both IRs.
- Gently correct the input*cab frequency response for the response of just the input section (divide the linear values of the input*cab response by the respective values of the input response). Be gentle and smooth with that: Do not introduce harsh gradients and limit the correction for frequencies below ~40Hz and above ~16kHz to reasonable amounts.
- Construct a linear-phase FIR filter from the corrected frequency response. Personally, I use a nice algorithm described here.
- Construct a minimum-phase (i.e. minimum-latency) FIR filter from the linear-phase FIR filter. Personally, I use another sweet algo described here (section Homomorphic Filtering).
- Check the result by comparing the frequency response of the minimum-phase FIR filter to the desired frequency response.
- Export the filter taps of the minimum-phase FIR filter (i.e. the final IR) as uncompressed audio with high dynamic range.
If the above wizardry just caused a serious headache to you: You may get away with the uncorrected IR as the impact of the input filter is not that big.
Update on this one: I've recently stumbled across a post of CK himself regarding the surprisingly large latency of the S/PDIF out even when set to the inherent sample rate of the Profiler (44.1kHz). His thorough explanation reminded me of the suspected weird input filter of the Profiler (you normally avoid minimum-phase FIRs in order to not increase latency). And indeed, since they fixed engaging the SRC when no sample rate conversion takes place the frequency response of the Profiler itself (input*output) is almost linear, see attached revised plot. Actually, the encountered min-phase FIR wasn't any kind of weird input filtering but the LPF of the unnecessarily engaged SRC at S/PDIF out.
In short: There is no need to correct the frequency response of extracted IRs anymore (provided you are using S/PDIF in/out with 44.1kHz)!
Anyhow, I'll leave the first part of this section unchanged as some people might find it informative or even useful (the struggles of a simple guy trying to understand the marvellous work of CK & his team of DSP wizards).
Final remark
Please let us know your findings/suggestions/improvements!
Cheers-