sasamy 0 11 сентября Опубликовано 11 сентября · Жалоба On 9/11/2024 at 9:57 AM, repstosw said: Протестировал: работает, выдаёт текст. а какую модель использовали ? у vosk "маленькая" модель примерно 50М и я так понял в рантайме она требует 300М RAM, даже на t113-s4 только 256М Quote We have two types of models - big and small, small models are ideal for some limited task on mobile applications. They can run on smartphones, Raspberry Pi’s. They are also recommended for desktop applications. Small model typically is around 50Mb in size and requires about 300Mb of memory in runtime. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 11 сентября Опубликовано 11 сентября · Жалоба 54 minutes ago, sasamy said: а какую модель использовали ? у vosk "маленькая" модель примерно 50М и я так понял в рантайме она требует 300М RAM, даже на t113-s4 только 256М Под Линукс полностью собрал только Kaldi: https://habr.com/ru/articles/470696/ С ней использовал модель: kaldi-ru-0.7.tar.gz Воск собирал под Виндой - libvosk и test_vosk.c. Модель: vosk-model-small-ru-0.22.zip (46 MB) P.S. Что-то подсказывает мне, что для моих целей нужен фонетический вокодер, а не перебор слов по словарю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 11 сентября Опубликовано 11 сентября · Жалоба On 9/12/2024 at 1:05 AM, repstosw said: С ней использовал модель: kaldi-ru-0.7.tar.gz она вообще 1.9G а RAM надо несколько гигов On 9/12/2024 at 1:05 AM, repstosw said: Воск собирал под Виндой - libvosk и test_vosk.c воск и калди нормально собираются в buildroot - я добавил в свой только 3 пакета source "package/openfst/Config.in" source "package/kaldi/Config.in" source "package/vosk-api/Config.in" остальное из их зависимостей есть в майнстримном и все собралось само. Но вопрос - как вы будете эмулировать posix threads на барметале.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 12 сентября Опубликовано 12 сентября (изменено) · Жалоба 2 hours ago, sasamy said: она вообще 1.9G а RAM надо несколько гигов Как я уже написал ранее: 3 hours ago, repstosw said: нужен фонетический вокодер, а не перебор слов по словарю. Поэтому Vosk/Kaldi уже не интересны. 2 hours ago, sasamy said: Но вопрос - как вы будете эмулировать posix threads на барметале.. Обычно помогает снос этих pthreads и lpthreads. Но это если сильно захотеть. Например в коде с H264 - там они тоже были. Снёс нафиг. Ибо мультипоточность и мультизадачность в моих девайсах - не планируются. Более продвинутые способы: заменить специальной либой-суррогатом. В интернете есть. Но я не пробовал. Изменено 12 сентября пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 12 сентября Опубликовано 12 сентября · Жалоба On 9/12/2024 at 4:09 AM, repstosw said: Обычно помогает снос этих pthreads и lpthreads. помогает как раз их наличие - если есть 8 ядер код будет параллельно исполняться на 8 ядрах Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 50 12 сентября Опубликовано 12 сентября (изменено) · Жалоба 8 часов назад, repstosw сказал: что для моих целей нужен фонетический вокодер, а не перебор слов по словарю. Ну чтож, самое время запилить какое-то научное исследование по этому делу, думаю даже операторы связи этим тоже могут заинтересоваться))) В принципе-то ничего сложного, проанализировать речевой поток, разбить его на повторяющиеся фонемы, один раз передать их на получающее устройство и уже там синтезировать с их помощью новый голосовой поток, вполне возможно он даже будет похож на исходный)) Изменено 12 сентября пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 12 сентября Опубликовано 12 сентября · Жалоба On 9/12/2024 at 9:11 AM, mantech said: Ну чтож, самое время запилить какое-то научное исследование по этому делу а на выходе будет очередной пук 🙂 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 12 сентября Опубликовано 12 сентября (изменено) · Жалоба 2 hours ago, sasamy said: помогает как раз их наличие - если есть 8 ядер код будет параллельно исполняться на 8 ядрах Помогает как раз наличие аппаратного кодека. Одно ядро работает, остальные не нужны. Помню, для T113-s3 делал одновременное воспроизведение двух видео H264 на одном дисплее (одно видео вверху, другое внизу дисплея). Заказчик так захотел. Без тредов всяких. ИМХО треды - ЗЛО в embed, они мешают портировать код на голое железо. 1 hour ago, mantech said: Ну чтож, самое время запилить какое-то научное исследование по этому делу, думаю даже операторы связи этим тоже могут заинтересоваться))) ОпСоСы как раз борятся с этим и блокируют симки. 1 hour ago, mantech said: В принципе-то ничего сложного, проанализировать речевой поток, разбить его на повторяющиеся фонемы, один раз передать их на получающее устройство и уже там синтезировать с их помощью новый голосовой поток, вполне возможно он даже будет похож на исходный)) В русском языке всего 43 фонемы. Фонемных пар по-больше. Можно бить как на фонемы, так и на фонемные пары. Основная сложность - поиск фонем в потоке, придётся делать скользящее окно, считать MFCC и сравнивать их с референсными значениями(которые должны быть получены в результате обучения с нарезок голоса): делать поиск по максимальному правдоподобию. Ну и наверное, ещё и нормализацию по амплитуде не забыть, как вариант - АРУ. Плюс активация по голосу VAD, чтобы отсеять шумы и всё, что не речевое. В итоге пропадёт интонация и громкость, не говоря уже о передаче эмоций. Одно не пойму, нафига тут питоны и нейронки? Когда можно на голом С/C++ всё сделать: будет портируемость в промышленных масштабах. 🤣 Изменено 12 сентября пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 9 12 сентября Опубликовано 12 сентября · Жалоба 10 часов назад, repstosw сказал: Под Линукс полностью собрал только Kaldi: https://habr.com/ru/articles/470696/ С ней использовал модель: kaldi-ru-0.7.tar.gz Воск собирал под Виндой - libvosk и test_vosk.c. Модель: vosk-model-small-ru-0.22.zip (46 MB) Я пытался использовать vosk. Вывод - непригоден для реальных условий "в поле". Дикторский текст распознает хорошо если например читать книжку в микрофон, как дело доходит до разговора в комнате выдает ахинею. Хорошо работает whisper с моделью large v3 но оно дико медленное и нужны гигабайты ram, причем при работе на cpu параллелится только на 4 потока и Xeon не загружает совсем а топовой видеокарты с Cuda у меня не было. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 12 сентября Опубликовано 12 сентября (изменено) · Жалоба 1 hour ago, _3m said: Хорошо работает whisper с моделью large v3 но оно дико медленное и нужны гигабайты ram, причем при работе на cpu параллелится только на 4 потока и Xeon не загружает совсем а топовой видеокарты с Cuda у меня не было. Гигабайты памяти - не подходит для T113-s3. Хотя, можно какой-нибудь 4-гиговый SPI NOR/NAND поставить - один фиг - для чтения. Нашёл вот такую штуку: https://speech.fit.vutbr.cz/software/phoneme-recognizer-based-long-temporal-context Это - именно для разбивки речевого потока на фонемы, без отсылки к громадным словарям слов. С виду написана на C++. Есть база для русского языка (около 27 МБ). Пока не компилировал. Проверил - работает достаточно сносно: phnrec -v -c PHN_RU_SPDAT_LCRC_N1500 -i test.raw -o output.txt На входе - сырой файл(test.raw) отсчётов 8 кГц 16 бит беззнаковый: конвертирую с помощью Audacity. На выходе - текстовый файл(output.txt): отсчёты времени, фонемы и ещё какое-то число в конце. Изменено 12 сентября пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 50 12 сентября Опубликовано 12 сентября · Жалоба 4 часа назад, repstosw сказал: Одно не пойму, нафига тут питоны и нейронки? Питоны для лентяев, типа там одна команда делает больше, чем оно же на Сях, х.з. может и так, но синтаксис там жуть, как по мне... А нейронки, скорее всего, так проще делать сравнения по различающимся образам, голоса-то у нас всех разные, но общность одна, вот ее и выделяют нейронки. 1 час назад, repstosw сказал: ашёл вот такую штуку: https://speech.fit.vutbr.cz/software/phoneme-recognizer-based-long-temporal-context Это - именно для разбивки речевого потока на фонемы, без отсылки к громадным словарям слов. Видимо без vpn-ов не пускает, а я ими не пользуюсь принципиально))) 3 часа назад, _3m сказал: Вывод - непригоден для реальных условий "в поле". Ну разумеется, вы б его еще для раций попробовали, где человек-то не всегда понимает, что там набулькали)))))))) 4 часа назад, sasamy сказал: а на выходе будет очередной пук Пукайте, не стесняйтесь, что уж там))))))))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 12 сентября Опубликовано 12 сентября (изменено) · Жалоба On 9/12/2024 at 1:09 PM, repstosw said: Проверил - работает достаточно сносно видимо авторы так не думают если с 2009 не обновлялось, если вам надо "сносный результат" есть доступный без впн "PocketSphinx — recognizer library written in C" https://cmusphinx.github.io/ в buildroot из коробки одной галочкой включается, но там используется предыдущая версия https://sourceforge.net/projects/cmusphinx/files/ Изменено 12 сентября пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Евген_ 1 12 сентября Опубликовано 12 сентября · Жалоба Добрый вечер, а кто-нибудь проверял работу ISP_SCALER на F1C(работа с AVC) ? Задаю параметры и включаю MACC_ISP_CTRL_SCALER_EN, далее все по шаблону jpeg(avc), но в конце получаю прерывание от VE со статусом failed(2). При этом длинна сжатых данных больше нуля 😃 Если не было поддержки, то чип ,наверное, просто игнорировал данные регистры, а тут ошибка - что-то другое. Реализацию подсмотрел тут: https://github.com/milosladni/sunxi-tvin2jpeg_h264/blob/master/veisp.c Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 12 сентября Опубликовано 12 сентября (изменено) · Жалоба 13 hours ago, repstosw said: Нашёл вот такую штуку: https://speech.fit.vutbr.cz/software/phoneme-recognizer-based-long-temporal-context Это - именно для разбивки речевого потока на фонемы, без отсылки к громадным словарям слов. С виду написана на C++. Есть база для русского языка (около 27 МБ). Пока не компилировал. Успешно собралось под Виндой с помощью Mingw32. Правда Makefile пришлось дописать : CFLAGS += -include cstring -include limits.h -Wno-narrowing Так как эти хедеры не всегда неявно включены в другие. 12 hours ago, mantech said: Ну разумеется, вы б его еще для раций попробовали, где человек-то не всегда понимает, что там набулькали)))))))) Чтобы не было булькания, в передатчике надо делать подъём АЧХ усилителя звука в области ВЧ - примерно на 6 дБ на октаву. А в приёмнике наоборот - спад АЧХ перед УНЧ на столько же. Тогда звук будет звонким. Обратите внимание, какой звук дают рации ДПС'ников: у них голос там с дребезгом и слышен даже в шумах. А вот гражданские рации - действительно с "бу-бу-бу..." ибо нуждаются в коррекции АЧХ. 9 hours ago, sasamy said: видимо авторы так не думают если с 2009 не обновлялось Зачем постоянно обновлять то, что работает? 9 hours ago, sasamy said: если вам надо "сносный результат" есть доступный без впн "PocketSphinx — recognizer library written in C" https://cmusphinx.github.io/ в buildroot из коробки одной галочкой включается, но там используется предыдущая версия https://sourceforge.net/projects/cmusphinx/files/ Это опять поиск по словарю из готовых слов. А мне нужно разбор на фонемы. Вопрос решён. Изменено 12 сентября пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 50 13 сентября Опубликовано 13 сентября (изменено) · Жалоба 17 часов назад, mantech сказал: Успешно собралось под Виндой с помощью Mingw32. Правда Makefile пришлось дописать : Видимо без vpn-ов не пускает, а я ими не пользуюсь принципиально))) Кому нужно без vpn - https://github.com/rampa069/PhnRec Изменено 13 сентября пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться