Перейти к содержимому

Microphone Text Input

Этот мод использует технологию распознавания речи, позволяя вводить текст с помощью микрофона и отправлять сообщения игрокам. Нажмите клавишу v, чтобы запустить распознавание речи и автоматически отправить сообщение.

FabricNeoForgeForgeQuilt
Загрузчики
FabricNeoForgeForgeQuilt
Скачиваний на Modrinth
29,6 тыс.
Подписчиков на Modrinth
70
версий
88
Обновлён
14 мая 202614 мая
Опубликован
в 2023
1.1.0 icon · свайп

Коротко о моде

Работает на Fabric, NeoForge, Forge и Quilt
Для Minecraft 1.20.4–1.21.1, 1.21.4–26.1.2 …
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 3.0.1+26.1.2-neoforge от 14 мая 2026
Нужен MidnightLib
Лицензия MIT — бесплатно
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.19.2–1.20.2, 1.20.4–1.21.1, 1.21.4–26.1.2
Описание переведено автоматическиПоказать оригинал (EN)

Документация пользователя мода Microphone Text Input

Architectury 2.x

icon

Введение

Microphone Text Input Mod — это мод для Fabric, предназначенный для клиента Minecraft. Он предоставляет функцию ввода с помощью распознавания речи и автоматически преобразует произнесённые слова в текстовые сообщения чата, улучшая внутриигровое общение.

Возможности

  • Несколько режимов: Поддерживает различные режимы работы, включая AUTO_SEND, RELEASE_KEY_TO_SEND и RELEASE_KEY_TO_INPUT.
  • Расширенная настройка: Позволяет пользователям настраивать дополнительные параметры, связанные с библиотекой Whisper, такие как количество потоков, размер аудиоконтекста и стратегия сэмплирования.

Зависимости

Название зависимостиFabricNeoForge
Java2121
Fabric APIсм. fabric.mod.json❌
Architectury API❌см. neoforge.mods.toml
MidnightLibсм. fabric.mod.jsonсм. neoforge.mods.toml

Настройка

Привязка клавиш

Название привязкиРаспознавание
Категорияkey.category.minecraft.mcmti
Ключ переводаkey.mcmti.recognize
Клавиша по умолчаниюV

Общие настройки

НастройкаКлюч переводаПолеТипЗначение по умолчаниюОписание
GGML Whisper Modelmcmti.midnightconfig.modelme.jaffe2718.mcmti.config.McmtiConfig.modelString""Путь к модели GGML Whisper.
Языкmcmti.midnightconfig.languageme.jaffe2718.mcmti.config.McmtiConfig.languageString"en"Язык для распознавания речи.
Режимmcmti.midnightconfig.modeme.jaffe2718.mcmti.config.McmtiConfig.modeme.jaffe2718.mcmti.config.McmtiConfig.Mode"RELEASE_KEY_TO_SEND"Режим работы мода.
Цикл записи (мс)mcmti.midnightconfig.recordCycleMsme.jaffe2718.mcmti.config.McmtiConfig.recordCycleMsint5000Цикл записи в миллисекундах.
Размер буфера записи (байт)mcmti.midnightconfig.recordBufferSizeme.jaffe2718.mcmti.config.McmtiConfig.recordBufferSizeint1024Размер буфера записи в байтах.
Префиксmcmti.midnightconfig.prefixme.jaffe2718.mcmti.config.McmtiConfig.prefixString"⌈Speech Input⌋"Префикс, добавляемый к распознанному тексту.
Черновой вводmcmti.midnightconfig.draftInputme.jaffe2718.mcmti.config.McmtiConfig.draftInputbooleanfalseВключить черновой ввод. Если включено, распознанный текст будет отображаться в строке ввода как черновик.
Исправление кодировкиmcmti.midnightconfig.encodingRepairme.jaffe2718.mcmti.config.McmtiConfig.encodingRepairbooleanfalseВключить исправление кодировки.
Исходная кодировкаmcmti.midnightconfig.srcEncodingme.jaffe2718.mcmti.config.McmtiConfig.srcEncodingStringCharset.defaultCharset().displayName()Исходная кодировка текста. Применяется только если включено исправление кодировки.
Целевая кодировкаmcmti.midnightconfig.dstEncodingme.jaffe2718.mcmti.config.McmtiConfig.dstEncodingStringCharset.defaultCharset().displayName()Целевая кодировка текста. Применяется только если включено исправление кодировки.

