![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Ivankult |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
Доброе время суток. Начал разрабатывать программу чтения русского текста(вводишь текст, прога читает ввслух). Возникла следующая проблема-чтение идет с задержкой и возникает эфект заикания. как улучшить качество? скачать готовую программу не предлагать. заранее благодарю
Присоединённый файл ( Кол-во скачиваний: 9 )
media.rar 700,69 Kb--------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». |
|||
|
||||
| Heinzz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 12.12.2008 Где: .net Репутация: 5 Всего: 9 |
Ваши файлы заикаются сами по себе, послушайте.
|
|||
|
||||
| Heinzz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 12.12.2008 Где: .net Репутация: 5 Всего: 9 |
предлагаю каждый звук запустить отдельным потоком частичным наложением отдельных потоков чтобы сгладить переходы.
перезапишите звуки. зы по-хорошему надо не audio.Stop() , а плавное снижение громкости до нуля. Получится что предыдущий звук спадает, а следующий набирает громкость (тоже отрегулировать) if-ы плохо смотрятся, лучше переписать словать дженерик. не добьетесь плавности, пытайтесь по слогам Это сообщение отредактировал(а) Heinzz - 10.12.2009, 20:59 |
|||
|
||||
| Ivankult |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
Спасибо. Еще были варианты многопоточности-один поток готовит очередь звуковых файлов, другой воспроизводит, но непонятна реализация. второй вариант-записать очередь файлов в один файл и воспроизвести, но непонятно как это сделать. Каике еще будут варианты? а звуки записаны ,вроде, нормально, не заикаются(кроме "д" и "б", ну а как иначе?)
p.s. очень приятно общаться с культурными людьми, знающими русский язык Это сообщение отредактировал(а) Ivankult - 10.12.2009, 21:25 --------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». |
|||
|
||||
| Heinzz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 12.12.2008 Где: .net Репутация: 5 Всего: 9 |
мне кажется что так городить не надо, в предложенном примере каждый звук запускается в отдельном потоке немного накладывающемся на предыдущий звук. Попробуйте развить реализацию
|
|||
|
||||
| Ivankult |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
Как организовать такую многопоточность? пример кода приведите пожалуйста.
--------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». |
|||
|
||||
| Heinzz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 12.12.2008 Где: .net Репутация: 5 Всего: 9 |
Ну так я уже привел выше, значение t=200, так -что звуки накладываются.
|
|||
|
||||
| Ivankult |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
Попробовал. вот что получилось(долго колдовал с регулировкой задержки, но заикается все-равно. перезаписал звуки-но все равно не красиво). как можно еще красивую речь генерить?
Присоединённый файл ( Кол-во скачиваний: 14 )
media.rar 536,41 Kb--------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». |
|||
|
||||
| KuMa1104 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: нет Всего: 3 |
Ivankult Здравствуйте.
Я бы посоветовал вам работать непосредственно с звуковой картои. Нужно просто закидывать ваши данные в буфер в нём уже стоит очередь. И когда очередной буфер с данными воспроизведёться тут же начнётся следующий. Я так думаю что это минимальные задержки из вообще вазможных.
Это сообщение отредактировал(а) KuMa1104 - 12.12.2009, 00:10 -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |