press space to play, finaly got timing to work on second play, not obvious (context.currentTime isn't reset per buffer after it's fired the first time, it's implicitly set someohow the first time it's used)