HMS ML Kit предлагает разработчикам отличные функции, позволяющие им вносить значительный вклад в свои проекты. Каждая функция становится отдельным проектом, особенно когда речь идет о наборах, связанных с языком / голосом.

Лингвистический термин «Транскрипция» означает представление речи или разговора в форме простого текста.

Транскрипция в лингвистическом смысле - это систематическое представление языка в письменной форме.

HMS ML Kit, в частности, поставляется с двумя различными SDK для транскрипции аудио для этой замечательной цели.

  1. Транскрипция аудиофайлов
  2. Транскрипция в реальном времени

В этой статье я буду упоминать только Транскрипцию аудиофайлов, так как я планирую зарезервировать другое время для транскрипции в реальном времени.

Предварительный просмотр:

Позвольте мне показать вам конец в начале, как в моих любимых фильмах. 🤠 Вот красивый аудиофайл, преобразованный в текст с помощью функции транскрипции аудиофайлов HMS ML Kit. У него даже есть временные метки!

Если вам нравится, как оно есть, продолжайте со мной.

Репозиторий Github:

Я предлагаю вам клонировать этот репозиторий и попрактиковаться в этом с готовым проектом.



Подготовка:

Если вы новичок, эта часть может показаться немного сложной, но не волнуйтесь, каждый шаг очень прост и понятен. Приступим к:

  1. Настройте свой проект Android и интегрируйте ресурсы AppGallery. Следуйте официальным руководствам HMS:


2. Включите службы ML Kit для своего приложения на шаге 6.

Https://developer.huawei.com/consumer/en/codelab/HMSPreparation/index.html#0

3. Добавьте зависимость в свой build.gradle (приложение).

dependencies{  // other dependencies
  implementation 'com.huawei.hms:ml-computer-voice-aft:2.1.0.300'
}

4. Синхронизируйте Gradle с вашим проектом.

⚠️Ограничения:

Естественно, у нас есть ограничения на транскрипцию аудиофайлов. Если вы планируете работать сверх установленных ограничений, возможно, вы захотите передумать.

| Engine | Max File Duration |            Max File Size             
|--------|-------------------|--------------------------------------
| Short  | Up to 1 minute    | Less than 4 MB after Base64 encoding 
| Long   | Up to 5 Hours     | 300 MB                            
| Audio File Format and Encoding Format |
|---------------------------------------|
| WAV (corresponding to PCM)            |
| M4A (corresponding to AAC)            |
| AMR (corresponding to AMR)            |

|    Languages     |
|------------------|
| English          |
| Mandarin Chinese |

Цены. HMS в основном предоставляет ежемесячную бесплатную квоту для облачных сервисов, или даже большинство сервисов полностью бесплатны в пробный период. Стоимость услуги транскрипции аудиофайлов будет действовать до 11 февраля 2021 г. с оплатой по мере использования.

|    Free Quota    |        Price        |
|------------------|---------------------|
| 60 minutes/month | EUR0.003/15 seconds |

Стоимость услуг и подписка

👨‍💻Разработка:

Наконец-то перейдем к разработке. Как вы, возможно, заметили в приведенной выше таблице ограничений, столбец Engine состоит из коротких и длинных двигателей, что означает, что в сервисе есть 2 двигателя, разработанные для нас с целью повышения эффективности.

  1. Short Engine: предназначен для коротких файлов менее 1 минуты.
  2. Long Engine: предназначен для более длинных файлов от 1 минуты до 5 часов.

Конструкции одинаковы, и отклики почти идентичны в обоих двигателях. Мы будем использовать оба движка в зависимости от выбранной длительности файла.

Во-первых, нам нужно объявить разрешения:

Предполагая, что у вас есть Activity, давайте инициализируем наши переменные вверху

Перед тем как приступить к работе с HMS ML Kit, мы должны установить наш ключ api, который хранится в

app/agconnect-services.json.

Установите его внутри своего метода onCreate:

Я выбрал английский в качестве языка ввода при настройке нашего движка.

Установите longAftListener, который поможет нам обрабатывать данные ответа от нашего движка.

Теперь наш двигатель готов. Все, что нам нужно сделать, это предоставить ему файл и запустить его.

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

Давайте создадим кнопку в нашем файле activity.xml. Эта кнопка откроет селектор файлов и позволит нам выбрать аудиофайл. Во-первых, добавьте этой кнопке интерактивную функциональность.

Когда выбранный файл будет обработан, мы вызовем метод startLongAftEngine, передав URI файла, который объявлен как:

Идеально! Нам удалось это сделать. Теперь мы можем выбрать аудиофайл и расшифровать его.

Использованная литература:

  1. Транскрипция аудиофайлов HMS ML Kit: