Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mv10/eyecandy
.NET library for processing audio playback as OpenGL textures
https://github.com/mv10/eyecandy
audio audio-visualization openal opengl
Last synced: 22 days ago
JSON representation
.NET library for processing audio playback as OpenGL textures
- Host: GitHub
- URL: https://github.com/mv10/eyecandy
- Owner: MV10
- License: mit
- Created: 2023-07-07T19:48:28.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-04T15:38:47.000Z (3 months ago)
- Last Synced: 2024-12-04T17:54:14.173Z (about 2 months ago)
- Topics: audio, audio-visualization, openal, opengl
- Language: C#
- Homepage:
- Size: 223 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# eyecandy [![NuGet](https://img.shields.io/nuget/v/eyecandy.svg)](https://nuget.org/packages/eyecandy)
**.NET library for processing audio playback as OpenGL textures**> Version 3 _does not_ require audio loopback drivers for Windows! Loopback is internal!
If you're interested in audio visualization similar to the old WinAmp plugins (Milkdrop!), or more recently, websites like [Shadertoy](https://www.shadertoy.com/) or [VertexShaderArt](https://www.vertexshaderart.com/), then you've come to the right place. Although this is a fully independent library, it is the foundation for the [monkey-hi-hat](https://github.com/MV10/monkey-hi-hat) music visualization application, and the accompanying shaders in my [Volt's Laboratory](https://github.com/MV10/volts-laboratory) repository.
This library does all the hard work of capturing live-playback audio and producing different representations of the sound data as OpenGL textures. On modern Windows 10 64-bit hardware, 4-digit frame rates are not unusual. While Linux isn't officially supported yet, it does work, and it performs well enough that I have used it on a 32-bit Raspberry Pi4B, in some cases attaining 200+ FPS (due to poor/limited GPUs, the Pi will not be supported even after Linux support is officially available).
Please refer to the repository [wiki](https://github.com/MV10/eyecandy/wiki) for usage, configuration, and other details. The `demo` project is also a good reference, and the library's public API is fully documented. There is even more information in the [monkey-hi-hat](https://github.com/MV10/monkey-hi-hat) wiki that will be of interest to library consumers.
## Demos
The repository's demo project has a lot of useful utilities, and illustrates different ways to use the library. Here is the help output (run the demo program without args to see this):
```
demo [type] [options][type]
peaks Peak audio capture values (use for configuration)
text Text-based audio visualizations
history Raw history-texture dumps
wave Raw PCM wave audio visualization
freq Frequency magnitude and volume history (multiple shaders)
vert VertexShaderArt-style integer-array vertex shader (no audio)
frag Shadertoy-style pixel fragment shader
webaudio Compares WebAudio pseudo-Decibels to pure FFT Decibelsinfo OpenAL information (devices, defaults, extensions, etc.)
(Windows requires a loopback driver; no WASAPI equivalent)[options]
F Full-screen mode
P Output Process ID
O Windows: Capture audio with OpenAL-Soft instead of WASAPI
```