# Korean Passori Vocal Note Transcription Using Attention-Based Segmentation and Viterbi Decoding
## 4 Experimental Results
### Note-Level Transcription  
Note-level transcription can be achieved after the post-processing in frame-level transcription. First, the fundamental frequency of the Passori raw wave file is estimated in the source task of vocal melody extraction and post-processing is applied using Viterbi decoding to estimate the vocal notes in the second step. The transition matrix of size \(89\times 89\) is constructed to represent the Passori notes from A2 to E6. While constructing the transition matrix, we set the probability of the silence state, sustain state, and transitioning from the silence state to an onset state as \(P_{stay\_silence}=0.2\), \(P_{stay\_note}=0.9\), and \(P_{\_}{=}=\left(1-P_{stay\_note}\right)/(n_{notes}+1)\), where \(n_{notes}\) is the number of midi values between A2 and E6. To construct the observation matrix \(P\), first, we defined the probability of \(voice_{acc}=0.9\), \(onse_{acc}=0.8\), and \(pitch_{acc}=0.99\). If the F0 value generated by the pre-trained model was non-zero, we assumed that the corresponding frame is considered the voiced frame and set its probability as \(voice_{acc}=0.9\), but if the generated F0 value was zero, it was considered as the non-voiced frame, and we set its probability as \(1-voice_{acc}\). We also detected the onset from the audio and if the time frame was detected as an onset, it set the probability of onset state as \(onset_{acc}=0.8\). But if the time frame was detected as the non-onset state, it set the probability of non-onset state as \(1-onset_{acc}\). To assign the probabilities to the sustain states of the observation matrix \(P\), we looped over all possible MIDI notes values from A2 to E6, and if it exactly matched with the transformed MIDI values, we set the probability of the sustain state as \(pitch_{acc}=0.99\) at that time frame. Similarly, if the absolute difference between these two MIDI values was 1, we set the probability of the sustain state as \(pitch_{acc}\times 0.6=0.59\). If these two conditions did not match, we set the probability of the sustain state as \(1-pitch_{acc}\). After obtaining the sequence of states through Viterbi decoding, we converted these states into an intermediate piano-roll representation. This transformation is designed to interpret the estimated states in the context of [PERSON] vocal performance. The piano roll consists of information such as onset and offset times, MIDI pitches, and note names of the vocal segments of [PERSON]. First, we collected 15 chunks of Passori audio samples. These samples were first used to estimate the F0 using our pre-trained vocal melody extraction methods. These F0 values were used in the Viterbi decoding algorithm to estimate the vocal note. We also extracted the F0 values from other state-of-the-art pitch estimation methods such as pYin [36], PyWorld [37], and Segnet [30] and visually compared the vocal notes with our best pre-trained methods. Figure 4 below shows the visual comparison of our method with pYin, PyWorld, and Segnet. It visualizes the audio, along with the MIDI, derived from one of the Passori audio samples, employing both our method and other state-of-the-art techniques. We used the Audacity tool to visualize the audio signal along with its corresponding midi [38]. The \(X\)-axis in the top row in Figure 4 represents the time, whereas the \(Y\)-axis represents the amplitude of the raw audio Pansori. Similarly, the \(X\)-axis from second row to fifth row represents the vocal note of Passori using our method and other state-of-the-art methods, where the \(Y\)-axis here represent the note names from C3 to C6. The original dataset of 15 chunks of Passori along with their midi results are also available in the github ([[https://github.com/pratikshaya/music_note_transcription](https://github.com/pratikshaya/music_note_transcription)]([https://github.com/pratikshaya/music_note_transcription](https://github.com/pratikshaya/music_note_transcription))) accessed on 25 December 2023. Figure 4: Visual comparison of our method with pYin, PyWorld, and Segnet.