Example #1
0
(fs, x) = UF.wavread('../sounds/piano.wav')
w = np.blackman(1501)
N = 2048
t = -90
minf0 = 100
maxf0 = 300
f0et = 1
maxnpeaksTwm = 4
H = 128
x1 = x[1.5*fs:1.8*fs]

plt.figure(1, figsize=(9, 7))
mX, pX = STFT.stftAnal(x, fs, w, N, H)
f0 = HM.f0Twm(x, fs, w, N, H, t, minf0, maxf0, f0et)
f0 = UF.cleaningTrack(f0, 5)
yf0 = SM.sinewaveSynth(f0, np.array([0.4]), H, fs)
UF.play(yf0,fs)
f0[f0==0] = np.nan
maxplotfreq = 800.0
numFrames = int(f0.size)
frmTime = H*np.arange(numFrames)/float(fs)                             
binFreq = fs*np.arange(N*maxplotfreq/fs)/N                        
plt.pcolormesh(frmTime, binFreq, np.transpose(mX[:,:N*maxplotfreq/fs+1]))
plt.autoscale(tight=True)
plt.plot(frmTime, f0, linewidth=2, color='k')
plt.autoscale(tight=True)
plt.title('mX + f0 (piano.wav), TWM')

plt.tight_layout()
plt.show()
    salience = run_pitch_salience_function(peak_frequencies, peak_magnitudes)
    salience_peaks_bins, salience_peaks_saliences = run_pitch_salience_function_peaks(
        salience)

    pool.add('allframes_salience_peaks_bins', salience_peaks_bins)
    pool.add('allframes_salience_peaks_saliences', salience_peaks_saliences)

contours_bins, contours_saliences, contours_start_times, duration = run_pitch_contours(
    pool['allframes_salience_peaks_bins'],
    pool['allframes_salience_peaks_saliences'])
pitch, confidence = run_pitch_contours_melody(contours_bins,
                                              contours_saliences,
                                              contours_start_times, duration)

yf0 = SM.sinewaveSynth(pitch, .6, hopSize, sampleRate)

figure(1, figsize=(9, 6))

mX, pX = STFT.stftAnal(audio, sampleRate, hamming(frameSize), frameSize,
                       hopSize)
maxplotfreq = 3000.0
numFrames = int(mX[:, 0].size)
frmTime = hopSize * arange(numFrames) / float(sampleRate)
binFreq = sampleRate * arange(frameSize * maxplotfreq / sampleRate) / frameSize
plt.pcolormesh(frmTime, binFreq,
               np.transpose(mX[:, :frameSize * maxplotfreq / sampleRate + 1]))
plt.autoscale(tight=True)

offset = .5 * frameSize / sampleRate
time = hopSize * arange(size(pitch)) / float(sampleRate)
Example #3
0
if __name__ == '__main__':
    (fs, x) = UF.wavread('../../../sounds/vignesh.wav')

    plt.figure(1, figsize=(9, 7))
    N = 2048
    H = 256
    w = hamming(2048)
    mX, pX = STFT.stftAnal(x, fs, w, N, H)
    maxplotfreq = 2000.0
    frmTime = H * np.arange(mX[:, 0].size) / float(fs)
    binFreq = fs * np.arange(N * maxplotfreq / fs) / N
    plt.pcolormesh(frmTime, binFreq,
                   np.transpose(mX[:, :N * maxplotfreq / fs + 1]))

    N = 2048
    minf0 = 130
    maxf0 = 300
    H = 256
    f0 = f0Yin(x, N, H, minf0, maxf0)
    yf0 = SM.sinewaveSynth(f0, .8, H, fs)
    frmTime = H * np.arange(f0.size) / float(fs)
    plt.plot(frmTime, f0, linewidth=2, color='k')
    plt.autoscale(tight=True)
    plt.title('mX + f0 (vignesh.wav), YIN: N=2048, H = 256 ')

    plt.tight_layout()
    plt.savefig('f0Yin.png')
    UF.wavwrite(yf0, fs, 'f0Yin.wav')
    plt.show()
Example #4
0
(fs, x) = UF.wavread('../../../sounds/piano.wav')
w = np.blackman(1501)
N = 2048
t = -90
minf0 = 100
maxf0 = 300
f0et = 1
maxnpeaksTwm = 4
H = 128
x1 = x[1.5*fs:1.8*fs]

plt.figure(1, figsize=(9, 7))
mX, pX = STFT.stftAnal(x, fs, w, N, H)
f0 = HM.f0Twm(x, fs, w, N, H, t, minf0, maxf0, f0et)
yf0 = SM.sinewaveSynth(f0, np.zeros(f0.size)+1, np.array([]), 512, 128, fs)
f0[f0==0] = np.nan
maxplotfreq = 800.0
numFrames = int(mX[:,0].size)
frmTime = H*np.arange(numFrames)/float(fs)                             
binFreq = fs*np.arange(N*maxplotfreq/fs)/N                        
plt.pcolormesh(frmTime, binFreq, np.transpose(mX[:,:N*maxplotfreq/fs+1]))
plt.autoscale(tight=True)
  
plt.plot(frmTime, f0, linewidth=2, color='k')
plt.autoscale(tight=True)
plt.title('mX + f0 (piano.wav), TWM')

plt.tight_layout()
plt.savefig('f0TWM-piano.png')
plt.show()
Example #5
0
if __name__ == '__main__':
  (fs, x) = UF.wavread('../../../sounds/vignesh.wav')

  plt.figure(1, figsize=(9, 7))
  N = 2048
  H = 256
  w = hamming(2048)
  mX, pX = STFT.stftAnal(x, fs, w, N, H)
  maxplotfreq = 2000.0
  frmTime = H*np.arange(mX[:,0].size)/float(fs)                             
  binFreq = fs*np.arange(N*maxplotfreq/fs)/N                        
  plt.pcolormesh(frmTime, binFreq, np.transpose(mX[:,:N*maxplotfreq/fs+1]))
  
  N = 2048
  minf0 = 130
  maxf0 = 300
  H = 256
  f0 = f0Yin(x, N, H, minf0, maxf0)
  yf0 = SM.sinewaveSynth(f0, .8, H, fs)
  frmTime = H*np.arange(f0.size)/float(fs)  
  plt.plot(frmTime, f0, linewidth=2, color='k')
  plt.autoscale(tight=True)
  plt.title('mX + f0 (vignesh.wav), YIN: N=2048, H = 256 ')

  plt.tight_layout()
  plt.savefig('f0Yin.png')
  UF.wavwrite(yf0, fs, 'f0Yin.wav')
  plt.show()

    
    salience = run_pitch_salience_function(peak_frequencies, peak_magnitudes)
    salience_peaks_bins, salience_peaks_saliences = run_pitch_salience_function_peaks(salience)
    
    pool.add('allframes_salience_peaks_bins', salience_peaks_bins)
    pool.add('allframes_salience_peaks_saliences', salience_peaks_saliences)

contours_bins, contours_saliences, contours_start_times, duration = run_pitch_contours(
        pool['allframes_salience_peaks_bins'],
        pool['allframes_salience_peaks_saliences'])
pitch, confidence = run_pitch_contours_melody(contours_bins,
                                              contours_saliences,
                                              contours_start_times,
                                              duration)

yf0 = SM.sinewaveSynth(pitch, .6, hopSize, sampleRate)

figure(1, figsize=(9, 6))

mX, pX = STFT.stftAnal(audio, sampleRate, hamming(frameSize), frameSize, hopSize)
maxplotfreq = 3000.0
numFrames = int(mX[:,0].size)
frmTime = hopSize*arange(numFrames)/float(sampleRate)                             
binFreq = sampleRate*arange(frameSize*maxplotfreq/sampleRate)/frameSize                       
plt.pcolormesh(frmTime, binFreq, np.transpose(mX[:,:frameSize*maxplotfreq/sampleRate+1]))
plt.autoscale(tight=True)

offset = .5 * frameSize/sampleRate
time = hopSize*arange(size(pitch))/float(sampleRate)
pitch[pitch==0]=nan
plot(time, pitch, color='k', linewidth = 2)