Download Multitone
Download Multitone for 64-bit Windows v1.0.82
You may also be interested in these:
- DeltaWave - Audio null analyzer and audibility tester
- DISTORT - Your personal simulation of what various distortions do to audio
- PKHarmonic VST Plugin - VST Plugin to add the desired level of 2nd and other harmonics
- Earful - An audiophile Hearing Test
Support forum
During the development and beta-testing of Multitone Analyzer, you can report issues, ask questions and make suggestions on the ASR forum here.
What is it?
Multitone Analyzer is an app designed to explore audio electronics performance by producing quick measurements using a simple loop-back configuration. MA produces a specific set of test tones that are sent to a digital-to-analog converter (DAC) that are then passed through one or more analog components and then received by MA and analyzed. MA both, plays the signals and records them for analysis. DAC and ADC are required for this to work.
- Measurements that MA can produce: TD+N, IMD, N+D, delay, clock drift, frequency response, etc.
- Audio support for WASAPI, ASIO, and Direct Audio devices with sampling rates of up to 384kHz/32 bits
- Test signals: arbitrarily large multi-tone signal, simple sine waves, two-tone IMD test signals, 3-tone IMD test signals, square wave, triangle wave
- FFT sizes of up to 1M
- For distortion measurements a range of frequencies to measure can be selected
How not to use it!
Don’t use this with your speakers or headphones! The test signals are designed for electronic device testing only, and levels and frequencies of the test can be enough to cause damage to the equipment, or worse yet, your ears. Be warned!
How to use it
- Make sure a DAC and an ADC are connected and working with the PC running Multitone Analyzer. Connect the DAC output to another device you want to test, and then connect the output of that (or the output of the DAC) to the input of the ADC
- Select the correct devices from the two drop-down lists at the top of MA screen
- Select the desired test signal, pick a level and press the red record button
- Let Multitone Analyzer do the rest. The sequence will be Generate, Record, and then Process. Results will be displayed when the recorded signal is captured and analyzed
- Starting in version 1.0.60 – use preconfigured measurement settings (presets) to perform complex measurements with one click, with no need for changing settings
A few things to know
- All the lists and drop-downs on the main MA screen are editable. You can change frequencies, amplitude ranges, or type in frequencies that are not already in the drop down. In effect, you can create completely new tests consisting of different tone combinations.
- The little gear button at top right provides a few useful settings and is worth checking out
- If you’re familiar with my DeltaWave or Distort apps, you can use the same key and mouse combinations in the charts to zoom-in, pan around, or even draw your own annotations
- Larger FFT sizes might take a bit of time to generate the first time you use them. Be patient the very first time, as the next time you use the same FFT size, it will go a lot quicker. This is true even after you close and restart MA, or even restart your computer. It’ll be a bit slow the very first time.
- Both, DAC and ADC must use the same sampling rate. Make sure you configure this in Windows audio device settings. MA will detect the correct sampling rate for the device and use it for WASAPI devices. For ASIO devices, please set the desired sampling rate in settings, under the gear icon.
Tips to make it work better
- Larger FFT sizes are necessary for higher resolution frequency analysis. This is especially true for multi-tone testing. If the tones in the result are overlapping, touching, or look deformed, increase FFT size to make sure they are properly resolved. For anything more than 10 tone signal, I recommend using 1M FFT
- Larger sampling rates will take time to capture signal when processing with the same FFT size. 96kHz capture will be twice as fast as 48kHz capture. Larger FFT sizes will generate and record a longer test signal than shorter FFT sizes.
- If you’re not in a rush, it’s nearly always better to set the FFT size to the largest available
- The Frequency Response chart is only generated with large-size multi-tone test signals (greater than 5 tones). It will be blank for all other test signals.
Adding custom test signals
You can design a completely custom test signal by just editing in the parameters on the MA main window. To save the new test, press the + button next to the edit box. The test will be available next time you restart Multitone Analyzer, just pick it from the drop-down list. If you need to remove a previously saved custom test, select it from the list and click the ‘-‘ button next to the edit box.
The test tone specification format is fairly simple: test name, followed by one or more frequencies, optionally followed by amplitude ratios.
The name of new test signal must contain no spaces. Frequency can be entered using Hz or kHz or k as a suffix: for example 100Hz, 0.1kHz, or 0.1k are all equivalent. If a modifier is omitted, Hz is assumed.
Modifying existing test signals
You can change the parameters of any of the existing test signals and save that as a new test.
For example, starting with Multitone 32
, you can change it to Multitone 55
. The name of the signal, Multitone, must not be changed in this case but you can change the number of tones to any desired value.
Or, starting with SMPTE 60Hz/7k 4:1
you can modify the two frequencies or the amplitude ratios to produce new test signals. Or you can even add another frequency or two into the mix.
SMPTE 100Hz/7.123k 4:1
SMPTE 25Hz/7k 5:1
SMPTE 30/60/1k/7k/13k 4:4:1:1
etc.
Similarly, you can modify the standard DIN tests:
DIN 300Hz/7k 4:1
DIN 250/1k/7k 4:1:1
A single sinewave at a specific frequency
Format: Name freq
Examples:
Sin_100hz 100
MySine 100Hz
NewTest 15kHz
Test_15k 15k
Multiple sinewaves
Multiple sine frequencies can be specified by separataing them with a forward slash:
Format: Name freq1/freq2/.../freqN
If you want to change the amplitude ratios between the multiple frequencies, these can be added after the frequency list, separated by ‘:’
Format: Name freq1/freq2/.../freqN ratio1:ratio2:...:ratioN
Ratio 4:1 for example specifies that the first sinewave will have 4x the amplitude of the second one. If ratios are omitted, all sinewaves specified will have the same amplitudes (equivalent to 1:1:…:1)
Examples:
MT_Test1 100Hz/13kHz
MT_Test2 20/100/13k/13.1k/15k
MT_Test3 100Hz/13kHz 4:1
MT_Test4 20/100/13k/13.1k/15k 1:4:1:1:1
Adding a square wave
You can specify at most one square wave frequency in your test signal. This is done by preceding the very first frequency with ‘sq:’. One square wave can be mixed with multiple sinewaves, if desired.
Examples:
SQT_OneSqWave sq:100.5Hz
SQT_OneSqWave_and_3_sines sq:100/13k/13.1k/15k
SQT_Test3 sq:1000Hz/13kHz 4:1
SQT_Test4 20/100/13k/13.1k/15k 1:4:1:1:1
Configuring variable expressions
Multitone 1.0.49 introduced the ability to customize title and results display with your own calculations and formatting. This feature is documented here.
Changes in 1.0.82
- Change: Multitone generation with decoherent setting will now produce a more dense set of tones in the lower frequencies
- Add: setting for Phase plot display to remove constant group delay
- Fix: phase plot result showed absolute phase reversed
Changes in 1.0.80
- Add: HTML files with tables generated for each step, group or sweep in the test plan, with detailed results
- Add: Cool-down threshold setting to allow cool-down period to be observed only above certain measured RMS value
- Add: Option to turn off individual sample markers in Waveform and Sweep plots
- Add: Measurement duplicate button in Test Plan editor window
- Change: test plan execution window now support selecting one or more individual measurements to perform
- Change: FM test signals now support exact/fractional frequencies and phase specification using ‘@’
- Fix: occasional window resize/reposition after a test plan completes
Changes in 1.0.79
- Add: group plots in test plan by specifying Plot Group and Group Plot label
- Add: zoom-in and out using scroll-bars in the zoom window
- Fix: regression from .78: linearity sweep was broken due to new fractional frequency logic
- Fix: window position can change during test plan execution if window was moved during plan creation
Changes in 1.0.78
- Fix: noise and SNR calculations (were +3dB previously)
- Fix: DIM 30/100 test signal specification (and others) that include a decimal point didn’t work with some regional settings using comma
- Change: test signals that include a phase specification will now use the exact frequency and not one centered on an FFT bin (1khz@45, for example)
Changes in 1.0.77
- Fix: square wave measurements regression
- Add: support for custom setting note in plot image capture/save and as part of test measurement
- Add: Intersample over test presets @ 44.1k
- Add: sinc interpolation option to test plan settings under Chart section
- Fix: sinc interpolation didn’t scale properly in the waveform plot when Fs-in didn’t equal Fs-out
Changes in 1.0.76
- Fix: reported issues with Test Plan editing/execution
- Add: Pause message before and after test step execution, fit all data option, {testName} variable
- Add: watermark setting
- Add: DIM 30, DIM 100, CEA2006/CE2010/EAJ Burst signals
- Add: Log-time axis plot
Changes in 1.0.75
- Add: Test Plan edit and execution
- Fix: level sweep X-axis labeling when measured in units other than dBFS/dBr
- Change: ASIO device driver that’s not available or not working will be shown in red when selected
Changes in 1.0.74
- Add: ability to change units (dBFS/dBr/V/W/dBW/dBV) in level sweep horizontal (X) axis
- Add: save and restore level and frequency sweeps from history
- Change: level sweep horizontal axis to use log spacing with non-dB units
- Change: level sweep horizontal axis to show measured (input) RMS values instead of generated
- Fix: ASIO drivers could throw an exception when playback is stopped
- Fix: IMD calculation for two or more tones
- Change: TIM test signals will now use DIN IMD calculation method (ref. last tone)
Changes in 1.0.71
- Add: support for phase specification in test signal format (for example, 1kHz@90)
- Add: ability to unlock aspect ratio when copying plot to clipboard or saving to file
- Add: measurement bandwidth controls (low/high) under Measurement settings to separate measurement from display bandwidths
- Change: better labels selection for linear frequency axis
- Change: add a significant digit to frequency axis labels
- Change: bandwidth selector changed to work consistently across all chart types
- Change: allow mixing of different sampling rates and FFT sizes from history on the same plot
- Change: multitone IMD calculation switched to using CCIF method. Previously the default was SMPTE
- Change: new property section created ‘Device’, with in/out device settings moved to it from Test Signal
- Change: number tracker display always uses black text on light blue background now, regardless of contrast setting
- Fix: certain test signals exceeding 0dBFS previously would result in a missing fundamental, now clipped to 0dBFS
- Fix: IMD, Noise, SNR calculations didn’t work correctly with variable amplitude multitones (e.g., FM signals)
Changes in 1.0.67
- Add: Frequency response/phase/Impulse response analysis from noise signals
- Add: History selecton now updates FR/phase/IR plots
- Add: History now allows measurements to be overlayed even those produced using different FFT sizes
- Add: Mouse movement over the curve in any of the plots will automatically display the X and Y values for that point
- Add: Linear-Chirp test signal
- Add: additional position selector options for placing the legend on the plot
- Fix: Warm-up now works correctly with chirps and noise signals
- Fix: periodic noise generation (white and pink + bandlimited) corrected
Changes in 1.0.65
- Add: Log-Chirp test signal
- Add: Impulse Response measurement plot from Log-Chirp
- Add: Frequency and Phase response computation from Log-Chirp
- Add: Frequency Response (log-chirp) and Impulse Response (log-chirp) presets
- Add: Voltage calibration pop-up window
- Add: Test signal export to a file window with choice of bits, sample rate, duration, and channels to include
- Add: Right-click in the plot area brings up a menu to hide/show/delete individual elements
- Add: Clipboard and File image capture with options window added with support for JPEG, PNG, and SVG file formats
- Add: Continuous signal generation by clicking on the speaker icon
- Add: Menu bar at the top of the window to simplify discovery and access to many features, some accelerator keys added
- Add: Support for 16-bit WASAPI drivers
- Add: Color assigned to channel 1 and 2 shown next to the Show 1 and 2 checkboxes
- Add: Color selector for Measurements 1 and 2
- Change: Recording start/stop behavior to capture as much of the test tone as possible
- Change: history checkbox now adds both channels to the plot if two channel signal was recorded
- Change: drag and drop a WAV file for measurement can now be dropped on the Spectrum plot for analysis
- Change: Multitone high/low frequency selector, also used for Log-Chirp and Noise generators is now moved to Test Signal section
Changes in 1.0.60
- Add: Multiple measurement presets preconfigured for specific types of measurements, one-click selection of all the settings
- Add: Custom transfer function configuration with harmonic frequency and phase selector for generating specific distortions
- Add: table viewer and exporter for frequency and level sweep results
- Add: RIAA anti-correction for measuring RIAA equipped devices, such as phono stages
- Change: IMD calculation to work faster with larger multitones
- Change: Multitone logo added to the top of plots
- Fix: invert channel option didn’t invert
- Fix: summary measurement settings text was missing from plot image when copied to clipboard
Changes in 1.0.57
- Add: Jitter Peak and RMS measurements (as results variable, in the distortion display and in sweep plot variable selection)
- Add: Information panel with random signals
- Change: additional FFT sizes in the drop-down list (start with 4k)
- Add: Zoom window for manual plot adjustments
Changes in 1.0.56
- Add: RMS and RMS(A) result display
- Add: IMD (multitone) distortion panel that includes TD+N, SFDR, Noise, IMD, ENOB and other results
- Fix: Missing information text on copy plot to clipboard
- Change: backround display for the distortion information panel
- Change: auto-adjust result button display to fit all the text
- Change: Improved IMD calculation now works with multitones with up to 64 tones (was max of 5 previously)
Changes in 1.0.55
- Add: support for measuring difference between two channels (“L-R” input selector). Added to spectrum, frequency response, phase, and waveform plots
Changes in 1.0.54
- Change: improved method to find the initial sample alignment between test signal and captured waveform
- Change: THD/distortion panel now shows THD relative to the fundamental, regardless of the selected units
- Fix: calibration file was not applied in spectrum plot after capture
- Fix: phase plot custom titles not preserved after measurement
Changes in 1.0.53
- Add: support for DSD test signal playback over DOP, supporting DSD64, DSD128, DSD256
- Add: phase plot, calculated when using multitone test signals and the same ADC/DAC sample rate
- Add: Higher sampling rates up to 768k (possibly higher, if your device(s) support it)
- Add: File drag-and-drop (on test signal drop-down) feature to measure files without DAC/ADC loopback
- Fix: when displaying spectrum captured in stereo mode, show full bandwidth of the captured signal