VBA - Salvar fala SAPI em um tipo de arquivo GIVEN?

Minha tarefa

É possível usar a fala em aplicativos do Office. Meu objetivo é salvar o discurso do MS SAPI em um determinado tipo de arquivo. AFAIK meu exemplo de código salva em um arquivo WAV.

Problema

Não sei se é possível definir apenas a extensão do tipo de arquivo desejado ou se é necessário fazer outras configurações. Não encontrei uma solução apropriada usando o VBA.

Pergunta, questão Existe um exemplo de código de como definir com precisão um tipo de arquivo desejado, por exemplo MP3, salvar um determinado texto neste tipo de arquivo usando as configurações necessárias (AudioStream)?

Código

Neste exemplo de código, estou nomeando o arquivo de saída diretamente como WAV com total incerteza se este for um arquivo WAV.

Usei a ligação tardia e incluí um comentário para a ligação antecipada também.

Private Sub Speech2WAV()
' Purpose: save text Voice object to file
' Idea:    cf. .Net Article with some adaptions http://www.codeguru.com/vb/gen/vb_misc/samples/article.php/c13893/Text-to-Speech-Using-Windows-SAPI.htm
' Declare variables
  Dim s            As String
  s = "Could you give me a code example to save this text to a defined file type?"

'' ----------------------------------------------
'' Early Binding - reference do MS Speech Object Lib (SAPI.dll) needed
'' ----------------------------------------------
'  Dim oVoice       As New SpeechLib.SpVoice
'  Dim cpFileStream As New SpeechLib.SpFileStream
'' ----------------------------------------------

' ----------------------------------------------
' Late Binding
' ----------------------------------------------
  Dim oVoice       As Object
  Dim cpFileStream As Object

  Set oVoice = CreateObject("SAPI.SpVoice")
  Set cpFileStream = CreateObject("SAPI.SpFileStream")

' ----------------------------------------------

10   cpFileStream.Open ThisWorkbook.Path & "\test.wav", _
                   SpeechLib.SpeechStreamFileMode.SSFMCreateForWrite, False
20   Set oVoice.AudioOutputStream = cpFileStream
30   Set oVoice.Voice = oVoice.GetVoices.Item(0)
40   oVoice.Volume = 100
50   oVoice.Speak s, _
                  SpeechLib.SpeechVoiceSpeakFlags.SVSFDefault
55   oVoice.Rate = 1        ' speed
56   oVoice.Volume = 100    ' volume

60   Set oVoice = Nothing
70   cpFileStream.Close
80   Set cpFileStream = Nothing
Exit Sub
OOPS:       ' Error Handler
     MsgBox "ERL=" & Erl & "|ErrNo=" & Err.Number & "|" & Err.Description, vbExclamation, "Error in Speec2WAV"
End Sub

Nota

Thx to @ashleedawgcomentário de Posso recomendar os seguintes links para a API do Microsoft Speech:

-White papers SAPI 5.3

-API do Microsoft Speech 5.4

questionAnswers(1)

yourAnswerToTheQuestion