| Algorithm 1. Signal basis training using CNMF |
| Input: Spectrogram of signal dataset , priori basis number R, shift length of CNMF K, type of β-divergence β |
| number of iterations in CNMF |
| Output: The basis matrix of signal |
| 1: Initialize and with random non-negative values |
| 2: Normalize columns of |
| 3: for i = 1, , do |
| 4: for = 0, , K − 1 do |
| 5: Compute Z |
| 6: Update and using Equations (21) and (22) |
| 7: Normalize columns of |
| 8: end for |
| 9: end for |