Why would you even bother with that when `say` can take a string or read from stdin?
Just use
$ say $(fortune)
or $ fortune | say -f-
For bonus coolness, add "-i" (it prints the lines and highlights the current word during reading).