In [1]:
%load_ext autoreload
%autoreload 2
%matplotlib inline
import matplotlib.pyplot as plt
from IPython.display import Audio, display
import numpy as np
# from pysas import World, waveread # https://github.com/shunsukeaihara/pysas
In [2]:
import soundfile

def pad2(i):
    return '{0:02d}'.format(i)

# read phoneme WAVs from file
datas = []
path = "/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/"
for i in range(12):
    file = path + pad2(i) + '.aiff'
    print(file)
    data, samplerate = soundfile.read( file )
    data = data[:,0]
    datas.append( data )
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/00.aiff
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/01.aiff
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/02.aiff
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/03.aiff
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/04.aiff
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/05.aiff
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/06.aiff
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/07.aiff
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/08.aiff
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/09.aiff
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/10.aiff
/Users/pi/Dev/pythonStuff/VowelGen/4. Analyze my own vowels/vowels/me/11.aiff
In [3]:
from pysas import World

world = World(samplerate)
signal = datas[0]
f0, spec_mat, aperiod_mat = world.analyze(signal)
plt.plot(f0)
Out[3]:
[<matplotlib.lines.Line2D at 0x10ec97160>]
In [4]:
spec = np.sum( spec_mat[40:80], axis=0 )

plt.plot(np.log(spec))
Out[4]:
[<matplotlib.lines.Line2D at 0x10f17c518>]