looking at the state-of-the-art publications on deep learning for synthesizing audio one can see that they always resort to encoding pitch as a one-hot vector. I'm curious what the advantage is on doing this, since pitch (frequency) fits naturally as a scalar value and one could reduce network dimensionality by encoding it as such.

The papers I've studied are:

GANSynth: Adversarial Neural Audio Synthesis

Neural Audio Synthesis of Musical Notes with WaveNet Autoencoders


Because average of encoded pitches is not the encoded class.

Look at this example:

LabelEncoder can turn [dog,cat,dog,mouse,cat] into [1,2,1,3,2], but then the imposed ordinality means that the average of dog and mouse is cat. Still there are algorithms like decision trees and random forests that can work with categorical variables just fine and LabelEncoder can be used to store values using less disk space.

  • $\begingroup$ I'm not sure I follow, since when encoding pitch, the average of the encoded pitch is in fact the encoded class. For example, the average of a C4 and a D4 pitch, would be a C#4 pitch (provided the encoding is mapped to a linear space), which makes sense as it lies just in the middle both musically and mathematically. $\endgroup$
    – jimijazz
    Mar 16 '20 at 14:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.