diff --git a/website/img/platforms/android/android.svg b/website/img/platforms/android/android.svg new file mode 100644 index 00000000..b9d3848f --- /dev/null +++ b/website/img/platforms/android/android.svg @@ -0,0 +1 @@ +Android robot \ No newline at end of file diff --git a/website/img/platforms/apple/apple-black.svg b/website/img/platforms/apple/apple-black.svg new file mode 100644 index 00000000..2e7254d2 --- /dev/null +++ b/website/img/platforms/apple/apple-black.svg @@ -0,0 +1,11 @@ + + + + + diff --git a/website/img/platforms/bsd/freebsd.svg b/website/img/platforms/bsd/freebsd.svg new file mode 100644 index 00000000..4516c4e3 --- /dev/null +++ b/website/img/platforms/bsd/freebsd.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/website/img/platforms/linux/linux.svg b/website/img/platforms/linux/linux.svg new file mode 100644 index 00000000..16317683 --- /dev/null +++ b/website/img/platforms/linux/linux.svg @@ -0,0 +1,405 @@ + +image/svg+xml \ No newline at end of file diff --git a/website/img/platforms/web/html5.svg b/website/img/platforms/web/html5.svg new file mode 100644 index 00000000..0171e29c --- /dev/null +++ b/website/img/platforms/web/html5.svg @@ -0,0 +1,14 @@ + + HTML5 Logo + + + + + + + + + + + + diff --git a/website/img/platforms/windows/windows-10.svg b/website/img/platforms/windows/windows-10.svg new file mode 100644 index 00000000..1f42364a --- /dev/null +++ b/website/img/platforms/windows/windows-10.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/website/index.html b/website/index.html index bc68e31b..8881f03b 100644 --- a/website/index.html +++ b/website/index.html @@ -6,7 +6,7 @@
-
A single file audio playback and capture library.
+
An audio playback and capture library for C and C++.
Download miniaudio.h
@@ -15,14 +15,14 @@
- miniaudio is a single file audio playback and capture library written in C. Written from scratch, it has no - external dependencies with the exception of the C standard library and necessary platform-specific backends. + miniaudio is an audio playback and capture library for C and C++. It's made up of a single source + file, has no external dependencies and is released into the public domain.
+ + + + + + + +
-
Works Out of the Box
+
Simple Build System
Just add to your source tree and go. There's no need to install any dependencies or development packages, nor are there any build systems to waste time on. @@ -36,116 +36,216 @@
-
Simple
+
Simple API
- miniaudio has a simple, yet flexible low-level API that gets out of your way. Just initialize a - device and start sending audio data via a callback. + miniaudio has a simple, flexible and modular API that gets out of your way. +
+
+
Open Source
+
+ miniaudio is open source with a permissive license of your choice of public domain or + MIT No Attribution. +
+
+
Detailed Documentation
+
+ miniaudio has some of the best documentation + of any open source audio library and includes a suite of examples. +
+
+
And Much More
+
+ Built-in decoders, advanced mixing and effect processing, resource management, 3D spatialization, + filters, data conversion and more. +
+
+
+ +
+
Major Features
+ + + + + + + + + + + + + + +
+
Flexible and Modular API
+
+ miniaudio gives you complete flexibility. With the low level API, just initialize a connection + to the device and send or receive raw audio data. The modular design of miniaudio allows you to + use the low level API without compromising your ability to make use of other features like the + node graph and resource manager. +
+
+
Advanced Mixing and Effect Processing
+
+ miniaudio's node graph system gives you an easy way to set up advanced mixing and effect + graphs. Each node sends it's output to another node, and so on and so forth to produce all + kinds of effects. You can even implement your own custom nodes and plug them in however you + like. Plug multiple nodes into the same input node for mixing and use the splitter node for + complex routing. +
+
+
Resource Management
+
+ The resource manager is used for simplifying the hassle of dealing with the loading and management + of your audio resources. It will reference count files so they're only loaded once and handles + streaming of large audio sources to save on memory. It can even load files asynchronously and + exposes it's job system so you can handle resource management jobs from your existing job + infrastructure. +
+
+
High Level Audio Engine
+
+ The high level audio engine in miniaudio encapsulates the resource manager and node graph to give + you an easy to use API to manage sounds within a 3D scene with spatialization. The engine is a + node graph, and each sound in the scene is a node within that graph which means you can take + advantage of miniaudio's graph based effect processing and routing infrastructure.
- -
- And best of all, it's free and open-source! -
-
- You can find miniaudio on GitHub -
-
-
Features
- +
+
Platforms
+
+ + + + + + + + + + + + + + + + - - - -
+ + + + + + + + + +
+ Windows + + macOS / iOS + + Linux + + FreeBSD / + OpenBSD / + NetBSD + + Android +
-
    -
  • Supports playback, capture, full-duplex and loopback (WASAPI only).
  • -
  • Device enumeration for connecting to specific devices, not just defaults.
  • -
  • Connect to multiple devices at once.
  • -
  • Shared and exclusive mode on supported backends.
  • -
  • Backend-specific configuration options.
  • -
  • Device capability querying.
  • -
  • Automatic data conversion between your application and the internal device.
  • -
  • Sample format conversion with optional dithering.
  • -
  • Channel conversion and channel mapping.
  • -
  • Resampling with support for multiple algorithms. -
      -
    • Simple linear resampling with anti-aliasing.
    • -
    • Optional Speex resampling (must opt-in).
    • -
    -
  • -
  • Filters. -
      -
    • Biquad
    • -
    • Low-pass (first, second and high order)
    • -
    • High-pass (first, second and high order)
    • -
    • Second order band-pass
    • -
    • Second order notch
    • -
    • Second order peaking
    • -
    • Second order low shelf
    • -
    • Second order high shelf
    • -
    -
  • -
  • Waveform generation. -
      -
    • Sine
    • -
    • Square
    • -
    • Triangle
    • -
    • Sawtooth
    • -
    -
  • -
  • Noise generation. -
      -
    • White
    • -
    • Pink
    • -
    • Brownian
    • -
    -
  • -
  • Decoding (requires external single-file libraries). -
      -
    • WAV
    • -
    • FLAC
    • -
    • MP3
    • -
    • Vorbis via stb_vorbis (not built in - must be included separately).
    • -
    -
  • -
  • Encoding (requires external single-file libraries). -
      -
    • WAV
    • -
    -
  • -
  • Lock free ring buffer (single producer, single consumer).
  • -
