Голосовые сообщения WeChat могут воспроизводиться таким образом? Даже новичок может использовать Devbox, чтобы легко добиться преобразования голоса с публичного номера в текст!
Многие захотят использовать голосовой ввод WeChat напрямую, ведь говорить всегда быстрее, чем набирать текст.
В отличие от обычного .mp3
ответить пением .wav
Формат отличается, голосовой ввод WeChat по умолчанию использует .amr
Формат.
Ниже приведен веб-хук, полученный сервером разработчика от WeChat, указывающий на получение голосового сообщения от пользователя на публичном номере, и вы можете видеть следующий формат .amr
.

Многие сервисы STT (Speech to Text) поддерживают только первый вариант, в связи с чем возникает вопрос: как интегрировать .amr
формат преобразуется в .mp3
Формат?
Рецепт
Сначала я хотел использовать Laf
раствор, который, как выяснилось позже, был Laf
находиться по адресу функционировать как сервис решение, которое не поддерживает использование таких файловых систем, как fs
Манипулируйте файлами на сервере.
Затем я увидел идею решения на GitHub.[2]: Start a express
сервис, используя fluent-ffmpeg
главнокомандующий (военный) .amr
конвертировать .mp3
Затем файл временно хранится на сервере для использования вызывающим абонентом.
Это решение предполагает, что на сервере предварительно установлен FFmpeg
иначе fluent-ffmpeg
не будет доступна.
"Это не простая функция-как-сервис", - подумал я про себя. Я сам занимаюсь back-end и Ops, и раньше я был полностью увлечен Serverless, сосредоточившись на взаимодействии с пользователями через front-end. Теперь это стало для меня некоторым вызовом.
Однако мне вспоминается Sealos, который был запущен некоторое время назад. Devbox
Судя по всему, реклама призвана восполнить этот пробел. Laf
Такие функции как услуга не работают.
"Не могу ли я развернуть службу, как я описал выше, на Devbox?" И тут начинается трансформация (pit-stepping).
Devbox с использованием Body Sense
Что такое Devbox, можно узнать из введения:Выпущен Sealos Devbox: развертывание облачной среды разработки

Здесь я хотел бы поговорить именно об опыте его разработки.
Потому что это очень сильно влияет на ваше восприятие Devbox
Понимание и обходные пути, которые я проделал, так что это параграф советов по использованию или выводов, которые я поместил сюда для обсуждения.
существовать Devbox
Кроме того, все процессы разработкипрямой.
Поначалу мне было очень неудобно работать с ней, но она работает точно так же, как и наша локальная IDE. Connect to SSH Host
Давайте посмотрим на функцию Клод Примечание по этому поводу:

Devbox позволяет вам избежать 记录服务器 IP 或域名
/ 输入 SSH 端口号
/ 输入服务器用户名或密码(或SSH密钥)
Процесс заключается в нажатии всего одной кнопки внизу.

Я использую Виндсерфинг После первого щелчка мой Windsurf попытался подключиться к удаленному серверу. Все изменения, которые вы делаете в IDE после этого, на самом деле работают с удаленным сервером.
В том числе, бег pnpm i
Или другие ордена, все до одного.
Что еще более важно, все ваши действия, включая выполнение команд, попадают в веб-интерфейс Devbox одним нажатием на кнопку 发布版本
Когда все (опять же, включая命令的运行
) упаковывается в образ docker, который эквивалентен моментальному снимку текущего состояния виртуальной машины.

Поэтому все зависимости и базовое программное обеспечение, которое мы установили в среду разработки Devbox (напримерFFmpeg
), в 发布版本
После этого нам не пришлось повторять наши шаги в производственной среде, а все предварительные требования были установлены "из коробки".
Когда вы поймете это, вы наконец поймете, почему Devbox
Общественность всегда говорила: наконец-то нам не придется беспокоиться о проблемах зависимостей и конфликтах номеров версий в производственных средах.Потому что производственная среда - это полное зеркало среды разработки!
практическое занятие
С учетом вышеизложенного понимания Devbox
Практическая часть реализации относительно проста после получения знаний о
1. Выберите express на Devbox

2. Открыть в IDE
Как уже говорилось выше, использование VS Code
/ Cursor
/ Windsurf
Подключитесь к серверу для разработки.
После подключения к серверу выберите все файлы Cmd + A
Удалите файл шаблона по умолчанию полностью.
3. Загрузка кода
Мы просто выбрали express
шаблон, поэтому по умолчанию git
, node
ответить пением pnpm
Все установлено.
Теперь откроем терминал Terminal и используем git
Код для скачивания.
git clone https://github.com/yenche123/liubai.git
Вот вам совет: если вы набираете команды на IDE SSH-хоста, вы почувствуете небольшую задержку, это потому, что вы действительно управляете терминалом на удаленном сервере, конечно, между вами будет задержка.
Предыдущий опыт разработки заключался в том, что вы разрабатывали локально, затем упаковывали код и загружали его на сервер; используя Devbox
Затем все работает на сервере, разработка как развертывание.
4. Установите FFmpeg
Продолжайте вводить следующую команду в Терминале, чтобы завершить работу FFmpeg
Установка.
sudo apt update && sudo apt upgrade # press Y to continue sudo apt install ffmpeg # press Y to continue ffmpeg -version # verify if installed successfully
Последняя строка позволяет убедиться, что установка прошла успешно.
И опять же, после этой установки не нужно повторять шаги в производственной среде, поскольку программное обеспечение будет включено непосредственно в образ. Потрясающе, не правда ли?
5. Написание файла entrypoint.sh

