-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_callSave.py
85 lines (63 loc) · 2.1 KB
/
test_callSave.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import librosa
import numpy as np
# from functools import enumerate
from state.thunks import callAndSave
from db import SirensFile, StatusEnum, session
def getMostRecentSirensFile(fp):
target = session.query(SirensFile).filter_by(filepath=fp).order_by(
SirensFile.last_updated.desc()).first()
return target
fp = '/Users/peterconerly/code/sirens/Arcade Fire - City With No Children.mp3'
fp = '/Users/peterconerly/code/sirens/treetop_01_intro.mp3'
def resaveTestFile():
pass
callAndSave(fp)
def missingNotes():
pass
# derps = session.query(SirensFile).all()
target = getMostRecentSirensFile(fp)
if target == None:
callAndSave(fp)
target = getMostRecentSirensFile(fp)
# print(derps)
# target = derps[0]
print(target)
print("----")
supporting_data = target.getData()
print("supporting_data", supporting_data.keys())
n_mels = supporting_data['n_mels']
f_mels = supporting_data['f_mels']
print('---- n_mels', n_mels)
print('---- f_mels')
midi_f = np.vectorize(
librosa.hz_to_midi
) # or use a different name if you want to keep the original f
midi_mels = midi_f(f_mels)
present_notes = []
missing_notes = []
for i, item in enumerate(f_mels):
midi_note = midi_mels[i]
print(' %.2f -- %.2f' % (midi_note, item))
# if (i >= 21 and i <= 108):
present_notes.append(round(midi_note))
print('present_notes', len(present_notes))
for i in range(21, 109):
if not i in present_notes:
missing_notes.append(i)
# specto = target.getSpectograph()
# print('specto', specto)
# for d in dir(target.spectograph):
# print(d)
# print('python_type', target.spectograph.python_type)
# print('length', target.spectograph.length)
# res = target.spectograph.copy_value()
print("----")
print('missing_notes len:', len(missing_notes))
for mn in missing_notes:
print(' ', mn)
# print("res", res)
# print('len', len(res))
print("----")
if __name__ == '__main__':
# missingNotes()
resaveTestFile()