Заказчик
Отзывы фрилансеров:
+ 2
- 0
Зарегистрирован на сайте 1 год и 7 месяцев
24.43 $ — 23.46 €
Дедлайн: 18.10.2024
Есть небольшой проект "IncreaseVoiceTest" (WinForms), написанный на языке С#, в котором, при нажатии на кнопку, классом SpeechSynthesizer синтезируется человеческая речь и, затем, воспроизводится.
Несмотря на то, что "уровень громкости" синтезатора речи и объекта воспроизведения аудиосигнала установлен в максимальное значение этого недостаточно и требуется, чтобы синтезированная речь звучала "громче" (имела большую амплитуда звукового сигнала).
Этого можно достичь, увеличив значение у семплов аудиосигнала. В коде проекта есть примеры синтеза речи, способа усиления звука аудиосигнала, и вывода звука на выбранное устройство. Для успешного выполнения задачи нужно, по сути просто, "объединить" эти механизмы.
Для лучшего понимая предметной области, в этом проекте есть несколько способом воспроизведения речи:
1. Кнопка "Простое воспроизведение" SpeechSynthesizer генерирует фразу "Тестовое сообщение" и озвучивает её аудиоустройством, установленным по умолчанию.
2. Кнопка "Воспроизведение в аудио-поток" SpeechSynthesizer генерирует фразу "Тестовое сообщение", и сформированный аудиосигнал записывается в MemoryStream, который затем передаётся в WasapiOut, который уже проигрывает его на выбранном аудиоустройстве.
3. Кнопка "Воспроизведение в файл с усилением" SpeechSynthesizer генерирует фразу "Тестовое сообщение", и сформированный аудиосигнал записывается в MemoryStream, который конвертируется в WavData, где звучание сэмплов усиливается, но результат записывается в wav-файл на жестком диске.
Это, практически то, что требуется, но "усиленный" аудиосигнал не должен быть записан в файл, а должен быть отправлен на "звучание" в объект WasapiOut
4. Кнопка "Воспроизведение в поток с усилением" код там незавершен. Однако, там должен быть код, отвечающий требованиям поставленной задачи:
Речь должна синтезироваться объектом класса SpeechSynthesizer
Аудиосигнал должен быть усилен в N-раз, несмотря на то, что громкость SpeechSynthesizer и WasapiOut и так уже выставлена в максимальное значение.
Усиленный аудиосигнал должен проигрываться объектом класса WasapiOut (на выбранном устройстве)
В ходе преобразований, никакой записи данных в файл, на жестком диске, не должно происходить
Можно использовать класс WavData
Таким образом, задача будет считаться выполненной, если будут соблюдены все указанные требования, и при нажатии на кнопку "Воспроизведение в поток с усилением" будут звучать синтезированная речь, более громкая в N-раз, чем воспроизведенная речь по второй кнопке.
Описание пользовательского интерфейса программы:
1) Список доступных устройств для воспроизведения речи, при нажатии на вторую или на четвертую кнопку
2) Текстовое поле для ввода значения коэффициента усиления сэмплов аудиосигнала.
3) Кнопки запускающие синтез речи.
К файлам задачи помещен код проекта "IncreaseVoiceTest", где необходимо выполнить доработку.
Разделы:
Опубликован:
15.10.2024 | 23:51 [поднят: 15.10.2024 | 23:51]
Заказ находится в архиве