From 188fbffafda0942014b12dd2e2313ad139bcd1cc Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Thu, 12 Sep 2024 20:35:24 +0200 Subject: add some audio research --- research.tex | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'research.tex') 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} -- cgit v1.2.3