Расширенные настройки

НастройкаКлюч переводаПолеТипЗначение по умолчаниюОписание
Включить расширенную конфигурациюmcmti.midnightconfig.advancedConfigme.jaffe2718.mcmti.config.McmtiConfig.advancedConfigbooleanfalseВключить расширенную конфигурацию.
nThreadsmcmti.midnightconfig.nThreadsme.jaffe2718.mcmti.config.McmtiConfig.nThreadsint0Количество потоков, используемых для работы модели Whisper. 0 — максимальное число ядер.
audioCtxmcmti.midnightconfig.audioCtxme.jaffe2718.mcmti.config.McmtiConfig.audioCtxint0Размер аудиоконтекста для модели Whisper. 0 — использовать значение по умолчанию.
nMaxTextCtxmcmti.midnightconfig.nMaxTextCtxme.jaffe2718.mcmti.config.McmtiConfig.nMaxTextCtxint16384Максимальное количество токенов из прошлого текста, используемых как подсказка для декодера.
offsetMsmcmti.midnightconfig.offsetMsme.jaffe2718.mcmti.config.McmtiConfig.offsetMsint0Смещение в мс, с которого начинать запись.
durationMsmcmti.midnightconfig.durationMsme.jaffe2718.mcmti.config.McmtiConfig.durationMsint0Длительность обрабатываемого аудио в мс. 0 — использовать значение по умолчанию.
translatemcmti.midnightconfig.translateme.jaffe2718.mcmti.config.McmtiConfig.translatebooleanfalseПереводить текст на язык по умолчанию.
noTimestampsmcmti.midnightconfig.noTimestampsme.jaffe2718.mcmti.config.McmtiConfig.noTimestampsbooleanfalseНе создавать временные метки.
initialPromptmcmti.midnightconfig.initialPromptme.jaffe2718.mcmti.config.McmtiConfig.initialPromptString""Изначальный текст, используемый как подсказка для whisper.
noContextmcmti.midnightconfig.noContextme.jaffe2718.mcmti.config.McmtiConfig.noContextbooleantrueНе использовать прошлую транскрипцию (если есть) как изначальную подсказку для декодера.
singleSegmentmcmti.midnightconfig.singleSegmentme.jaffe2718.mcmti.config.McmtiConfig.singleSegmentbooleanfalseПринудительно выводить один сегмент (полезно для стриминга).
printSpecialmcmti.midnightconfig.printSpecialme.jaffe2718.mcmti.config.McmtiConfig.printSpecialbooleanfalseВыводить специальные токены.
printProgressmcmti.midnightconfig.printProgressme.jaffe2718.mcmti.config.McmtiConfig.printProgressbooleantrueВыводить информацию о прогрессе.
printRealtimemcmti.midnightconfig.printRealtimeme.jaffe2718.mcmti.config.McmtiConfig.printRealtimebooleanfalseВыводить результаты из whisper.cpp (избегайте этого, используйте callback).
printTimestampsmcmti.midnightconfig.printTimestampsme.jaffe2718.mcmti.config.McmtiConfig.printTimestampsbooleantrueВыводить временные метки для каждого текстового сегмента при выводе в реальном времени.
suppressBlankmcmti.midnightconfig.suppressBlankme.jaffe2718.mcmti.config.McmtiConfig.suppressBlankbooleantrueОпция декодера.

