Текст в MP3 с использованием System.Speech.Synthesis.SpeechSynthesizer - PullRequest
1 голос
/ 17 декабря 2009

Я пытаюсь получить преобразование текста в речь для сохранения в MP3. В настоящее время у меня есть System.Speech.Synthesis, красиво говорящий с WAV-файлом.

    With New System.Speech.Synthesis.SpeechSynthesizer
        '.SetOutputToWaveFile(pOutputPath)    This works fine 
        .SetOutputToWaveStream(<<Problem bit>>)
        .Speak(pTextToSpeak)
        .SetOutputToNull()
        .Dispose()
    End With

Теперь первая закомментированная строка создает WAV-файл, что приятно. В настоящее время я пытаюсь заменить это выходным потоком MP3 и без особого успеха.

Я пробовал конвертер Yeti.MMedia, но либо он не будет работать, либо я не получил его для успешной работы. Должен признать, что я не очень разбираюсь в кодировках, скоростях и т. Д.

Итак, у меня вопрос: кто-нибудь знает, как я могу сказать что-то вроде следующего:

.SetOutputToWaveStream(New MP3WriteStream(pOutputPath))

и SpeechSynthesizer записывает в WAV, который затем преобразуется в MP3 и попадает на жесткий диск.

Ответы [ 3 ]

2 голосов
/ 30 июня 2010

Во-первых, получите классы Yeti, обеспечивающие доступный для записи поток с соответствующим коэффициентом сжатия. Затем используйте SpeechSynthesizer.SetOutputToAudioStream - чтобы сообщить модулю TTS о качестве речи.

0 голосов
/ 15 июня 2010

Просто поиграйтесь с Йети, он работает, я использовал его в довольно большом веб-приложении и без проблем работал около 2 лет.

0 голосов
/ 17 декабря 2009

Не думаю, что есть какой-либо другой способ, кроме как написать его с помощью Wav, а затем преобразовать его с помощью LAME MP3 Encoder (и т.

...