![]() |
Flash, распознавание звука
Задумался над одной интересной идеей..
Но вот по поводу реализации вообще глухо мыслями) Flash ведь может както брать аудио файл и распознавать слова, перегонять их в текст. Но как это вообще возможно сделать? По факту нужно чтобы была форма, в которую можно загрузить аудио файл, а на выходе у нас текст этого аудио файла. У меня была мысль что можно брать воспроизводить во флеше звук, далее смотреть частоты и на каждую частоту заранее выписать букву.. а он бы потом из этого всего собирал слова...... |
Практически нереально.
|
Ого... какие технологии.
|
Делают же)
Добавлено через 15 минут есть готовые базы, даже у W3С, но правда немного не понял.. то ли у них только воспроизведение текста.. то ли я чтото не дочитал.. |
Хорошего распознавания голоса пока что современная наука не добилась. Хорошим считается сравнимое с человеческим. Т.е. если из всей услышанной информации человек в среднем понимает 95%, то компьютер, в лучшем случае 80% - ну или где-то в этих пределах. Т.е. как бы и не очень плохо, но и не так чтобы прям суперски.
Технологии эти не простые... но, возможно на каком-то минимальном уровне можно было бы попытаться. Но имейте в виду следующее: - вам для распознавания слов нужно будет провести немаленькое исследование языка, чтобы понять как его фонетика устроена, чтобы хотя бы знать, что искать. - нужно будет познакомится с алгоритмами поиска для того, чтобы оперативно сопоставлять услышаный образец с "шаблонами". Это тоже нетривиальная задача, т.как простых и оптимальных решений нет - даже суперкомпьютеры пока что не могут с такой же скоростью как человек, и, именно, скорее всего изза того, что наука пока что не нашла самые лучшие вероятностные алгоритмы. Это вполне может подойти, если вы хотите писать научную работу (но я бы засомневался в целесообразности использования Флеша для таких целей). Но как проект - боюсь, что вы скоро столкнетесь с какими-нибудь неразрешимими трудностями, за долго до того, как будет вообще хоть что-то рабочее. |
Подумывал для диплома.
По идее, можно же как то частоты звука переводить в какой-нибудь код и сверять этот код. Понятно что из-за шума, из-за разности голоса, код будет меняться, но можно же его сверять с неким шаблоном и при совпадении на 60%, говорим что код совпадает и присваиваем этому звуку соответствующее слово (или скорее даже букву..). |
Ну так вы же не будете записывать все миллионы слов которые человек может произнести - следовательно, вы будете пытаться как-то сделать систему распознания звуков более универсальной. Но тут начинаются первые сложности. Звуки, которые мы произносим не всегда соответствуют написанию. Длина звуков меняется по ситуации. Например, в Русском безударная и читается как е, например в словах начинающихся с приставки "при", которую даже вполне грамотные люди часто путают с "пре". Но иногда это корневая гласная, и тогда это может быть что угодно, и никакими правилами грамматики не описывается, например, в слове "телефон", его можно проинтерпретировать фонетически как "тилифон", "тилефон" или "телифон". Но это только один из множества случаев. Еще есть оглушение звонких согласных в конце слова, как например в фамилиях заканчивающихся на "ов" - "Петров" произносится как "Петроф", но бывают случаи, когда в конце действительно глухая согласная, например "потоп" (а не "потоб"). Или вырождение чередующихся шипящих, как, например, в слове "калачный" (которое правильно произносится "калашный").
Кроме того, люди говорят с ошибками, и фонетическими в том числе. Иногда делают больше паузы между словами, а иногда почти не делают. Т.е. диктора с телевидения или актера из драм. театра понять компьютеру будет легче, но когда у человека, кроме всего прочего могут быть врожденные дефекты дикции, или Русский не родной... Я не говорю, что это вообще не возможно, но если вам диплом сдавать в близжайшие 3-4 года - я бы скорее всего выбрал другую тему. Это только исследования на пару лет... |
tilweb, такие вещи крупные корпорации, такие как гугл и эпл, разрабатывают по много лет. Да, у них неплохо получается, но пока что не идеал.
Очень сомневаюсь, что это под силу одному человеку или даже небольшой команде. Тут нужна армия учёных и инженеров. |
illuzor
Более того и apple и google отсылают данные на свои сервера, поэтому эти технологии не работаю без доступа к интернету. |
Диплом у меня через год ещё только :)
Просто действительно интересная тема. У меня специальность радиоэлектронные системы, но я както больше люблю интернет технологии и т.д.. поэтому и ищу чтонибудь такое, пересекающееся с интернетом и специальностью. По поводу произношения.. это да.. по идее, когда мы получили слова, программа должна эти слова прогонять по базе, пытаясь убрать ошибки (если есть) в словах. |
может отсюда что почерпнуть можно http://www.bytearray.org/?p=1151
|
Спасибо, вечером посмотрю, как дома буду
Впринципе, я хочу просто некое решение, которое можно было бы открывать в браузере в инете.. Пусть там будет хотя бы не сколько фраз распознаваемых.. это не так важно.. Например, даже если я сделаю что захожу на сайт, там флешка, она записала, например, фразу которую я говорю - "открыть гугл", после чего открывается гугл, уже будет круто. А далее там уже можно и пополнять эту базу,многократно улучшать и т.д.. Наверное от флеша лишь нужно запись и сохранение этого файла на сервере.. Добавлено через 3 минуты А далее уже нужно видимо писать программу какуето, например, на C++, которая будет брать этот файл и распознавать и давать ответ.. |
тянет на научную работу... удачи вам
|
ну если с распознаванием английской речи еще можно собрать какой-то пример из найденного, то с русской речью все гораздо сложней
|
Так распознавание-то и является главной проблемой. И вы просто себе наверное пока что плохо представляете где именно и в чем именно будут проблемы. Ну вот, например:
Мы представляем поиск по деревьям где поиск заключается в переходе от имеющейся информации (предположим, это последовательность из звуков, которую вы разбили на 5 атомов-звуков) из которой вам нужно прийти к узлу на дереве, который ваша программа знает как "правильное" слово (последовательность из звуков будем называть словом). Так вот, в общем случае, у слова из 5 символов, на первый взгляд степень ветвления равна 5. (Но это не совсем так, и мы еще к этому вернемся). Таким образом, предполагая, что уровень энторпии относительно небольшой, слово, с которым наш образец совпадает может находится на расстоянии 20+ уровней дерева. А теперь посчитаем: при степени ветвления 5 и 20 уровнях дерева имеем количество операций сравнения: 5 * 5 * 5 * ... 5 (20 раз) т.е. 5^20 = 95367431640625 вариантов... одно слово! Высота дерева была выбрана такой не случайно, примерно столько же нужно чтобы решить пятнашки (но может быть и больше!). А вот теперь другая неприятность: возможно какой-то из звуков не был расслышан, и вы не уверены в длине слова, и оно может быть 4-6 звуков в длину. Получаем 4^20+5^20+6^20=3752625383331377 вариантов которые нужно проверить! - если просто перебирать все подряд, то это на несколько лет работы суперкомпьютеру. Соответственно, нужно искать способы как оптимизировать работу поиска, как определять комбинации звуков заведомо невозможные, как искать направленно, пытаться угадать по контексту, обучать программу на образцах речи конкретного человека, обучать ее анализировать сходства между речью разных людей. Это все очень интересно, но это много исследователькой работы. Что-то в этой области, конечно, сделано. Но очень много чего не известно. |
Наверное для диплома хватит и чтобы программа распознавала хотя бы несколько фраз.....
А то тут действительно целая научная работа получается) Но, наверное, если делать что flash записывает звук, далее сохраняет файл, а потом уже некая программа открывает его, распознает и даёт ответ.. то это нужно целую машину собирать, на которой будет стоять эта программа и запускаться..? ну или сервер арендовать и настраивать |
Цитата:
Т.е. если вы спроектировали лампочку накаливания, которая в 2 раза больше жрёт энергии и в 2 раза меньше даёт света без цели опробовать новую технологию - это не дипломный проект - а вредительство :) |
Цитата:
|
Ну да, в таком ключе диплом уже похоже
|
Цитата:
|
tilweb, что ж вы так упрямитесь. Вам идей мало?
Сделайте распознавание и отслеживание объектов через веб-камеру. Портируйте какую-нибудь библиотеку из opencv, или напишите что-то своё Это сложно, но поверьте, уж куда легче чем распознавание речи |
Если говорить про распознавание человеческой речи - могу дать контакт знакомого человека, который занимается как раз этой задачей и тоже по диплому.
Коротко по математике, которую, как я понял из общения с ним, стоит использовать: Фурье и вейвлет-преобразования (с их помощью получается амплитудно-частотная характеристика звуковых колебаний) плюс нейронная сеть для анализа АЧХ. Задача сложная, но вполне посильная. Одна проблема: боюсь, flash тут не катит как технология - медленный. Мой знакомый собирается ускорять анализ на cuda - иначе, говорит, качество будет плохое или обработка долгой. |
http://habrahabr.ru/post/117234/
http://habrahabr.ru/post/144535/ Только в реалиях флеша проще использовать Speex вместо FLAC. Добавлено через 50 секунд P.S. Но на диплом такое вряд ли покатит. |
По ссылкам alatar - делал похожее на флеше. Распознаёт очень плохо. Даже тему в разделе API создавал по этому поводу. Нормальных конвертеров и кодеков на флеше нет. А если без онлайн-взаимодейтсвия - совсем все плохо. Это ж целая система, одному не потянуть.
|
Цитата:
Я бы и взял бы иную идею какуенить.. но вот только не знаю что бы такое взять, что связано с радиолокационными системами и чтоб с инетом.. конечно можно gps навигацию, но это тоже дебри ещё те.. |
А если юзать гугл? Шлём ему звуковой поток и отображаем присланный им результат. Флеш правда как посредник будет только.
|
Цитата:
|
Да, я уже серьёзно задумался над тем, чтобы реализовать сайт, зашли, записали звук через флеш, отправили в гугл, он распознал и выдал обратно, мы вывели на сайте. Ну а в работе расписать современные принципе распознавания речи :)
Добавлено через 54 секунды Ну и будет такой сайт как пример использования таких технологий и много теории разной, возможно под дипломный проект подойдёт |
Даже апи есть, шаманить и ковыряться не надо.
Кажеться, я стал любить гугл ещё больше. |
Использовать для диплома открытые и бесплатные технологии не только можно, но и нужно - написать для диплома более-менее работающий сервис с использованием современных сервисов, да ещё и полезный - в 100 раз лучше, чем попытаться написать какой-нибудь велосипед распознающий букву "а".
Если бы вы занимались распознаванием речи специально, на специализированной кафедре, то вы бы были в курсе и такие вопросы не задавали бы, ну и тогда бы вы точно знали, что делать и решали бы какой-нибудь узконаправленный кусочек - а-ля "Сокращение времени разбора в графе предсказаний на основе статистически подобраных лексем и предугаданных падежных окончаний по методу Лебурьё-Жиже" |
А вот еще поизучайте теорию. Может до Flash и дело не дойдет.
http://admin.novsu.ac.ru/uni/vestnik...e/Trofimov.pdf Понять, что вариант тупиковый - это значит сэкономить время. |
Цитата:
|
Цитата:
Представляете ? Унитаз, который тебя "понимает" ! :mosking: |
Цитата:
|
| Часовой пояс GMT +4, время: 00:03. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.