Мы находимся в корневом каталоге, который совпадает с каталогом liubai/
Позиция сиблинга (показана выше) создает entrypoint.sh
файл, который читается следующим образом.
#!/bin/bash cd /home/Devbox/project/liubai/liubai-backends/liubai-ffmpeg pnpm dev
Этот файл должен сообщить серверу в производственной среде, как запустить желаемую службу после запуска машины.
Здесь мы указываем машине, что сначала нужно найти папку назначения. liubai-ffmpeg
Затем запустите pnpm dev
команда для запуска express
Услуги.
6. Авторизация файла entrypoint.sh
Также в корневом каталоге мы выполним следующую команду entrypoint.sh
Добавьте разрешения для исполняемых файлов.
chmod +x entrypoint.sh
7. Установка зависимостей
Давайте откроем его. liubai-ffmpeg
каталог для установки необходимых зависимостей:
cd /home/Devbox/project/liubai/liubai-backends/liubai-ffmpeg pnpm i
8. Запуск служб в среде разработки
Вернувшись в корневой каталог, давайте снова смоделируем запуск службы:
cd /home/Devbox/project bash entrypoint.sh

Появление сообщения печати, как показано выше, означает, что мы запустили среду разработки на машине с параметром amr
классификатор повторяющихся действий mp3
услуг!
Давайте вернемся к Devbox
В веб-интерфейсе скопируйте публичный адрес.

Затем введите в адресную строку браузера /hello
Если вы видите экран, как показано ниже, это означает, что предоставленный нам сервис успешно запущен.

Теперь сращивание. /new?url=你的amr文件&id=当前时间戳(毫秒)
И вы получите amr
конвертировать mp3
Обслуживание!
9. развертывание в производственной среде
Переходим в веб-интерфейс Devbox 发布版本
.

Кратковременное отключение IDE во время процесса выпуска - нормальное явление.
После публикации мы нажимаем 上线
Просто нажмите кнопку Готово в соответствии с минимальной конфигурацией.
Подождав несколько минут, вы получите еще одну общедоступную ссылку, которая является ссылкой производственной среды amr
конвертировать mp3
Сервис!
git commit на Devbox
На Devbox мы можем захотеть зафиксировать git-коммит после разработки, что требует от удаленного сервера push-доступа к удаленному репозиторию.
Вот пример того, с чем я столкнулся, на примере GitHub.
Запуск на терминале git push origin 你的分支名
Когда вы это сделаете, Terminal откроет страницу GitHub в вашем браузере и попросит вас ввести код авторизации из IDE, как показано на втором изображении ниже.


Однако эта операция может быть не авторизована, и в правом нижнем углу IDE появится уведомление с просьбой использовать Personal access tokens
Выполните авторизацию, как показано ниже:

После завершения авторизации, затем git push
Немного, и все будет в порядке.
Испытайте это прямо сейчас
Услуга, упомянутая выше, уже была развернута на "Белой ноте", теперь следуйте публичному номеру WeChat "Белой ноты", отправьте на него голос, и он позвонит на вышеупомянутый номер. amr
классификатор повторяющихся действий mp3
Услуги.
Из 7 компаний Tigers, которые в настоящее время являются поставщиками больших моделей, MiniMax - единственная, которая позволяет разработчикам messages
непосредственно в mp3
официальный base64
. Посмотрите на это и не вздумайте пробовать, нативно используя мультимодальность в WeChat!
Подводя итог вышесказанному, мы использовали Devbox
Закончил amr
классификатор повторяющихся действий mp3
услуг.
В основе этой работы лежит Devbox с использованием Body Sense В этом разделе мы кратко представили Devbox
Отличия от традиционной разработки обусловлены Connect to SSH Host
возможности, мы непосредственно управляли удаленным сервером, на котором завершили установку программного обеспечения и разработку основного кода.
посредством Devbox
Оптимизация базового контейнера, которая позволяет нам иметьРазработка по мере развертыванияВозможность проверки результатов непосредственно на сервере разработки после завершения разработки; при этом Devbox
Возможность создания моментального снимка всего виртуализатора решает проблему 开发环境
ответить пением 生产环境
Это позволяет нам добиваться готовых результатов в производственных средах, не прибегая к установке зависимостей и базового программного обеспечения.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...