println!("{}", config.sample_rate().0); // 48000 let mut recognizer = Recognizer::new(&model, config.sample_rate().0 as f32)
Работает но меня вот этот момент смущает - 48000 sample_rate на вход подается... еще потестирую но вроде это очень плохо для точности... (меньше нельзя выставить в микрофоне ноута (разве что 44100 но это не сильно помогает) - я пробовал и программно и руками через операционку)
Вот что говорит копилот (я сам в Audio теме ничего не понимаю): Функция vosk_recognizer_new(model, sample_rate) ожидает, что частота дискретизации аудио совпадает с той, на которой обучена модель. Большинство моделей Vosk обучены на 16 кГц, и вот почему это критично: Модели Vosk не делают ресемплирование автоматически. Если вы подаёте аудио с частотой 48000 Гц, а модель обучена на 16000 Гц, то распознавание будет работать, но с пониженной точностью. Это связано с тем, что акустические признаки (MFCC и др.) будут искажены. Рекомендация: ресемплировать аудио до 16000 Гц перед подачей в распознаватель. Например, с помощью sox, ffmpeg, dasp, cpal или других Rust-библиотек
И по моим предыдущим тестам - точность была просто отвратительной... если сравнивать с T-one моделью
Хорошая статья. Было бы интересно как с микрофона сигнал передать в vosk-rs (там передескритизация нужна в 16000 (микрофон мака сильно больше минимальную частоту отдает))... у меня так и не вышло нормально ее реализовать
Из интересного есть еще Bevy, Fyrox (это все Rust) но там нужно страдать (движки еще очень сырые). Я сам полностью на Rust перешел c многолетней интерпрайз Java, это прям другой мир (в плане подходя к разработке). Кстати тоже Blender, Substance 3D Painter (в стиме его все еще можно купить), RizomUV, Marmoset Toolbag, Unreal, Unity, Godot смотрел - в качестве хобби, но руки так и не дошли что то серьезное сделать. Кстати в Unreal интегрирован Quixel Megascans (эпики пару лет назад купили компанию) - это огромны набор бесплатных ассетов - сканов с реального мира (с их нанитами неплохо работает), плюс в Fab к Unreal ежемесячно выкладывают бесплатные ассеты, также на гитхабе рядом с сорцами анрила есть плагины к Blender для экспорта рига и объектов, правда не знаю работают ли они еще с новыми версиями аррила
У вас оплата картой сломана - пишет "Вы не прошли проверку с помощью одноразового пароля" - который никогда не запрашивает
println!("{}", config.sample_rate().0); // 48000
let mut recognizer = Recognizer::new(&model, config.sample_rate().0 as f32)
Работает но меня вот этот момент смущает - 48000 sample_rate на вход подается... еще потестирую но вроде это очень плохо для точности... (меньше нельзя выставить в микрофоне ноута (разве что 44100 но это не сильно помогает) - я пробовал и программно и руками через операционку)
Вот что говорит копилот (я сам в Audio теме ничего не понимаю):
Функция vosk_recognizer_new(model, sample_rate) ожидает, что частота дискретизации аудио совпадает с той, на которой обучена модель. Большинство моделей Vosk обучены на 16 кГц, и вот почему это критично:
Модели Vosk не делают ресемплирование автоматически.
Если вы подаёте аудио с частотой 48000 Гц, а модель обучена на 16000 Гц, то распознавание будет работать, но с пониженной точностью.
Это связано с тем, что акустические признаки (MFCC и др.) будут искажены.
Рекомендация: ресемплировать аудио до 16000 Гц перед подачей в распознаватель.
Например, с помощью sox, ffmpeg, dasp, cpal или других Rust-библиотек
И по моим предыдущим тестам - точность была просто отвратительной... если сравнивать с T-one моделью
Я имею ввиду аудио поток с микрофона в реальном времени напрямую - минуя файл... с файлом там и так пример есть
Хорошая статья. Было бы интересно как с микрофона сигнал передать в vosk-rs (там передескритизация нужна в 16000 (микрофон мака сильно больше минимальную частоту отдает))... у меня так и не вышло нормально ее реализовать
В телеграм есть группа "Rust GameDev — русскоговорящее сообщество | НЕ игра Rust" там очень активно Bevy обсуждают и много чего еще
Из интересного есть еще Bevy, Fyrox (это все Rust) но там нужно страдать (движки еще очень сырые). Я сам полностью на Rust перешел c многолетней интерпрайз Java, это прям другой мир (в плане подходя к разработке). Кстати тоже Blender, Substance 3D Painter (в стиме его все еще можно купить), RizomUV, Marmoset Toolbag, Unreal, Unity, Godot смотрел - в качестве хобби, но руки так и не дошли что то серьезное сделать. Кстати в Unreal интегрирован Quixel Megascans (эпики пару лет назад купили компанию) - это огромны набор бесплатных ассетов - сканов с реального мира (с их нанитами неплохо работает), плюс в Fab к Unreal ежемесячно выкладывают бесплатные ассеты, также на гитхабе рядом с сорцами анрила есть плагины к Blender для экспорта рига и объектов, правда не знаю работают ли они еще с новыми версиями аррила