Подключите нашего Telegram-бота для уведомлений о новых проектах

Заказ закрыт
Усилить громкость воспроизведения синтезированной речи (SpeechSynthesizer)

a
Заказчик
Отзывы фрилансеров: + 2 - 0
Зарегистрирован на сайте 1 год и 7 месяцев
Бюджет: 2500 руб/заказ
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]
Заказ находится в архиве

Теги: написать программу, создать программу, разработать программу, разработчики программ, прикладной программист

Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».