Skip to content
SirusDoma edited this page Sep 11, 2018 · 9 revisions

Genode.Audio

Genode.Audio a simple yet powerful Cross-platform Audio Engine which is provides audio playbacks, recording, decoding and encoding capabilities. Written under C# language based on OpenAL (with OpenTK binding).

The initial idea of the engine is to serve a certain rhythm game project. Therefore, the engine has very low latency due to satisfy the game requirement.

In addition to low latency, the playback also utilize it's own native handle pool. As the result, this allow the user to overcome sound instancing problem of OpenAL. While there's no limit of the number instantiated Sound object, OpenAL limitation still there. The engine will only able to handle 256 of playing SoundChannel simultaneously.

Refer to following Documentation to get started, from a simple playback to extending your own streaming implementation:

Getting Started

  1. Initialization
  2. Creating and Playing Sound object
  3. Modify audio properties
  4. SoundSystem update housing
  5. Record audio from your mic
  6. Clean up

Extending Audio Engine

  1. Extend Audio Engine capabilities
  2. Creating your own SoundReader
  3. Creating your own SoundWriter
  4. Stream music with your own SoundStream implementation
  5. Customize your own SoundRecorder