add support for starting time offset

clean up some of speaker code