Download Latest Version spectrumViewer_1.50.7z (24.4 MB)
Email in envelope

Get an email when there's a new version of SpectrumViewer for Windows

Home
Name Modified Size InfoDownloads / Week
readme.txt 2025-12-21 5.5 kB
spectrumViewer_1.50.7z 2025-12-21 24.4 MB
spectrumViewer_1.40.7z 2025-01-06 26.4 MB
spectrumViewer_1.30.7z 2023-09-25 31.2 MB
spectrumViewer_1.21.7z 2022-12-31 31.5 MB
spectrumViewer_1.20.7z 2022-12-25 30.9 MB
spectrumViewer_1.10.7z 2022-08-13 22.0 MB
spectrumViewer_1.00.7z 2022-07-24 15.5 MB
Totals: 8 Items   181.9 MB 14
Installation    Decompress the archive. Best to avoid spaces in the path.
GUI startup     Run the single included executable, located here:
                app\x64\Release\out\spectrumViewer.exe
Demos           Run each batch file in the demo directory. Check the output
                against the included png screen capture.
Command line    In the demo directory, run setpath.bat.
SendTo shortcut Run app\AddSendToShortcut.bat.
Rebuild source  app\project.sln (Visual Studio 2026)


Revision History

12/21/2025 version 1.50
    1) Replace DF-1 IIRs with DF-2 (transposed) for big efficiency gain.
    2) Additional vectorization:
       a. The periodic filer bank snapshot operation is now vectorized.
       b. Display overlay application is now vectorized.
    3) Additional EMA stage options. EMA can be slighty more efficient
       than IIR for the PwrLPF.
    4) Improve video frame sync for better efficiency and throughput.
       Variable frame rate is not supported. The app targets the frame
       rate reported by the OS at startup.
    5) New automatic gain control algorithm with minimal controls.
    6) Zoom feature (command line only) zooms in on a frequency range.
    7) Some work-arounds to support Visual Studio 2026.
    8) Visual Studio target instruction set reduced from AVX to SSE2.
       In theory this allows older computers to run this app (untested).
    9) Actual sample rate replaces measured sample rate in status box.
   10) Remove buffer usage status box.
   11) Command line option 'pause=' now uses seconds instead of column count.

01/05/2025 version 1.40
    1) AVX vectorization for filter bank increases efficiency.
       AVX-512, AVX-2 and AVX for 8, 4, or 2 FMAs per instruction.
    2) Various other improvements, simplifications, and bug fixes.

09/24/2023 version 1.30
    1) New command line option 'pause=' sets the number of lower pane
       scrolling columns to draw before automatically pausing. The column
       numbering is displayed in the lower pane Ctrl activated crosshair
       tooltip help.
    2) New command line option 'wavespeed=' sets an adjustment to the
       wave file playback speed. Values greater than one accelerate the
       playback, while values less than one slow the playback.
    3) Q slider setting is no longer disturbed by frequency scale change.
    4) The Ctrl activated crosshair cursor tooltip now includes music
       note name and midi value (440 Hz equal tempered scale).
    5) Fixed bug where typing new Q slider value changes the slider but
       doesn't acutally change the filter Q.

12/31/2022 version 1.21
    1) Changes to command line functions only:
    a. Added multitone directory (in demo dir) and corresponding support
       in the excutable.
    b. Added dumpwave command to extract and print a range of samples from
       a wav file.
    c. Tweaks to fft and dft commands. The logging level threshold is now
       settable from the command line.

12/05/2022 version 1.20
    1) Faster startup: When no wave file is given, spectrumViewer checks
       each audio input for sample rate support. To reduce the time this
       takes, a shortened list of sample rates is now used. The original
       expanded rate list can be selected with a command line option or
       environment variable.
    2) Q slider changes:
        a. Slider range now 0-100% with calculated min and max values
           for improved useful range and suitability of defaults.
        b. Remove qtype combo box and set automatically for fixed width
           peak across display for both log and linear frequency scales.
        c. Add edit box for numeric display/entry of Q slider position.

    3) Add fft command for fast double precision DFT of wave file. 
    4) Add dft command for exended precision DFT of wave file.
    5) Selectable precision for sine wave generation.
    6) Logarithmic option for sweep sine wave generation.
    7) Phase option for periodic wave generation.
    8) Improve the gain deadband logic.
    9) Switched project from Visual Studio 2019 to Visual Studio 2022.
    10) Switch to current version of libsndfile (1.1.0 - 2022-03-27).
     a. Modification: remove timestamp from PEAK_MARKER for repeatability.
     b. Modification: preserve output level when converting samples to int.
    11) Fix linker warnings about pdb file location.
    12) Increase number of digits displayed in edit boxes and tool tips.
    13) Improve scale labeling. Log mode frequency now shows subdivisions
        between powers of 10, but is limited to a single level.
    14) Crosshair cursor tooltip now stays inside the main window.
    15) Small improvements and bug fixes.

08/13/2022 1.10 
    1) Add numbering to log and linear frequency and dB scales.
    2) Fix pause mode to repaint window when needed.
    3) Add deadband to automatic gain control.
    4) Reduce wave file sine generation from 256 bits to 128 bits.
       Performance is increased with no effect on output file.
    5) Reduce sine argument before each call to mpfr library when 
       generating wave file. Performance improvement, output unaffected.
    6) Change portaudio library so that no random number is written
       to wave file header for floating formats. This changes is needed
       so that generated wave files can be reproduced 100% bit perfect.
    7) A few other small changes and improvements.

07/23/2022 1.00
    Initial release
Source: readme.txt, updated 2025-12-21