![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Ivankult |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
Так. Пора проводить конкурс на Капитана Очевидность 2009. Вы думаете я просто так 2 часа с звукозаписью и отлатчиком кувыркался? вы предлагаете самые очевидные варианты. А теперь представьте-делаем все звуки одной длины. Д например вы не запишите так, чтобы оно не повторялось(не как зубодробильная машина дыдыддыдыы) а одно одинокое Д, и длина трека была больше 0,03 сек. Все буквы одной длины? Слово караганда-9букв, 9звуков. 9*0,03=0,27. Т.е слово из девяти букв программа говорит за 0,3 секунды. ФИГНЯ это!!! А как сделать все адекватно? как например программно растягивать звук или что еще можно попробоваь? не толките воду в ступе. а про ветку форума-идея хорошая))
--------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
я давно уже предлагал, взять словарь, и по словарю перечитать все слова. я думаю их будет не так уж и много(тыщ 5-6 должно с лихвой хватить). и читать целыми словами, тогда сразу пропадают все проблемы, и с интонацией, и ударениями, и заиканием и прочей хренью.
Добавлено через 1 минуту и 34 секунды
вот это не понял, не ужели нельзя сказать в микрофон просто "д", один раз? или сказать несколько а потом вырезать одну? Добавлено через 5 минут и 21 секунду если честно, то я даже не представляю как сделать так что бы можно было по буквам заставить комп читать. кстати, думаю, что с английским было бы проще, у них там нету столько словоформ, и вопрос от повествования не интонацией а строением предложения отличается. а заставить комп разбираться в русском это как то... не скоро еще. меня от вопросов этих аж в сон клонит. как например прочить предложение: "я купил замок."? я купил зАмок или замОк? как это объяснить программе? Добавлено через 6 минут и 25 секунд Ivankult, скажи, для чего тебе это? |
|||
|
||||
| KuMa1104 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: нет Всего: 3 |
Точняк Наверное можно забахать огромную Хэш таблицу слово ---- соответствующий трек Или ещё что то более производительное. А если он слова не находит в базе то тогда уже ваш метод. Вы тогда сможете по ходу улучшения программы добавлять новые! Добавлено через 2 минуты и 8 секунд А по поводу заикания, вы проверили что он вам туда кидает? Можно проверить исходя из размеров трека ещё, смотреть что на выходе получается. трек "аааДааа" бадет явно длиннее "ада". -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
| Ivankult |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
Вы очень умные ребята, я посмотрю)) Идея в том, чтобы потом программа умела распознавать речь(это раз) и могла подстраивать голос по речи(человек говорит в микрофон, нарезаются буквы, и из них собирается новая голосовая оболочка)
А про базу со словами-это не вариант. Не заставлять же каждого следующего человека читать 5-6 тыс слов! Это абсурд --------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 11 Всего: 24 |
Ivankult, в таком случае тебе не следует начинать с треков и выяснять почему они тормозят. для начала надо разобраться что такое нейронные сети. и на них уже пытаться все это организовать. иначе никак. в любом случае для любого голоса сделать не получиться, даже "детектор лжи" всегда перенастраивают на определенного человека.
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 11 Всего: 92 |
Для генерации речи я вообще не понимаю изобретения велосипеда с квадратными колёсами. Есть же SAPI.
Для подстройки генератора под речь человека - задача нетривиальная, надо рыть нормальные алгоритмы. Но.. не хочу никого обижать, но обсуждаемый здесь код всё-таки явно другого уровня. Особенно учитывая, что (особенно для русского) языка нормальных синтезаторов оч мало и задача их написания (именно синтезаторов, а не кучи говорилок) очень нетривиальная. А с подстройкой - я бы отнёс это (на текущем этапе развития техники) к нерешаемой (при разумном времени написания и использовании ресурсов) задачи. Словарь - это хорошо. Но "я писать программа" - это тоже как-то не супер. Нормальный словарь займёт столько памяти, что.. Вообщем тоже (в чистом виде) не решение. Это сообщение отредактировал(а) Любитель - 22.12.2009, 01:49 |
|||
|
||||
| KuMa1104 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 541 Регистрация: 16.4.2009 Где: Ростов-на-Дону Репутация: нет Всего: 3 |
Думаю выскажу общее мнение. Вы никого не обидели. ИМХО наоборот критика очень полезна если она по существу. Добавлено через 14 минут и 21 секунду Ivankult Вы решили создавать сложный проект. Если это не в комерческих целях, может вам стоит упростить задачу? -------------------- Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце. Время - штука относительная... а время обеда - ещё более относительная |
|||
|
||||
| Ivankult |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
Спасибо за критику. Цели пока не коммерческие(просто интересно), но если получиться, можно будет развивать. Проект, понятно, не на неделю работы, а на пол года минимум. но в этом и все удовольствие-поломать голову над тем, как это организовать. Я понимаю, что представленный мной код очень прост для решения этой задачи, но это только наметки. если не получиться так, то можно легко перейти к другому способу. а если бы я написал несколько тыс строк кода, а потом получилась лажа-было бы обидно. Я решаю задачу методом проб и ошибок. Сейчас пишу блок для авто записи треков(человек читает слово., прога выделяет соответсвие буква-звук). вечером скажу что получится
--------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». |
|||
|
||||
| Ivankult |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
Добрый вечер! Наконец написал демо версию блока записи и анализа голоса. Проект в приложении. Не пугайтесь, но Anal это сокращение от английского анализ, а не то, что вы подумали. Коментов к сожалению нет, ибо писал в ударном темпе. Сразу скажу-работает не очень, пка занимаюсь отладкой. Принцип основан на делении слова на равные промежутки, т.е. каждая буква(читай каждый звук) одинаковой длины. Этот блок показывает, что так делать не есть хорошо. Какие ваши предложения по модернизации блока или что менять в корне.
Присоединённый файл ( Кол-во скачиваний: 3 )
media.rar 356,67 Kb--------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 11 Всего: 92 |
Так в этом и проблема, что звуки далеко не фиксированны. Кроме того - буквенный подход в принципе некорректен. [л'] и [л] - это разные звуки, скажем. Ударная гласная и безударная - тоже по-разному звучат (и в плане длительности в том числе).
|
|||
|
||||
| Ivankult |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
Спасибо Капитан! Я это учитываю! Но пока надо определить, работает ли метод.
" Спасибо за критику. Цели пока не коммерческие(просто интересно), но если получиться, можно будет развивать. Проект, понятно, не на неделю работы, а на пол года минимум. но в этом и все удовольствие-поломать голову над тем, как это организовать. Я понимаю, что представленный мной код очень прост для решения этой задачи, но это только наметки. если не получиться так, то можно легко перейти к другому способу. а если бы я написал несколько тыс строк кода, а потом получилась лажа-было бы обидно. Я решаю задачу методом проб и ошибок. Сейчас пишу блок для авто записи треков(человек читает слово., прога выделяет соответсвие буква-звук). вечером скажу что получится " --------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 11 Всего: 92 |
Нет. Такой метод не работает. Почитайте классчиеские подходы в области синтеза и распознавания речи.
|
|||
|
||||
| Ivankult |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
Добрыйй вечер, спасибо за совет. Я читал некоторые статьи, но скажу чесно-не вдохновило. Сейчас основная проблема-записать звуки и определить какой длинны каждый звук должен быть. В основном теле(метод buttom1_click()) учитывается и мягкий знак и все остальные вещи. А в блоке анализа я пока просто проверяю теорию деления слова на равные части. Если у вас на примете есть что-то конкретное-дайте ссылку, или просто расскажите своими словами.
--------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». |
|||
|
||||
| GavriKos |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 8.8.2007 Где: Донецк, Украина Репутация: нет Всего: 1 |
Ууу. Работаю в целом отделе, который занимается подобным - синтезом речи, анализом, словоформами и прочей страшной мутью. Скажу сразу - задача распознавания очень нетривиальна. Тут подходов несколько - нейросети, СРО с обучением допустим. Второе - делать все это на лету будет сложно - в задачу распознавания почти наверняка входит преобразование Фурье, а это оччень небыстро. Ну и последнее - синтез речи побуквенно делать очень сложно. Хотя бы потому, что слово нужно будет преобразовать в фонему (то, как слово звучит), и по фонеме уже собирать. Записывать надо все ЗВУКИ (ударные, безударные, мягкие, твердые и прочее). Это для начала ;-)
--------------------
Донецкая группа IT - присоединяемся |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |