¿Los mensajes de voz de WeChat se pueden reproducir así? Incluso un principiante puede utilizar Devbox para conseguir fácilmente la conversión de voz a texto de un número público.
Tutoriales prácticos sobre IAActualizado hace 7 meses Círculo de intercambio de inteligencia artificial 1.7K 00
Mucha gente querrá utilizar directamente la entrada de voz de WeChat, siempre es más rápido hablar que escribir.
A diferencia de la .mp3
responder cantando .wav
El formato es diferente, WeChat entrada de voz por defecto a utilizar el .amr
Formato.
A continuación se muestra un webhook recibido por el servidor del desarrollador desde WeChat, indicando que se ha recibido un mensaje de voz de un usuario en el número público, y se puede ver el formato de la siguiente manera .amr
.

Muchos servicios STT (Speech to Text) sólo admiten el primero, lo que da lugar a un requisito: ¿cómo integramos el .amr
se convierte a .mp3
¿Formato?
prescripción
Al principio, quería utilizar Laf
solución, que más tarde se comprobó que era Laf
se encuentra en funcionar como un servicio solución que no admite el uso de sistemas de archivos como fs
Manipular archivos en el servidor.
Entonces vi una idea de solución en GitHub[2]: Iniciar una express
mediante el servicio fluent-ffmpeg
comandante en jefe (militar) .amr
convertir .mp3
A continuación, el archivo se almacena temporalmente en el servidor para que pueda ser utilizado por la persona que llama.
Esta solución asume que el servidor ha sido preinstalado con la aplicación FFmpeg
o bien fluent-ffmpeg
no estará disponible.
"Esto no es una simple función como servicio", pensé. Yo soy un tipo de back-end y Ops, y yo solía ser todo sobre Serverless, centrándose en las interacciones front-end con los usuarios. Ahora esto es un poco de un desafío para mí.
Sin embargo, me acuerdo de Sealos, que salió al mercado hace un tiempo. Devbox
La publicidad parece querer compensarlo. Laf
Estas funciones como servicio se quedan cortas.
"¿No podría desplegar el servicio como he descrito antes en Devbox?". Y así comienza la transformación (pit-stepping).
Devbox con Body Sense
Qué es Devbox se puede ver en la introducción:Lanzamiento de Sealos Devbox: despliegue de un entorno de desarrollo nativo en la nube

Me gustaría hablar aquí específicamente de su experiencia de desarrollo.
Porque afecta mucho a tu percepción de Devbox
La comprensión y los desvíos que he tomado, por lo que este es un párrafo de consejos de uso o conclusiones que pongo aquí para discutir.
existe Devbox
Además, todos los procesos de desarrollo sondirecto.
Al principio me sentí muy incómodo, pero funciona igual que nuestro IDE local. Connect to SSH Host
echemos un vistazo a la función Claude Una nota al respecto:

Devbox le permite evitar 记录服务器 IP 或域名
/ 输入 SSH 端口号
/ 输入服务器用户名或密码(或SSH密钥)
El proceso consiste en pulsar un botón.

Estoy usando Windsurf Después del primer clic, mi Windsurf intentó conectarse al servidor remoto. Cualquier cambio que hagas en el IDE después de eso está realmente operando el servidor remoto.
Incluyendo, correr pnpm i
U otras órdenes, todas ellas.
Y lo que es más importante, todas sus acciones, incluida la ejecución de comandos, terminan en la interfaz web de Devbox con un clic en el botón 发布版本
Cuando todos (de nuevo, incluido命令的运行
) se empaqueta en una imagen docker, que equivale a una instantánea del estado actual de la máquina virtual.

Por lo tanto, todas las dependencias y el software subyacente que instalamos en el entorno de desarrollo Devbox (como el programaFFmpeg
), en 发布版本
Después de eso, no tuvimos que volver sobre nuestros pasos en absoluto en el entorno de producción, pero fuera de la caja, todos los requisitos previos se instalaron.
Cuando entiendas esto, comprenderás por fin por qué Devbox
La publicidad siempre ha dicho: por fin no tenemos que preocuparnos por problemas de dependencias y conflictos de números de versión en entornos de producción.Porque el entorno de producción es una réplica completa del entorno de desarrollo.
Práctico
Teniendo en cuenta lo anterior Devbox
La parte práctica de la aplicación es relativamente sencilla tras el conocimiento de la
1. Seleccione express en Devbox

2. Abrir con IDE
Como ya se ha mencionado, el uso de VS Code
/ Cursor
/ Windsurf
Conéctese al servidor para el desarrollo.
Después de conectarse al servidor, seleccione todos los archivos Cmd + A
elimine el archivo de plantilla por defecto en su totalidad.
3. Descarga del código
Acabamos de elegir express
por lo que la plantilla git
, node
responder cantando pnpm
Todo instalado.
Ahora abramos un terminal Terminal y utilicemos git
Descargar código.
git clone https://github.com/yenche123/liubai.git
Aquí hay un consejo, si escribes comandos en el IDE de SSH Host, te sentirás un poco atascado con retraso, eso es porque realmente estás operando la terminal en el servidor remoto, por supuesto habrá un retraso entre ustedes.
La experiencia de desarrollo anterior consistía en desarrollar localmente, luego empaquetar el código y subirlo al servidor; utilizando la función Devbox
Entonces todo se opera en el servidor, desarrollo-como-despliegue.
4. Instalar FFmpeg
Continúe escribiendo el siguiente comando en Terminal para finalizar FFmpeg
Instalación de.
sudo apt update && sudo apt upgrade # press Y to continue sudo apt install ffmpeg # press Y to continue ffmpeg -version # verify if installed successfully
La última línea permite verificar que la instalación se ha realizado correctamente.
Una vez más, no hay necesidad de volver sobre sus pasos en un entorno de producción después de esta instalación, ya que el software se incluirá directamente en la imagen. Es bastante sorprendente, ¿verdad?
5. Escribir entrypoint.sh

