HpRNet : Incorporating Residual Noise Modeling for Violin in a Variational Parametric Synthesizer

This accompanying notebook contains audio examples and illustrations supporting our paper

1) The Parametric Representation

Paper Flowchart

The above figure summarizes our parametric representation.

Here is an upper octave note transformed through this representation

In [5]:
import IPython.display as ipd
In [6]:
# print('\033[1m \033[4m 1) Lower Octave Sa')
# ipd.display(ipd.Audio('./audio/70-SaLp_L_So_Sm.wav'))
# print('1.a) Harmonic Portion h(t)')
# ipd.display(ipd.Audio('./audio/70_L_SaLp_Sm_So_reconH.wav'))
# print('1.b) Residual Portion r(t)')
# ipd.display(ipd.Audio('./audio/70_L_SaLp_Sm_So_reconR.wav'))
# print('1.c) Reconstruction h(t) + r(t)')
# ipd.display(ipd.Audio('./audio/70_L_SaLp_Sm_So_recon.wav'))
In [7]:
# print('\033[1m \033[4m 2) Middle Octave Ri1')
# ipd.display(ipd.Audio('./audio/04-Ri1_M_So_Sm.wav'))
# print('3.a) Harmonic Portion h(t)')
# ipd.display(ipd.Audio('./audio/04_M_Ri1_Sm_So_reconH.wav'))
# print('3.b) Residual Portion r(t)')
# ipd.display(ipd.Audio('./audio/04_M_Ri1_Sm_So_reconR.wav'))
# print('3.c) Reconstruction h(t) + r(t)')
# ipd.display(ipd.Audio('./audio/04_M_Ri1_Sm_So_recon.wav'))
In [10]:
print('\033[1m \033[4m 1) Upper Octave Ma2')
ipd.display(ipd.Audio('./audio/49-Ma2_U_So_Sm.wav'))
print('1.a) Harmonic Portion h(t)')
ipd.display(ipd.Audio('./audio/49_U_Ma2_Sm_So_reconH.wav'))
print('1.b) Residual Portion r(t)')
ipd.display(ipd.Audio('./audio/49_U_Ma2_Sm_So_reconR.wav'))
print('1.c) Reconstruction h(t) + r(t)')
ipd.display(ipd.Audio('./audio/49_U_Ma2_Sm_So_recon.wav'))
  1) Upper Octave Ma2