Найти

Вы здесь:

Результаты поиска инструментов перевода речи в текст
Решения только для ввода текста в поля редактирования текста. Не подойдет для эмуляции нажатия кнопок, combobox и т.д., хотя как то и можно приспособить, но в этой заметке не про это.

Оглавление:

Vosk

Проект Vosk https://alphacephei.com/vosk/index.ru
Тест декодинга из Vosk https://github.com/alphacep/vosk-api/blob/master/java/lib/src/test/java/org/vosk/test/DecoderTest.java

  @Test
  public void decoderTestShort() throws IOException, UnsupportedAudioFileException {
    LibVosk.setLogLevel(LogLevel.DEBUG);

    try (Model model = new Model("model");
      InputStream ais = AudioSystem.getAudioInputStream(new BufferedInputStream(new FileInputStream("../../python/example/test.wav")));
      Recognizer recognizer = new Recognizer(model, 16000)) {

      int nbytes;
      byte[] b = new byte[4096];
      short[] s = new short[2048];
      while ((nbytes = ais.read(b)) >= 0) {
        ByteBuffer.wrap(b).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().get(s);
        if (recognizer.acceptWaveForm(s, nbytes / 2)) {
          System.out.println(recognizer.getResult());
        } else {
          System.out.println(recognizer.getPartialResult());
        }
      }

      System.out.println(recognizer.getFinalResult());
    }
    Assert.assertTrue(true);
  }

Статья на Baeldung "How to Convert WAV or MP3 to Text in Linux

https://www.baeldung.com/linux/wav-mp3-to-text-speech-recognize
Описаны примеры решения этой задачи с помощью разных инструментов: vosk (python), pocketsphinx, spchcat, whisper. Пример использования одного из инструментов(spchcat):

$ spchcat convertedFile.wav
TensorFlow: v2.3.0-14-g4bdd3955115
Coqui STT: v1.1.0-0-gf3605e23
...
learn english super fast
learn english by focusing on content
not grammar
what do i mean by content
...

 

Wisper

Как установить Whisper на Windows и перевести аудио в текст без интернета

  • Работает без интернета
  • Поддерживает русский язык
  • Бесплатный и с открытым кодом

Работает на Python 3.11. Установка:

pip install -U openai-whisper
pip install ffmpeg-python

В Android есть встроенный распознаватель речи в клавиатуре.

 

Встроенные в браузер средства на JavaScript (Web Speech API).

Пример: https://v.perm.ru/test_voice_to_text.html
или https://v.perm.ru/voice-to-text.html
В НАСТРОЙКАХ БРАУЗЕРА НУЖНО РАЗРЕШИТЬ ИСПОЛЬЗОВАНИЕ МИКРОФОНА! (во всех браузерах по разному)
Вся суть решения в html коде страницы:

    // Проверяем наличие Web Speech API
    const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;

    if (SpeechRecognition) {
        // РАСПОЗНАВАТЕЛЬ!
        const recognition = new SpeechRecognition();
        recognition.lang = 'ru-RU'; // Устанавливаем язык
        recognition.continuous = false; // Остановка после первой паузы
        recognition.interimResults = false; // Не показываем промежуточные результаты

        const voiceBtn = document.getElementById('voiceBtn');
        const searchInput = document.getElementById('searchInput');
        const textPad = document.getElementById('textPad');

        voiceBtn.addEventListener('click', () => {
            // РАСПОЗНАВАНИЕ!
            recognition.start();
        });

        // Событие при получении результата распознавания
        recognition.addEventListener('result', (event) => {
            const transcript = event.results[0][0].transcript;
            searchInput.value = transcript;
            textPad.value = transcript;
            console.log('Распознанный текст:', transcript);

            // Здесь вы можете, например, автоматически отправлять текст на сервер,
            // осуществлять поиск по сайту и т.д.
            // Пример: отправить форму:
            // document.getElementById('searchForm').submit();
        });

        // Событие после окончания прослушивания
        recognition.addEventListener('end', () => {
            console.log('Распознавание завершено');
        });
    } else {
        alert('К сожалению, ваш браузер не поддерживает Web Speech API');
    }
    

В примере распознавание заканчивается после некоторого молчания.

Статья на Habr "Rhasspy — опенсорсный и полностью офлайновый речевой тулкит. Распознавание русского языка. Никаких утечек в облако."

Rhasspy — опенсорсный и полностью офлайновый речевой тулкит. Распознавание русского языка. Никаких утечек в облако.

Ссылки: