In [5]:
import os
import torch
import torchaudio
from IPython.display import Audio
import numpy as np
from scipy.fft import fft, ifft
import matplotlib.pyplot as plt
import pandas as pd
import scipy
import random
from collections import Counter
from tqdm import tqdm
from matplotlib.pyplot import imshow
import numpy as np
In [6]:
import yin_pitch_prediction as yin
In [7]:
def get_hann_window(N):
window = np.arange(N) * (2 * np.pi / N)
return 0.5 * (1 - np.cos(window))
In [8]:
def wrap(x):
x = (x % (2 * np.pi))
if x > np.pi:
return x - (2 * np.pi)
return x
Presets¶
In [9]:
W = 1024
H = W // 8
hann_window = get_hann_window(W)
Loading Sample¶
In [10]:
wav_path = '/Users/ginoprasad/autotune/m4a_files/grapevine.m4a'
In [11]:
sample, sample_rate = torchaudio.load(wav_path)
sample = sample[0].numpy()
sample = sample[int(sample_rate*20):int(sample_rate*30)]
Padding Sample¶
In [12]:
sample = np.concatenate([sample, np.zeros(W - (len(sample) % W))])
assert not len(sample) % W
In [13]:
Audio(sample, rate=sample_rate)
Out[13]: