summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2020-02-06 19:28:58 +0100
committerBent Bisballe Nyeng <deva@aasimon.org>2020-02-06 19:28:58 +0100
commit24964ea770aeb1e092de73dbbce3a6c02987dcaa (patch)
tree123d5256a7d6300902c7833a6e67fdf9115a92b2
parent27223d7a2947f3c434e90bfbcbb448a843a3146e (diff)
Add descriptions of sample cutting, main channels and power calculations.
-rw-r--r--sampling_alg_lac2020/LAC-20.tex60
1 files changed, 59 insertions, 1 deletions
diff --git a/sampling_alg_lac2020/LAC-20.tex b/sampling_alg_lac2020/LAC-20.tex
index 3d2fdae..3883158 100644
--- a/sampling_alg_lac2020/LAC-20.tex
+++ b/sampling_alg_lac2020/LAC-20.tex
@@ -332,8 +332,66 @@ This is being stored per instrument.
To the best of our knowledge, this is the first academic article that deals with the issue of selecting samples from a set of samples with \enquote{continuous power values}. To this end, we first identify important aspects that sampling algorithms in this setting have to fulfill. After we formulate those requirements and formalize them to some degree, we present our algorithm based on those requirements, which is based on computation of a multi-criteria objective function. Consequently, we give an overview over an implementation of this approach and then conduct experiments to evaluate the actual quality. As reference implementation, we use the old method by DrumGizmo -- an open source drum machine.
\section{Preliminaries}
-\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
+therefore not overlap in time.
+due to the multiple microphones used for the recording, each sample
+spans multiple channels. Due to the speed of sound in air and the
+distance from each drum towards each of the micorphones used the
+initial sample position in each of the channels will not be at the
+same place:
+{\tiny\begin{verbatim}
+Main channel
+| . .-. .
+| . / \ .-. .
+| . / \ / \ .-. .-. _ _ .
++----./-------\-----/-----\-----/---\---/---\---/-\-/-\/\/------.---
+| . \ / \ / '-' '-' .
+| . '-' '-' .
+Secondary channel .
+| . .-. .
+| . / \ .-. .
+| . / \ / \ .-. .-. _ _ .
++----.--/-------\-----/-----\-----/---\---/---\---/-\-/-\/\/----.---
+| . \ / \ / '-' '-' .
+| . '-' '-' .
+Secondary channel .
+| . .-. .
+| . / \ .-. .
+| . / \ / \ .-. .-. _ _ .
++----.------/-------\-----/-----\-----/---\---/---\---/-\-/-\/\/.---
+| . \ / \ / '-' '-' .
+| . '-' '-' .
+
+Sample offset Sample end
+\end{verbatim}}
+
\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
+power is instead calculated as the power of the signal in an initial
+attack period of the audio of the main channel:
+\[
+power(s, n) = \sum\limits_{i=0}^n s[i]^2
+\]
+, where $n$ is defined on a per instrument basis and will vary from
+instrument to instrument and $s[i]$ is the ith sample of the main
+channel.
+
+Since the power are simply calculated sums of squares they can be used
+for comparing one sample to another and ultimately be used for mapping
+a midi velocity to a matching sample.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
% \todo{Mathematical basics (if there are any important ones).}
% \todo{Formalize the setting, i.e.\ what is the input/output of our algorithm?}