this tool visualizes audio input

Overview

audiovis

I tried to create a high quality classic audio visualiser with cpal as audio backend and wgpu as accelerated video frontend

demo

bar visualisation string visualisation

Supported Platforms

I primarily work on Linux so there will be the best support, but I try to keep portability in mind

Feature Windows 10 Linux macOS
DefaultAudioInputStream Supported Supported ?
DesktopAudioInputStream - WiP -
BarVisualisation Supported Supported Supported
StringVisualisation Supported Supported Supported

As you can see I could not figure out how to capture the Desktop Audio as Default Input-stream on any Platform,

You currently have to manually redirect your Desktop audio to your default input device, guide for linux

but I am trying to get it working on Linux.

And I am too poor and lazy to test it on macOS but it should work fine.

It should also be possible without much work to port it over to the web but I never did something like this.

Features

already implemented
  • 2-color bar coloring
  • volume control
  • string and bar visualisation
  • configurable buffering and smoothing via config.toml
  • configurable higher scaling of lower frequencies for a better look
  • selectable amount of frequencies that should be displayed (0 - 20.000)
WiP
  • automatically selecting Desktop output-audio-stream as input-stream (not sure if it is even possible)
  • modifiable config via userinput during runtime
  • selecting sampling rate of audio-stream
  • inbuilt mp3 and wav player
You might also like...
CLI Rust Audio Visualizer
CLI Rust Audio Visualizer

crav Console-based Rust Audio Visualizer It can run in the terminal but also has a 3D accelerated backend implemented in wgpu. demo compatibility The

Simple examples to demonstrate full-stack Rust audio plugin dev with baseplug and iced_audio
Simple examples to demonstrate full-stack Rust audio plugin dev with baseplug and iced_audio

iced baseplug examples Simple examples to demonstrate full-stack Rust audio plugin dev with baseplug and iced_audio WIP (The GUI knobs do nothing curr

A low-level windowing system geared towards making audio plugin UIs.

baseview A low-level windowing system geared towards making audio plugin UIs. baseview abstracts the platform-specific windowing APIs (winapi, cocoa,

MVC audio plugin framework for rust

__ __ | |--.---.-.-----.-----.-----.| |.--.--.-----. | _ | _ |__ --| -__| _ || || | | _ | |

simple-eq is a crate that implements a simple audio equalizer in Rust.

simple-eq A Simple Audio Equalizer simple-eq is a crate that implements a simple audio equalizer in Rust. It supports a maximum of 32 filter bands. Us

A very simple audio synthesizer with a tuix gui
A very simple audio synthesizer with a tuix gui

In this tutorial we'll create a very simple audio synthesiser application from scratch with a ui using tuix. The finished code for this tutorial can b

A simple GUI audio player written in Rust with egui. Inspired by foobar2000.

Music Player A simple GUI music player inspired by foobar2000 written in Rust using egui. The goal of this project is to learn about making gui/ nativ

Rust Audio Player Daemon

Rust Audio Player Daemon Cause mpd was annoying What rapd trys to do Rapd is not a spotify client, or an advanced music player. Its an audio/music dae

A node based audio effects thing
A node based audio effects thing

DSP Stuff A node based audio effects thing. Usage Run with cargo run --release --features gpl_effects (customize the feature flags as you wish) If you

Comments
  • Do print ALSA or JACK errors

    Do print ALSA or JACK errors

    https://github.com/BrunoWallner/audiovis/blob/427332db6fa46f1b1c7ad3ebd512d237ddba205c/src/audio.rs#L15-L16 The errors are spurt out for some reason. Mostly because of the user fault in proper interaction with the API.

    opened by xsbee 0
Owner
null
Cross-platform audio I/O library in pure Rust

CPAL - Cross-Platform Audio Library Low-level library for audio input and output in pure Rust. This library currently supports the following: Enumerat

null 1.8k Jan 8, 2023
Rust audio playback library

Audio playback library Rust playback library. Playback is handled by cpal. MP3 decoding is handled by minimp3. WAV decoding is handled by hound. Vorbi

null 1.2k Jan 1, 2023
Rust bindings for the soloud audio engine library

soloud-rs A crossplatform Rust bindings for the soloud audio engine library. Supported formats: wav, mp3, ogg, flac. The library also comes with a spe

Mohammed Alyousef 38 Dec 8, 2022
A collection of filters for real-time audio processing

Audio Filters A collection of filters for real-time audio processing Feature Progress #![no_std] (via libm) f32 & f64 capable (via num-traits) SIMD Do

null 42 Nov 5, 2022
A discord.py experimental extension for audio recording

discord-ext-audiorec This project is currently under development. We do not guarantee it works.

Tomoya Ishii 11 Jan 2, 2023
Implements the free and open audio codec Opus in Rust.

opus-native Overview Implements the free and open audio codec Opus in Rust. Status This crate is under heavy development. Most functionality is not wo

Nils Hasenbanck 9 Nov 28, 2022
An open-source and fully-featured Digital Audio Workstation, made by musicians, for musicians

Meadowlark An open-source and fully-featured Digital Audio Workstation, made by musicians, for musicians. *Current design mockup, not a functioning pr

Meadowlark 1k Jan 7, 2023
Symphonia is a pure Rust audio decoding and media demuxing library supporting AAC, FLAC, MP3, MP4, OGG, Vorbis, and WAV.

Pure Rust multimedia format demuxing, tag reading, and audio decoding library

Philip Deljanov 1k Jan 2, 2023
A simple CLI audio player with strange features.

legacylisten legacylisten is a simple CLI audio player I wrote because no existing one fulfilled my needs. The main feature is that you can change how

Matthias Kaak 3 Jun 8, 2022
Rust - Augmented Audio Libraries

Augmented Audio Libraries In this repository I'll push some experiments trying to use Rust for audio programming. Goals Goal 1: Learn & have fun This

Pedro Tacla Yamada 116 Dec 18, 2022