Refactor TTSWrapper to use std::vector