proof of concept (spaghetti) implementation
now using python fractions for base tone height