| suppressNonSpeechTokens | mcmti.midnightconfig.suppressNonSpeechTokens | me.jaffe2718.mcmti.config.McmtiConfig.suppressNonSpeechTokens | boolean | true | Опция токенизатора. | | temperature | mcmti.midnightconfig.temperature | me.jaffe2718.mcmti.config.McmtiConfig.temperature | float | 0.0f | Начальная температура декодирования. | | maxInitialTs | mcmti.midnightconfig.maxInitialTs | me.jaffe2718.mcmti.config.McmtiConfig.maxInitialTs | float | 1.0f | Максимальная начальная временная метка. | | lengthPenalty | mcmti.midnightconfig.lengthPenalty | me.jaffe2718.mcmti.config.McmtiConfig.lengthPenalty | float | -1.0f | Штраф за длину. | | temperatureInc | mcmti.midnightconfig.temperatureInc | me.jaffe2718.mcmti.config.McmtiConfig.temperatureInc | float | 0.4f | Приращение температуры. | | entropyThold | mcmti.midnightconfig.entropyThold | me.jaffe2718.mcmti.config.McmtiConfig.entropyThold | float | 2.4f | Порог энтропии (аналогично "compression_ratio_threshold" у OpenAI). | | logprobThold | mcmti.midnightconfig.logprobThold | me.jaffe2718.mcmti.config.McmtiConfig.logprobThold | float | -1.0f | Порог логарифмической вероятности. | | noSpeechThold | mcmti.midnightconfig.noSpeechThold | me.jaffe2718.mcmti.config.McmtiConfig.noSpeechThold | float | 0.6f | Порог отсутствия речи. | | greedyBestOf | mcmti.midnightconfig.greedyBestOf | me.jaffe2718.mcmti.config.McmtiConfig.greedyBestOf | int | -1 | Специфично для стратегии жадной выборки. | | beamSearchBeamSize | mcmti.midnightconfig.beamSearchBeamSize | me.jaffe2718.mcmti.config.McmtiConfig.beamSearchBeamSize | int | 2 | Специфично для стратегии лучевого поиска. | | beamSearchPatience | mcmti.midnightconfig.beamSearchPatience | me.jaffe2718.mcmti.config.McmtiConfig.beamSearchPatience | float | -1.0f | Специфично для стратегии лучевого поиска. | | grammar | mcmti.midnightconfig.grammar | me.jaffe2718.mcmti.config.McmtiConfig.grammar | String | "" | Путь к файлу грамматики. Пусто — грамматика не используется. | | grammarPenalty | mcmti.midnightconfig.grammarPenalty | me.jaffe2718.mcmti.config.McmtiConfig.grammarPenalty | float | 100.0f | Штраф за токены, не соответствующие грамматике. | | whisperSamplingStrategy | mcmti.midnightconfig.whisperSamplingStrategy | me.jaffe2718.mcmti.config.McmtiConfig.whisperSamplingStrategy | io.github.freshsupasulley.whisperjni.WhisperSamplingStrategy | BEAM_SEARCH | Перечисление WhisperContext для настройки стратегии сэмплирования whisper. | | vad | mcmti.midnightconfig.vad | me.jaffe2718.mcmti.config.McmtiConfig.vad | boolean | false | Включить VAD (обнаружение голосовой активности). | | vadmax_speech_duration_s | `mcmti.midnightconfig.vadmax_speech_duration_s |me.jaffe2718.mcmti.config.McmtiConfig.vadmax_speech_duration_s |float |0f` | Максимальная длительность речевого сегмента до принудительного начала нового. | | vadmin_silence_duration_ms | mcmti.midnightconfig.vad__min_silence_duration_ms | me.jaffe2718.mcmti.config.McmtiConfig.vad__min_silence_duration_ms | int | 0 | Минимальная длительность тишины для завершения речи. | | vadmin_speech_duration_ms | `mcmti.midnightconfig.vadmin_speech_duration_ms |me.jaffe2718.mcmti.config.McmtiConfig.vad__min_speech_duration_ms |int |0` | Минимальная длительность допустимого речевого сегмента. |

