#!/usr/bin/python

# second octave
# C = 16.35		do
# C# Db = 17.32
# D = 18.35		re
# D# Eb = 19.45
# E = 20.60		mi
# F = 21.83		fa
# Gb F# = 23.12
# G = 24.50		sol
# G# Ab = 25.96
# A = 27.50		la
# A# Bb = 29.14	si
# B = 30.87 	si

def note(tone, octave=4):
	if octave > 8:
		print ("octave too big to be heared")
		return
	freq = 0
	if (tone == "C") or (tone == "do"):
		freq = 16.35
	elif (tone == "C#") or (tone == "Db") or (tone == "do#"):
		freq = 17.32
	elif (tone == "D") or (tone == "re"):
		freq = 18.35
	elif (tone == "D#") or (tone == "Eb") or (tone == "re#"):
		freq = 19.45
	elif (tone == "E") or (tone == "mi"):
		freq = 20.60
	elif (tone == "F") or (tone == "fa"):
		freq = 21.83
	elif (tone == "Gb") or (tone == "F#") or (tone == "fa#"):
		freq = 23.12
	elif (tone == "G") or (tone == "sol"):
		freq = 24.50
	elif (tone == "G#") or (tone == "Ab") or (tone == "sol#"):
		freq = 25.96
	elif (tone == "A") or (tone == "la"):
		freq = 27.5
	elif (tone == "A#") or (tone == "Bb") or (tone == "la#"):
		freq = 29.14
	elif (tone == "B") or (tone == "si"):
		freq = 30.87
	else:
		print ("note ",tone," not supported")
	return freq * (2**octave)

if __name__ == "__main__":
	import cereal
	