-
-
    -
  • Your choice of either public domain or MIT No Attribution.
  • -
  • Entirely contained within a single file for easy integration into your source tree.
  • -
  • No external dependencies except for the C standard library and backend libraries.
  • -
  • Written in C and compilable as C++, enabling miniaudio to work on almost all compilers.
  • -
  • Supports all major desktop and mobile platforms, with multiple backends for maximum compatibility. -
      -
    • WASAPI (Windows Vista+)
    • -
    • DirectSound (Windows XP+)
    • -
    • WinMM (Windows)
    • -
    • Core Audio (macOS, iOS)
    • -
    • ALSA (Linux)
    • -
    • PulseAudio (Cross platform, disabled on Windows, BSD and Android)
    • -
    • JACK (Cross platform, disabled on BSD and Android)
    • -
    • sndio (OpenBSD)
    • -
    • audio(4) (NetBSD, OpenBSD)
    • -
    • OSS (FreeBSD)
    • -
    • AAudio (Android 8+)
    • -
    • OpenSL|ES (Android API level 16+)
    • -
    • Web Audio (Web, via Emscripten)
    • -
    • Null (Cross platform, not used on Web)
    • -
    -
  • -
  • Supports custom backends.
  • -
-
-
+ + WASAPI
+ DirectSound
+ WinMM + + + Core Audio + + + ALSA
+ PulseAudio
+ JACK + + + OSS
+ sndio
+ audio(4) + + + AAudio
+ OpenSL | ES + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Web + + + + + + + + + + + + + + + + + + Emscripten / WebAudio + + + + + + + + + +
{{ miniaudio-footer }}