split SpiStream into SpiStream (the dynamic part) and SpiWaveform (the static part)
adding pitch_utilities to convert between pitch names and frequencies (etc)