A handy tool for DIY audio projects and all kinds of sound experiments
- Automatic and manual sweeping of the audio frequency spectrum to determine the system's frequency response
- Easy generation of any specific sound frequency to test audio equipment or identify unwanted resonances
- Live FFT graph with selectable FFT size, window functions, and post-processing stages
- Input and output device selection
- 8 separate spectrum buffers for result comparison
- Export of results to PNG or CSV files
- Portable
- Dark and light themes
- Automatic frequency peak detection
Simple Audio Sweeper uses the following libraries:
- SoundDevice — interaction with system audio hardware
- NumPy — audio processing and FFT analysis
- DearPyGui — GUI framework
- PyInstaller — building the portable executable
- Make sure the microphone and speakers are connected and enabled in the system.
- Select an API. The same physical hardware is often available through different APIs. If available, start with the recommended API:
- Windows — WASAPI or WDM-KS
- Linux — ALSA
- Select the Output and Input devices. The default device is marked with an asterisk (*) in the device selection dropdown tooltip. The default device may not always be the best choice and may not work correctly in all cases.
- Click and hold the left mouse button on the graph. Sound should be generated by the speakers and captured by the microphone. Be mindful of the volume levels set in the system mixer and hardware.
- Enable debug information (F11) to monitor key parameters, especially latency.
- Latency and block size are the key factors for the responsiveness of signal generation (Output) and analysis (Input).
- The Latency parameter in the "Audio Interface" section is the value passed directly to the SoundDevice API. The latency shown in the debug panel is an estimated time value that results from multiple compounding factors.
- Lower values may, in theory, improve responsiveness but can result in sound distortion and incorrect analysis results.
- Adjust the values to achieve the lowest latency while maintaining clean sound. A measured latency in the range of 0.01s–0.03s is ideal for modern hardware.Values around 0.1s are considered laggy.
The microphone and speakers must be connected and configured. Audio from the speakers must be captured by the microphone.
With the mouse cursor on the frequency graph:
- Hold down the left mouse button to generate a specific frequency
- Right-click to lock the frequency
- Use the scroll wheel or arrow keys to adjust the locked frequency
- Start a frequency sweep using the action icon at the bottom
With keyboard:
| Key | Action |
|---|---|
| H | Show help |
| Backspace | Clear console |
| F12 | Toggle settings |
| F11 | Toggle debug info |
| 1–8 | Toggle the visibility of the corresponding spectrum buffer (track) |
| Ctrl | Enable recording into the selected buffer (track) |
| F | Toggle FFT |
| F1 / F2 | About / License |
| L / D | Light / Dark theme |
| V | Toggle VSync |
| P | Toggle peak detection |
| S / C | Save screenshot / CSV |
| Arrow keys | Adjust the locked frequency |
| F3 / Shift+F3 | Cycle FFT size |
| F4 / Shift+F4 | Cycle FFT window function |
| F5 / Shift+F5 / Ctrl+F5 | Cycle values / Toggle FFT Frequency Band Averaging (FBA) |
| F6 / Shift+F6 / Ctrl+F6 | Cycle values / Toggle FFT Smoothing |
| F7 / Shift+F7 / Ctrl+F7 | Cycle values / Toggle FFT Time Domain Averaging (TDA) |
| space | pause |
FFT chart is enabled but flat
- Check if a microphone or other input source is connected and selected. The Input icon should turn green when active.
The sound is choppy and distorted
- Enable debug information and verify that the OUT and IN sample rates
match the selected devices' output and input sample rates.
If they do not match, try:
- Disabling VSync
- Increasing the latency and block size of the devices
- Reducing the number of active FFT processing stages or disabling it entirely
CPU consumption is high
- VSync is disabled by default and the application refreshes the GUI as fast as possible. Enabling VSync will reduce CPU load in most cases, at the cost of a slight increase in latency.
- The FFT size may be too large. Reducing the FFT size decreases the number of calculations, while enabling FBA (Frequency Bin Aggregation) reduces the number of GUI objects to render.
Any other problems
- Try reinitializing the device or the entire audio interface.
- Close other applications that may be using the audio device.
- Delete the configuration files from the data folder and restart the application.
- Report a bug. It is impossible to predict all possible hardware and software configurations. Please open an issue on GitHub and share logs and screenshots to help diagnose the problem.
Ensure silence during analysis — only the sound emitted by the speakers should be recorded. The resulting characteristics will reflect the combined response of the microphone, speakers, and all other components in the audio path. For example, when analyzing an amplifier with speakers, the microphone's frequency response should be more accurate than that of the speakers being measured.
Portable executable packages for Linux and Windows can be downloaded from the Releases.
- Linux
- Windows (10,11)
- Simple Audio Sweeper is licensed under MIT License
Reference to potential problems with Windows Defender and other antivirus programs.