| vadsamples_overlap | `mcmti.midnightconfig.vadsamples_overlap |me.jaffe2718.mcmti.config.McmtiConfig.vadsamples_overlap |float |0f` | Перекрытие в секундах при копировании аудиосэмплов из речевого сегмента. | | vadspeech_pad_ms | mcmti.midnightconfig.vad__speech_pad_ms | me.jaffe2718.mcmti.config.McmtiConfig.vad__speech_pad_ms | int | 0 | Отступ, добавляемый до и после речевых сегментов. | | vadthreshold | `mcmti.midnightconfig.vadthreshold |me.jaffe2718.mcmti.config.McmtiConfig.vad__threshold |float |0f | Порог вероятности для распознавания речи. | | vad_model_path |mcmti.midnightconfig.vad_model_path |me.jaffe2718.mcmti.config.McmtiConfig.vad_model_path |String |"" | Путь к модели VAD. Пустая строка означает использование модели по умолчанию. | | useCustomDynamicLib |mcmti.midnightconfig.useCustomDynamicLib |me.jaffe2718.mcmti.config.McmtiConfig.useCustomDynamicLib |boolean |false | Включить использование пользовательской динамической библиотеки для Whisper. | | customDynamicLibDir |mcmti.midnightconfig.customDynamicLibDir |me.jaffe2718.mcmti.config.McmtiConfig.customDynamicLibDir |String |""` | Каталог пользовательской динамической библиотеки для Whisper. |

ВНИМАНИЕ: Включение расширенной конфигурации изменит параметры конфигурации модели Whisper по умолчанию, что критически повлияет на результаты распознавания речи. Неправильная настройка расширенных параметров может привести к таким проблемам, как сбой распознавания речи, высокая нагрузка на ресурсы компьютера и падение программы. Пожалуйста, используйте с осторожностью.

Использование

  1. Установите мод и скачайте модель GGML Whisper.
  2. Настройте мод под свои нужды в меню конфигурации.
  3. Используйте назначенную клавишу (по умолчанию V), чтобы начать запись и распознавание речи.
  4. Если режим установлен на AUTO_SEND, распознанный текст будет автоматически отправлен как сообщение в чат. Если установлен RELEASE_KEY_TO_SEND или RELEASE_KEY_TO_INPUT, следуйте соответствующему действию — отпустите клавишу.

Использование VAD

Если вы хотите использовать VAD (Voice Activity Detection), вам нужно скачать модель VAD, включить расширенную конфигурацию и указать vad_model_path в меню конфигурации как путь к модели VAD.

Пользовательская динамическая библиотека

  1. Скачайте пользовательскую динамическую библиотеку с Jaffe2718/whisper-jni и распакуйте файлы.
  2. Включите расширенную конфигурацию и установите useCustomDynamicLib в true в меню конфигурации.
  3. Укажите customDynamicLibDir в меню конфигурации как каталог, где находится пользовательская динамическая библиотека.
  4. Если вы хотите использовать динамическую библиотеку с поддержкой vulkan, проверьте, что на вашем компьютере установлены драйверы и библиотеки для работы Vulkan.

    vulkaninfo
  5. Если вы хотите использовать CUDA, проверьте, что на вашем компьютере установлены драйверы и библиотеки для работы CUDA.

    nvidia-smi

    Для Linux вам нужно установить CUDA Toolkit >= 12.4.0 и настроить переменные окружения. Для Windows, если игра падает, вам придётся заставить игру использовать Java >= 25, см. Jaffe2718/whisper-jni/v0.5.6

Устранение неполадок

  • Краш при запуске: Проверьте совместимость и версию используемой вами динамической библиотеки. Можно отключить расширенную конфигурацию и установить useCustomDynamicLib в false, чтобы использовать стандартную динамическую библиотеку (версию для CPU).
  • Не удалось загрузить устройство аудиоввода: Проверьте, есть ли у Java доступ к устройству аудиоввода.
  • Не удалось загрузить модель Whisper: Убедитесь, что путь к модели GGML Whisper указан верно.

Участие в разработке

Если вы хотите внести свой вклад в этот проект, не стесняйтесь создавать issues или pull requests на GitHub.

Частые вопросы

Как установить Microphone Text Input?

Установите Fabric под свою версию Minecraft, скачайте Microphone Text Input под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть Microphone Text Input?

У Microphone Text Input есть сборки для Minecraft 1.19.2–1.20.2, 1.20.4–1.21.1, 1.21.4–26.1.2.

Нужен ли Microphone Text Input на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
MIT Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее