your title says something I have no idea about (how can one even want to output something to a device that is build to input something toe the system?)
your command gives a pipe that implements already your question on how to send stdout of one program to stdin another program.
and now you have something that is complete gibberish to me.
Sorry. Try to formulate your questions in a way that people that are not doing what you do will understand them.
When you read that link carefully, you will see that there people also say that you can not output something to an input device. I assume what you want is to input the sound output of your program into the sound system, or maybe capturing it is a sound file of some sort.
It outputs basically to an audio device. From the man page that @deano_ferrari linked to:
-d <device>
Use the specified device to speak the audio on. If not specified, the default audio device is used.
Sorry, this is beyond my understanding, I do not know how these are defined, but IMHO you have to use an output device there (loudspeaker, headset, …) and NOT an input device (microphone)
-w
Write output to this WAV file, rather than speaking it directly.
For later usage.
[— stdout]
Write speech output to stdout.
Better not on a terminal, because there will be rather random bytes from the terminals point of view
I assume yo have to live with these possibilities.
The output seems to be in „Waveform Audio File Format“. Maybe by using --stdout, you can pipe it through an audio translator to MP3 or other.