The goal of this project is to design an algorithm that, based on the physical parameters of a percussion synthesizer, can generate new parameters that lead to a sound close to the reference sound as perceived by humans. This work follows on from the study by Han Han, Vincent Lostalen, and Mathieu Lagrange [1], which aimed to reverse the synthesizer's path: starting with a sound, find the physical parameters that allow it to be reproduced. A solution based on a neural network can only produce a single set of parameters for a given sound, which is the driving force behind this project: to overcome this limitation. We use the same physical percussion sound model synthesizer employed by these authors [2].
[1] Han Han, Vincent Lostanlen et Mathieu Lagrange. Perceptual-Neural-Physical Sound Matching. 2023. arXiv : 2301.02886 [cs.SD]. url : https://arxiv.org/abs/2301.02886. [2] Han Han et Vincent Lostanlen. Perceptual Neural Physical Sound Matching. https://github.com/lylyhan/perceptual_neural_physical. 2023.
Finding the perceptual neighbors of sound generated from a drum synthesizer, using different methods to approximate the distance in the perceptual domain.
Several sets of parameters have been chosen to test the three methods ( P-LOSS, PNP and Bruteforce
) with 10 subdivisions per parameters.
For each set of parameters it is possible to listen to the results given by every method.
| Starting node | Target node |
Reference graph :
Cumulative distance for path in the reference graph
KnnG_Nhubs500_K27 graph :
Cumulative distance for path in PNP graph (K=27)
KnnG_Nhubs500_K35 graph :
Cumulative distance for path in PNP graph (K=35)
KnnG_Nhubs500_K48 graph :
Cumulative distance for path in PNP graph (K=48)
| Starting node | Target node |
Reference graph :
Cumulative distance for path in the reference graph
KnnG_Nhubs500_K27 graph :
Cumulative distance for path in PNP graph (K=27)
KnnG_Nhubs500_K35 graph :
Cumulative distance for path in PNP graph (K=35)
KnnG_Nhubs500_K48 graph :
Cumulative distance for path in PNP graph (K=48)
| Starting node | Target node |
Reference graph :
Cumulative distance for path in the reference graph
KnnG_Nhubs500_K27 graph :
Cumulative distance for path in PNP graph (K=27)
KnnG_Nhubs500_K35 graph :
Cumulative distance for path in PNP graph (K=35)
KnnG_Nhubs500_K48 graph :
Cumulative distance for path in PNP graph (K=48)
Starting node
Reference graph :
Graph generated by a random walk in the reference graph
KnnG_Nhubs500_K27 graph :
Graph generated by a random walk in the graph PNP (K = 27)
KnnG_Nhubs500_K35 graph :
Graph generated by a random walk in the graph PNP (K = 35)
Starting node
Reference graph :
Graph generated by a random walk in the reference graph
KnnG_Nhubs500_K27 graph :
Graph generated by a random walk in the graph PNP (K = 27)
KnnG_Nhubs500_K35 graph :
Graph generated by a random walk in the graph PNP (K = 35)
Starting node
Reference graph :
Graph generated by a random walk in the reference graph
KnnG_Nhubs500_K27 graph :
Graph generated by a random walk in the graph PNP (K = 27)
KnnG_Nhubs500_K35 graph :
Graph generated by a random walk in the graph PNP (K = 35)