Nos encontramos en el directorio raíz, que es el mismo que el directorio liubai/
La posición de hermano (mostrada arriba) crea un entrypoint.sh
que dice lo siguiente.
#!/bin/bash cd /home/Devbox/project/liubai/liubai-backends/liubai-ffmpeg pnpm dev
Este archivo es para informar al servidor en el entorno de producción cómo iniciar el servicio que deseamos después de que se inicie la máquina.
Aquí le estamos diciendo a la máquina que localice primero la carpeta de destino liubai-ffmpeg
A continuación, ejecute el pnpm dev
para iniciar el express
Servicios.
6. Autorización de entrypoint.sh
También en el directorio raíz, ejecutamos el siguiente comando para el archivo entrypoint.sh
Añade permisos de ejecutable.
chmod +x entrypoint.sh
7. Instalación de dependencias
Abrámoslo. liubai-ffmpeg
para instalar las dependencias necesarias:
cd /home/Devbox/project/liubai/liubai-backends/liubai-ffmpeg pnpm i
8. Iniciar los servicios en el entorno de desarrollo
Volviendo al directorio raíz, vamos a simular de nuevo el arranque del servicio:
cd /home/Devbox/project bash entrypoint.sh

Ver el mensaje de impresión como se muestra arriba significa que hemos arrancado el entorno de desarrollo en la máquina con el comando amr
clasificador de acciones repetidas mp3
¡de servicios!
Volvamos a Devbox
En la interfaz web, copia la dirección pública.

A continuación, empalme en la barra de direcciones de su navegador /hello
Si puede ver la pantalla como se muestra a continuación, significa que el servicio que se nos ha dado se ha iniciado con éxito.

Ahora empalmando. /new?url=你的amr文件&id=当前时间戳(毫秒)
Y obtienes un amr
convertir mp3
¡El servicio!
9. Despliegue en el entorno de producción
Hacemos clic en la ui web de Devbox 发布版本
.

Es normal que su IDE se desconecte brevemente durante el proceso de liberación.
Después de publicar, hacemos clic en 上线
Haga clic en Finalizar según la configuración mínima.
Tras esperar unos minutos, dispondrá de otro enlace de acceso público, que es el del entorno de producción amr
convertir mp3
¡Servicio!
git commit en Devbox
En Devbox, puede que queramos hacer un commit de git después del desarrollo, lo que requiere que el servidor remoto tenga acceso push al repositorio remoto.
He aquí un ejemplo de lo que me he encontrado, utilizando GitHub como ejemplo.
Ejecutar en terminal git push origin 你的分支名
Al hacerlo, Terminal abre una página de GitHub en tu navegador y te pide que introduzcas el código de autorización desde el IDE, como se muestra en la segunda imagen de abajo.


Sin embargo, esta operación puede no ser autorizada, y aparecerá una notificación en la esquina inferior derecha del IDE pidiéndole que utilice la función Personal access tokens
Realice la autorización como se indica a continuación:

Una vez completada la autorización git push
Un poco y debería estar bien.
Experiméntelo ahora
El servicio mencionado anteriormente ya se ha desplegado en el "White Note", ahora siga el "White Note" WeChat número público, enviar voz a la misma, que llamará a la mencionada amr
clasificador de acciones repetidas mp3
Servicios.
De los 7 Tigres que actualmente son grandes vendedores de modelos, MiniMax es el que permite a los desarrolladores messages
directamente en el mp3
formal base64
. Mira esto, y no te atrevas a intentarlo, ¡usar multimodal de forma nativa en WeChat!
Para resumir lo anterior, hemos utilizado el Devbox
Acabado a amr
clasificador de acciones repetidas mp3
de servicios.
El núcleo de este documento es la Devbox con Body Sense En esa sección, presentamos brevemente el Devbox
Diferencias con el desarrollo tradicional debidas a Connect to SSH Host
capacidades, operamos directamente el servidor remoto en el que completamos la instalación del software y el desarrollo del código central.
mediante Devbox
Optimización del contenedor subyacente, que nos permite tener laDesarrolle a medida que implantaLa posibilidad de validar los resultados directamente en el servidor de desarrollo tras el desarrollo; mientras que la Devbox
La posibilidad de tomar una instantánea de todo el virtualizador resuelve el problema de 开发环境
responder cantando 生产环境
Esto nos permite obtener resultados inmediatos en entornos de producción sin tener que pasar por el proceso de instalación de dependencias y software subyacente.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...