Audio inspector for waveform, spectrogram, playback, loop selection, loudness, and metadata review.
- Install the extension.
- Open a supported audio file.
- If needed, right-click the file and choose Open in audioscope, or run
audioscope: Open in audioscope.
audioscope is a read-only custom editor for audio files inside VS Code.
- Open supported audio files in a dedicated audio editor
- Inspect synchronized waveform and spectrogram views
- Switch between spectrogram, mel-spectrogram, MFCC, scalogram, and chroma analysis
- Seek with the timeline or
-5s/+5sbuttons - Control playback speed from
0.5xto2x - Zoom the waveform, follow playback, and set loop ranges by dragging
- Review metadata such as codec, container, duration, sample rate, bitrate, channels, tags, and chapters
- View loudness summary values including integrated LUFS, LRA, sample peak, and true peak
- Use bundled FFmpeg and ffprobe WASM tools, so no system ffmpeg install is required at runtime
Note
VS Code Media Preview can still take precedence for some extensions on first open, especially .mp3, .wav, and .ogg files.
.wav, .wave, .mp3, .ogg, .oga, .flac, .m4a, .aac, .opus, .aif, .aiff
- Synchronized waveform viewer
- Timeline scrubber and overview strip
- Play / pause controls
- Seek backward and forward by 5 seconds
- Playback speed control
- Follow playback mode
- Loop selection and loop handles
- Waveform zoom controls
- Spectrogram visualization
- Audio analysis uses WebGPU when available, with WASM fallback for unsupported environments
- Spectrogram, mel-spectrogram, MFCC, scalogram, and chroma analysis are computed from a mono downmix of the source audio
- FFT size controls
- Overlap ratio controls
- Window function selection
- Frequency scale controls
- Colormap distribution controls
- Decibel range controls
- Mel band count controls
- MFCC coefficient controls
- Scalogram omega0 control
- Audio metadata summary
- Codec name and long name
- Container / format information
- Duration, size, bitrate, sample rate, and channel layout
- Tags and chapter data
- Loudness analysis with LUFS, LRA, Peak, and True Peak
- FFmpeg / ffprobe tool status and fallback guidance
audioscope.spectrogramQuality:balanced | high | maxaudioscope.spectrogramDefaults: persisted defaults for analysis controls, including advanced scalogram defaults when edited in settings JSONaudioscope.openSampleOnStartupInDevelopment: open the bundled sample on startup in development mode
audio inspector, waveform, spectrogram, mel, mfcc, scalogram, chroma, playback, loop, metadata, loudness, LUFS, integrated LUFS, EBU R 128, LRA, mp3, wav, flac, m4a, ogg, aac, opus, aiff, aif
Build prerequisites:
bunzig0.15+- Emscripten toolchain
- FFmpeg submodule checkout
Build from source:
bun install
git submodule update --init --recursive
bun run compileThe full build compiles:
- embedded FFmpeg / ffprobe WASM tools
- analysis WASM binaries
- webview bundles
- extension host output
This repository includes vendored and third-party source.
src-wasm/third_party/ffmpegThe FFmpeg source tree vendored as a submodule and used to build the embedded FFmpeg / ffprobe WebAssembly binaries. Upstream repository: https://github.com/FFmpeg/FFmpegsrc-wasm/third_party/pffftPFFFT and FFTPACK-based FFT code used by the analysis WASM runtime. Original PFFFT repository: https://bitbucket.org/jpommier/pffft/src-webview/vendor/SignalsmithStretch.mjsVendored Signalsmith Stretch Web module used for time-stretch playback in the webview transport path. Official upstream: https://signalsmith-audio.co.uk/code/stretch.git GitHub mirror: https://github.com/Signalsmith-Audio/signalsmith-stretch
Licensing and attribution details for bundled third-party code are documented in THIRD_PARTY_NOTICES.md. FFmpeg rebuild notes and revision details are documented in FFMPEG_SOURCE.md.
MIT
