As far as what I understand from your problem statement is you are trying to classify the input as one of 88 notes correct ? And each input can be only one of the 88 output notes ?
So, can you change the loss function to
criterion = nn.CrossEntropyLoss()

because I see that you are trying to solve a multi class classification problem.