summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Nusser <andre.nusser@googlemail.com>2020-02-10 10:34:08 +0100
committerAndré Nusser <andre.nusser@googlemail.com>2020-02-10 10:34:08 +0100
commit7933b6b20f293d561e185c03a28fa347761151c4 (patch)
tree28e00dadbecaaa884f9a0889cc10e5824f807657
parent2d7e1007192229b70d52c1f04f7114f984f17002 (diff)
Replace pictures by Bent by vector graphics.
-rw-r--r--sampling_alg_lac2020/LAC-20.tex117
-rw-r--r--sampling_alg_lac2020/figures/alg1.pdfbin0 -> 26577 bytes
-rw-r--r--sampling_alg_lac2020/figures/alg2.pdfbin0 -> 30027 bytes
-rw-r--r--sampling_alg_lac2020/figures/signals.pdfbin0 -> 29509 bytes
4 files changed, 70 insertions, 47 deletions
diff --git a/sampling_alg_lac2020/LAC-20.tex b/sampling_alg_lac2020/LAC-20.tex
index 47c3d4f..e1f3174 100644
--- a/sampling_alg_lac2020/LAC-20.tex
+++ b/sampling_alg_lac2020/LAC-20.tex
@@ -288,13 +288,13 @@ The early versions used a sample selection algorithm based on velocity
groups, akin to the one used by sfz \todo{add bib reference}, in which
each group spans a specfied velocity range and the sample selection is
made by uniformly randomly selecting one of the samples contained in
-the group corresponding to the input velocity:
-{\tiny\begin{verbatim}
- ________________ _________________
- / \ / uniformly random \
--- input note --> | group selector | -- group --> | sample selector | -- sample -->
- [0; 1] \________________/ \__________________/
-\end{verbatim}}
+the group corresponding to the input velocity, see Figure \ref{fig:alg1}.
+% {\tiny\begin{verbatim}
+% ________________ _________________
+% / \ / uniformly random \
+% -- input note --> | group selector | -- group --> | sample selector | -- sample -->
+% [0; 1] \________________/ \__________________/
+% \end{verbatim}}
This algorithm did not give good results in small samplesets so later
an improved algorithm was introduced which was instead based on normal
@@ -320,17 +320,31 @@ to $p'$ -- ties are broken such that the first minimal value is chosen
(which is problematic as explained below). In case $s$ is equal to the
last sample that we played we repeat this process, otherwise we return
$s$. If we did not find another sample than the last played after $4$
-iterations, we just return the last played sample.
-
-{\tiny\begin{verbatim}
- stddev
- \ ________ _________________
- / \ / nearest power \
--- input note --> | random | -- power --> | sample selector | -- sample -->
- [0; 1] \________/ \_________________/
- /
- mean
-\end{verbatim}}
+iterations, we just return the last played sample, see Figure \ref{fig:alg2}.
+
+% {\tiny\begin{verbatim}
+% stddev
+% \ ________ _________________
+% / \ / nearest power \
+% -- input note --> | random | -- power --> | sample selector | -- sample -->
+% [0; 1] \________/ \_________________/
+% /
+% mean
+% \end{verbatim}}
+
+\begin{figure}
+ \centering
+ \includegraphics[width=.9\linewidth]{figures/alg1.pdf}
+ \caption{Flow diagram of the first sampling algorithm of DrumGizmo.}
+ \label{fig:alg1}
+\end{figure}
+
+\begin{figure}
+ \centering
+ \includegraphics[width=.9\linewidth]{figures/alg2.pdf}
+ \caption{Flow diagram of the second sampling algorithm of DrumGizmo.}
+ \label{fig:alg2}
+\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -352,32 +366,41 @@ 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 - the channel which are the closest to the sound source of
-a particular instrument is the \textit{main channel} of that instrument:
-{\tiny\begin{verbatim}
-Main channel
-| . .-. .
-| . / \ .-. .
-| . / \ / \ .-. .-. _ _ .
-+----./-------\-----/-----\-----/---\---/---\---/-\-/-\/\/------.---
-| . \ / \ / '-' '-' .
-| . '-' '-' .
-Secondary channel .
-| . .-. .
-| . / \ .-. .
-| . / \ / \ .-. .-. _ _ .
-+----.--/-------\-----/-----\-----/---\---/---\---/-\-/-\/\/----.---
-| . \ / \ / '-' '-' .
-| . '-' '-' .
-Secondary channel .
-| . .-. .
-| . / \ .-. .
-| . / \ / \ .-. .-. _ _ .
-+----.------/-------\-----/-----\-----/---\---/---\---/-\-/-\/\/.---
-| . \ / \ / '-' '-' .
-| . '-' '-' .
-
-Sample offset Sample end
-\end{verbatim}}
+a particular instrument is the \textit{main channel} of that instrument, see Figure \ref{fig:signals}.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=.9\linewidth]{figures/signals.pdf}
+ \caption{Sketch of the original signals of a sample.}
+ \label{fig:signals}
+\end{figure}
+
+% {\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
@@ -540,7 +563,7 @@ Note that by traversing the samples in order of their distance to $p$ (which is
\]
\section{Experiments}
-\todoandre{Talk about the setup.}
+% \todoandre{Talk about the setup.}
To conduct the experiments, we use the implementation of the new sampling algorithm in DrumGizmo.
As a base-line for comparison, we use the previous sample selection algorithm of DrumGizmo.
We want to evaluate how the sample selection algorithm performs in practice, therefore we use the drum kits of DrumGizmo. In particular, we use the power value distribution of the samples of those kits.
@@ -576,7 +599,7 @@ We want to test the following hypotheses with our experiments:
\begin{enumerate}
\item Two samples with similar power values are chosen similarly often.
\item Playing the same MIDI note over and over again plays a reasonably varied set of samples.
- \item Average distance of one sample \todo{what did I want to say with that?}
+ % \item Average distance of one sample \todo{what did I want to say with that?}
\end{enumerate}
% \todoandre{Experiments are: playing fast sweeps (with multiple hits per velocity); playing a single note over and over again at the same velocity; sound examples that people can listen to online?}
To test the above hypotheses, we conduct the following experiments:
@@ -586,7 +609,7 @@ To test the above hypotheses, we conduct the following experiments:
% \item Audio recordings of the processes
\end{enumerate}
-\todoandre{Do beautiful tables and plots here}
+% \todoandre{Do beautiful tables and plots here}
To be able to compare the results of those experiments, we have to somehow visualize the selections. We choose to plot histograms. More concretely, for a run of the experiment, we plot the number of times a sample was selected over its index in the array of ordered samples. For the first experiment, i.e., the sweeps, you can see the histograms in Figure \ref{fig:sweep}. \todo{describe and explain plot}
\begin{figure*}
diff --git a/sampling_alg_lac2020/figures/alg1.pdf b/sampling_alg_lac2020/figures/alg1.pdf
new file mode 100644
index 0000000..c330daf
--- /dev/null
+++ b/sampling_alg_lac2020/figures/alg1.pdf
Binary files differ
diff --git a/sampling_alg_lac2020/figures/alg2.pdf b/sampling_alg_lac2020/figures/alg2.pdf
new file mode 100644
index 0000000..21b601f
--- /dev/null
+++ b/sampling_alg_lac2020/figures/alg2.pdf
Binary files differ
diff --git a/sampling_alg_lac2020/figures/signals.pdf b/sampling_alg_lac2020/figures/signals.pdf
new file mode 100644
index 0000000..7210e39
--- /dev/null
+++ b/sampling_alg_lac2020/figures/signals.pdf
Binary files differ