diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-09-12 20:35:24 +0200 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-09-12 20:35:24 +0200 |
commit | 188fbffafda0942014b12dd2e2313ad139bcd1cc (patch) | |
tree | 043b59a7a1943331a87684b65d1c1dc9d6c04246 | |
parent | ee4743d28d81d9ba892597d1bdf5238c5c483697 (diff) |
add some audio research
-rw-r--r-- | research.tex | 34 | ||||
-rw-r--r-- | time.txt | 1 |
2 files changed, 35 insertions, 0 deletions
diff --git a/research.tex b/research.tex index 00b006d..ad33d10 100644 --- a/research.tex +++ b/research.tex @@ -207,6 +207,40 @@ for audio some options could be: FMOD, Wwise, or iirKlang % should audio research be scoped down to SDL2 (if that's what we're going with) or % standalone libraries only (for modularity?). +The game engine is required to have an audio system with support for playing multiple +audio streams (i.e.~tracks or samples) simultaniously. Since writing a custom live +audio mixing engine is outside the scope of this project, this section compares +various standalone audio engines that could be used in the engine. + +% TODO: requirements first! + +% REQ ~ is cross-platform +% REQ ~ supports multiple audio formats (TODO: which) +% REQ ~ supports simultanious playback / mixing +% REQ ~ has an open-source license +\begin{table} + \centering + \begin{tabular}{llc} + \toprule + \textbf{Library} & \textbf{License} & \textbf{API}\\ + \midrule + miniaudio & MIT-0 & C\\ + YSE & EPL & C++\\ + SoLoud & Zlip/LibPng & C++\\ + \bottomrule + \end{tabular} + \caption{Audio engine library comparison} + \label{tab:audio-engines} +\end{table} +% TODO: ref https://miniaud.io/ +% TODO: ref https://www.attr-x.net/yse/ + +Not considered further: +\begin{description} + \item[FMOD] is proprietary + \item[PortAudio] requires manual mixing +\end{description} + \section{Physics} \subsection{Introduction} @@ -20,6 +20,7 @@ loek: 2024-09-10 5m docs :: update readme loek: 2024-09-10 12m docs :: add comparison package and more example latex code loek: 2024-09-10 30m project meeting loek: 2024-09-11 1h40m research :: profiling and debugging +loek: 2024-09-12 30m research :: audio max: 2024-09-02 1h project kickoff max: 2024-09-02 45m first project meeting |