summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2020-02-09 21:46:46 +0100
committerBent Bisballe Nyeng <deva@aasimon.org>2020-02-09 21:48:02 +0100
commit7e78ab7b9abb11610e7cac4e211aee5341893c9b (patch)
tree642fcb3c5c84f7ed62745cbc3f040c437d2ab376
parent386dc049ed661feffd72d53c5e1045b142764eb2 (diff)
Add shot introduction.
-rw-r--r--sampling_alg_lac2020/LAC-20.tex21
1 files changed, 12 insertions, 9 deletions
diff --git a/sampling_alg_lac2020/LAC-20.tex b/sampling_alg_lac2020/LAC-20.tex
index 93b63dd..77976b8 100644
--- a/sampling_alg_lac2020/LAC-20.tex
+++ b/sampling_alg_lac2020/LAC-20.tex
@@ -279,11 +279,7 @@
\subsection{Related Work}
\todo{I don't really know what to write, except about round robin. Is there any other common method or any academic literature? Are there other methods in open source programs?}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\todobent{Discuss DGs old sampling algorithm briefly.}
-
+%\todobent{Discuss DGs old sampling algorithm briefly.}
The engine gets a value $l \in [0,1]$ which must then be used by the
engine for deciding how the output should be produced.
Some engines use this value as a gain factor but in the case of
@@ -346,8 +342,7 @@ To the best of our knowledge, this is the first academic article that deals with
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\todobent{Talk about how the drum kit samples are usually created;
-very briefly.}
+%\todobent{Talk about how the drum kit samples are usually created; very briefly.}
Drum samples are cut from recordings of drums with multiple
microphones.
Each hit on a drum must be distinguishable from the others and can
@@ -384,7 +379,7 @@ Secondary channel .
Sample offset Sample end
\end{verbatim}}
-\todobent{Talk about loudness computation of samples.}
+%\todobent{Talk about loudness computation of samples.}
A sample has a \textit{stroke power} which is the physical power used
by the drummer when making that particular hit.
Since this is not something that can be easily measured each sample
@@ -513,7 +508,15 @@ First, note that all extreme choices of the parameters -- meaning that we set on
\paragraph{Round Robin.} The previously mentioned emulations were straight forward, however, the arguably most commonly used sample selection algorithm in practice is round robin. As already discussed in Section \ref{sec:introduction}, round robin assumes the samples to already be grouped. In our case this means that samples $s_1, \dots,s_k$ that belong to the same velocity group should all have the same power value, i.e., $p_{s_1} = \cdots = p_{s_k}$. Now if there is a query with power value $p$, we want to always choose the closest group of samples, thus $\alpha$ should be huge. After restricting to the samples of a specific group, we now always want to play the oldest sample, thus we simply want $\beta > 0$. If we additionally want to randomize round robin in a way that we sometimes choose the second or third oldest sample, then we want to set $\gamma$ to a small value greater than zero. \todoandre{improve last few sentences.}
\section{Implementation} \label{sec:implementation}
-\todobent{Give a short introduction to DrumGizmo, including a link to the git repository.}
+%\todobent{Give a short introduction to DrumGizmo, including a link to the git repository.}
+DrumGizmo is an open source, cross-platform, drum sample engine and
+audio plugin aiming to give the best possible sound from the least
+effort when doing drum programming.
+The source-code is available though git at:\\
+\verb|git://git.drumgizmo.org/drumgizmo.git|\\
+and the source code can be browsed online here:\\
+\verb|http://cgit.drumgizmo.org/drumgizmo.git/|
+
\todo{Talk about the timeline, i.e., when were the releases and what is still unreleased?}
% \todoandre{Talk about how the sampling algorithm was implemented. What do we need to store?}