Как научить компьютер конвертировать текст в транскрипцию?
1. [a] - гласная, пример: м[а]рс 2. [о] - гласная, пример: м[о]рс 3. [э] - гласная, пример: м[э]р 4. [и] - гласная, пример: м[и]р 5. [ы] - гласная, пример: м[ы]шь 6. [у] - гласная, пример: м[у]ка 7. [б] - согласная, звонкая, парная, твердая, пример: [б]ал 8. [б'] - согласная, звонкая, парная, мягкая, пример: [б]ег 9. [в] - согласная, звонкая, парная, твердая, пример: [в]ал 10. [в'] - согласная, звонкая, парная, мягкая, пример: [в]ек 11. [г] - согласная, звонкая, парная, твердая, пример: [г]аз 12. [г'] - согласная, звонкая, парная, мягкая, пример: [г]елий 13. [д] - согласная, звонкая, парная, твердая, пример: [д]ар 14. [д'] - согласная, звонкая, парная, мягкая, пример: [д]ень 15. [з] - согласная, звонкая, парная, твердая, пример: [з]ал 16. [з'] - согласная, звонкая, парная, мягкая, пример: [з]ерно 17. [ж] - согласная, звонкая, парная, твердая, пример: [ж]ало 18. [п] - согласная, глухая, парная, твердая, пример: [п]ар 19. [п'] - согласная, глухая, парная, мягкая, пример: [п]ир 20. [ф] - согласная, глухая, парная, твердая, пример: [ф]ант 21. [ф'] - согласная, глухая, парная, мягкая, пример: [ф]инт 22. [к] - согласная, глухая, парная, твердая, пример: [к]арт 23. [к'] - согласная, глухая, парная, мягкая, пример: [к]екс 24. [т] - согласная, глухая, парная, твердая, пример: [т]аз 25. [т'] - согласная, глухая, парная, мягкая, пример: [т]ень 26. [с] - согласная, глухая, парная, твердая, пример: [с]ало 27. [с'] - согласная, глухая, парная, мягкая, пример: [с]ело 28. [ш] - согласная, глухая, парная, твердая, пример: [ш]ар 29. [л] - согласная, сонорная, непарная, твердая, пример: [л]аз 30. [л'] - согласная, сонорная, непарная, мягкая, пример: [л]ес 31. [м] - согласная, сонорная, непарная, твердая, пример: [м]арс 32. [м'] - согласная, сонорная, непарная, мягкая, пример: [м]ера 33. [н] - согласная, сонорная, непарная, твердая, пример: [н]ос 34. [н'] - согласная, сонорная, непарная, мягкая, пример: [н]ить 35. [р] - согласная, сонорная, непарная, твердая, пример: [р]ок 36. [р'] - согласная, сонорная, непарная, мягкая, пример: [р]ека 37. [й'] - согласная, сонорная, непарная, мягкая, пример: ма[й] 38. [х] - согласная, глухая, непарная, твердая, пример: [х]леб 39. [х'] - согласная, глухая, непарная, мягкая, пример: [х]иппи 40. [ц] - согласная, глухая, непарная, твердая, пример: [ц]ель 41. [ч'] - согласная, глухая, непарная, мягкая, пример: [ч]асы 42. [щ'] - согласная, глухая, непарная, мягкая, пример: [щ]ука 43. [/\] - гласная, "акающая" лямбда, используется вместо [о], звук между [o] и [a], пример: моя - м[/\]я
добавлю программу, которая делает транскрипцию с ошибками), алгоритм разработан исходя из собственного опыта говорить при поддержке справочника по русскому языку https://www.dropbox.com/s/mg6llqxprl5n5vp/build.7z текст читается из text.txt и записывается в output.txt, в целом неплохо, но есть ошибки, кто найдет - тому +1 к карме)
asvp > Заставить комп говорить по звукам не возможно. > Звуки букв и произношение слов - это разные вещи. > Нужно держать базу слов. ну человек тем не менее как-то говорит), понятно что это сложно, но я хотел бы оставить обсуждение возможно это или нет за пределами данной ветки, до произношения нужно сделать транскрипцию, даже если "говорить" не получиться - плевать, но получиться алгоритмизировать получение транскрипции - будет очень круто
а, может есть готовые решения для транскрипции?
Как не крути, тебе нужно иметь базу слов. По слову нельзя определить какая у слова транскрипция. К тому же транскрипция может поменяться от контекста. В общем геморой ещё тот. :)
про базу я думал, базу надо забивать, и, думаю, это займет невероятно много времени)) Executor > К тому же транскрипция может поменяться от контекста можно пример или поподробнее?
вот моя попытка автоматизировать транскрипцию, алгоритм разработан исходя из собственного опыта говорить при поддержке справочника по русскому языку
текст читается из text.txt и записывается в output.txt, в целом неплохо, но есть ошибки, кто найдет - тому +1 к карме)
leonardo98 > можно пример или поподробнее?
Одно слово по написанию, но разное по произношению и значению. Пример хз, надо думать.
asvp > http://ru.wikipedia.org/wiki/Forvo хороший сайт, но это не то, что мне нужно, мне нужен именно набор звуков, с которым я буду еще делать определенную обработку перед произношением, вытягивать одни звуки и сжимать другие, это позволит менять интонационную окраску, и, теоретически, уберет металлические нотки, характерные программам типа "Читатель"
leonardo98 Какого хрена удаляешь топики?
asvp > Какого хрена удаляешь топики? за хамство - очевидно же
Executor > Пример хз, надо думать. Ну, первое что приходит в голову - зависимость произношения от ударения. Т.е. у "вОроны" и "ВорОны" будет разная транскрипция.
leonardo98 > мне нужен именно набор звуков, с которым я буду еще делать определенную > обработку перед произношением, вытягивать одни звуки и сжимать другие, это > позволит менять интонационную окраску, и, теоретически, уберет металлические > нотки, характерные программам типа "Читатель" Одинарных звуков недостаточно. Если не рассматривать момент перехода между звуками а просто последовательно воспроизводить "л`", "и", "с", "т", то получается совсем неестественное произношение, т.е. нужно обрабатывать все сочетания из двух звуков. Когда я узнал об этом, я забил на идею сделать свое воспроизведение речи.
kipar > Ну, первое что приходит в голову - зависимость произношения от ударения. Т.е. у > "вОроны" и "ВорОны" будет разная транскрипция. верно, транскрипция зависит от ударения, именно этот момент я не учел в своей программе, сейчас я ищу словари, которые можно использовать для нахождения ударного звука, и буду прикручивать словарь, если найду и если ничего другого никто не насоветует, словарь не позволит избежать проблемы когда одно слово может быть с разным ударением, к тому же она(проблема), вроде как, довольно редкая и на качество повлияет не сильно, т.е. если 95% слов будет правильно записываться в транскрипцию - это уже повод собой гордиться), поэтому оставлю эту проблему на будущее, когда(если) игнорировать ее не получиться
kipar > Одинарных звуков недостаточно. Если не рассматривать момент перехода между > звуками а просто последовательно воспроизводить "л`", "и", "с", "т", то > получается совсем неестественное произношение, т.е. нужно обрабатывать все > сочетания из двух звуков. Когда я узнал об этом, я забил на идею сделать свое > воспроизведение речи. думал об этом, даже слышал и читал, но надеюсь что смогу обойтись базовыми звуками, попробую генерировать переходы по звукам, можно, кстати, этим заняться уже сейчас, но нет набора звуков, у вас, случайно не осталось?
Executor > Вот примеры: > http://ru.wikipedia.org/wiki/%D0%9E%D0%BC%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D1%8B спасибо, даже не думал что таких слов так много, но если пробежаться по списку, то можно заметить что транскрипция слова меняется редко, в основном, когда в слове есть буква 'o' и ударение падает либо на нее, либо на следующую гласную в слове
leonardo98 > думал об этом, даже слышал и читал, но надеюсь что смогу обойтись базовыми > звуками, попробую генерировать переходы по звукам, можно, кстати, этим заняться > уже сейчас, но нет набора звуков, у вас, случайно не осталось? Не осталось, это давно было.
в первой Half-Life был набор слов, из которых были составлены разные фразы, которые говорят персонажи (солдаты и мужской голос системы)