Les messages vocaux WeChat peuvent être joués de cette manière ? Même un débutant peut utiliser Devbox pour réaliser facilement la conversion de numéros publics de la voix vers le texte !
De nombreuses personnes voudront utiliser directement la saisie vocale de WeChat, car il est toujours plus rapide de parler que de taper.
Par opposition à l'usage courant .mp3
répondre en chantant .wav
Le format est différent, la saisie vocale WeChat utilise par défaut le format .amr
Format.
Voici un webhook reçu par le serveur de développement de WeChat, indiquant qu'un message vocal a été reçu d'un utilisateur sur le numéro public, et vous pouvez voir le format comme suit .amr
.

De nombreux services STT (Speech to Text) ne prennent en charge que le premier, ce qui soulève une question : comment combiner les deux types de texte ? .amr
est converti en .mp3
Format ?
prescription
Au départ, je voulais utiliser Laf
qui s'est avérée par la suite être une solution Laf
se trouve à l'adresse suivante fonctionner comme un service qui ne prend pas en charge l'utilisation de systèmes de fichiers tels que fs
Manipuler des fichiers sur le serveur.
C'est alors que j'ai vu une idée de solution sur GitHub[2]: Démarrage d'un express
en utilisant le service fluent-ffmpeg
commandant en chef (militaire) .amr
convertir .mp3
Le fichier est alors temporairement stocké sur le serveur pour être utilisé par l'appelant.
Cette solution suppose que le serveur a été préinstallé avec le logiciel FFmpeg
ou bien fluent-ffmpeg
ne sera pas disponible.
"Ce n'est pas une simple fonction en tant que service", me suis-je dit. Je suis moi-même un gars de back-end et d'Ops, et j'avais l'habitude de tout faire pour Serverless, en me concentrant sur les interactions frontales avec les utilisateurs. Maintenant, c'est un peu un défi pour moi.
Cependant, cela me rappelle Sealos, qui a été mis en service il y a quelque temps. Devbox
La publicité semble avoir pour but de rattraper ce retard. Laf
Ces fonctions en tant que service ne sont pas à la hauteur.
"Ne pourrais-je pas déployer le service tel que je l'ai décrit ci-dessus sur Devbox ?" Et c'est ainsi que la transformation (le "pit-stepping") commence.
Devbox utilise Body Sense
L'introduction explique ce qu'est Devbox :Lancement de Sealos Devbox : Déploiement d'un environnement de développement Cloud Native

J'aimerais parler ici de son expérience de développement en particulier.
Parce qu'il affecte considérablement votre perception de la Devbox
La compréhension et les détours que j'ai pris, c'est donc un paragraphe de conseils d'utilisation ou de conclusions que j'ai mis ici pour en discuter.
existent Devbox
En outre, tous les processus de développement sontdirect.
Au début, je n'étais pas très à l'aise avec ce système, mais il fonctionne exactement comme notre IDE local. Connect to SSH Host
examinons la fonction Claude Une remarque à ce sujet :

Devbox vous permet d'éviter 记录服务器 IP 或域名
/ 输入 SSH 端口号
/ 输入服务器用户名或密码(或SSH密钥)
Il suffit d'appuyer sur le bouton ci-dessous.

J'utilise Planche à voile Après le premier clic, mon Windsurf a essayé de se connecter au serveur distant. Toutes les modifications que vous faites sur l'IDE après cela sont en fait en train de faire fonctionner le serveur distant.
Y compris, la course à pied pnpm i
Ou d'autres ordres, tous.
Plus important encore, toutes vos actions, y compris l'exécution de commandes, se retrouvent dans l'interface Web de Devbox en un clic sur le bouton 发布版本
Lorsque tous (encore une fois, y compris les命令的运行
) est emballé dans une image docker, ce qui équivaut à un instantané de l'état actuel de la machine virtuelle.

Ainsi, toutes les dépendances et les logiciels sous-jacents que nous avons installés dans l'environnement de développement Devbox (tels que l'applicationFFmpeg
), en 发布版本
Ensuite, nous n'avons pas eu à revenir sur nos pas dans l'environnement de production, mais au contraire, tous les pré-requis ont été installés dès le départ.
Une fois que vous aurez compris cela, vous comprendrez enfin pourquoi Devbox
La publicité a toujours dit : enfin, nous n'avons plus à nous soucier des problèmes de dépendance et des conflits de numéros de version dans les environnements de production.Parce que l'environnement de production est un miroir complet de l'environnement de développement !
pratique
Compte tenu de ce qui précède, la Devbox
La partie pratique de la mise en œuvre est relativement simple une fois que l'on a acquis les connaissances de l
1. sélectionner express sur Devbox

2. ouvrir avec l'IDE
Comme indiqué ci-dessus, l'utilisation de VS Code
/ Cursor
/ Windsurf
Se connecter au serveur pour le développement.
Après s'être connecté au serveur, sélectionner tous les fichiers Cmd + A
, supprimez le fichier de modèle par défaut dans son intégralité.
3. téléchargement du code
Nous avons simplement choisi express
de sorte que le modèle par défaut git
, node
répondre en chantant pnpm
Tous installés.
Ouvrons maintenant un terminal et utilisons git
Code de téléchargement.
git clone https://github.com/yenche123/liubai.git
Voici une astuce, si vous tapez des commandes sur l'IDE de l'hôte SSH, vous vous sentirez un peu coincé avec un retard, c'est parce que vous utilisez réellement le terminal sur le serveur distant, bien sûr il y aura un retard entre vous.
Jusqu'à présent, le développement se faisait localement, puis le code était empaqueté et téléchargé sur le serveur, à l'aide de la commande Devbox
Ensuite, tout se passe sur le serveur, le développement comme le déploiement.
4. installer FFmpeg
Continuez à taper la commande suivante dans le terminal pour terminer FFmpeg
Installation 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 dernière ligne vous permet de vérifier que l'installation a réussi.
Encore une fois, il n'est pas nécessaire de revenir sur vos pas dans un environnement de production après cette installation, car le logiciel sera inclus directement dans l'image. C'est assez étonnant, n'est-ce pas ?
5. écrire entrypoint.sh

Nous nous trouvons dans le répertoire racine, qui est le même que le répertoire liubai/
La position du frère ou de la sœur (illustrée ci-dessus) crée un entrypoint.sh
qui se lit comme suit.
#!/bin/bash cd /home/Devbox/project/liubai/liubai-backends/liubai-ffmpeg pnpm dev
Ce fichier indique au serveur de l'environnement de production comment démarrer le service souhaité après le démarrage de la machine.
Ici, nous demandons à la machine de localiser d'abord le dossier de destination liubai-ffmpeg
Exécutez ensuite le programme pnpm dev
pour démarrer le express
Services.
6. autorisation de entrypoint.sh
Toujours dans le répertoire racine, nous exécutons la commande suivante pour le fichier entrypoint.sh
Ajouter les autorisations d'exécution.
chmod +x entrypoint.sh
7. installation des dépendances
Ouvrons-le. liubai-ffmpeg
pour installer les dépendances nécessaires :
cd /home/Devbox/project/liubai/liubai-backends/liubai-ffmpeg pnpm i
8. démarrer les services sur l'environnement de développement
En retournant dans le répertoire racine, simulons un nouveau démarrage du service :
cd /home/Devbox/project bash entrypoint.sh

L'affichage du message d'impression comme indiqué ci-dessus signifie que nous avons démarré l'environnement de développement sur la machine avec l'option amr
classificateur pour les actions répétées mp3
de services !
Revenons à Devbox
Dans l'interface utilisateur, copiez l'adresse publique.

Ajoutez ensuite dans la barre d'adresse de votre navigateur /hello
Si vous voyez l'écran ci-dessous, cela signifie que le service qui nous a été confié a été lancé avec succès.

Il s'agit maintenant d'épisser. /new?url=你的amr文件&id=当前时间戳(毫秒)
Et vous obtenez un amr
convertir mp3
Le service !
9. déploiement dans l'environnement de production
Nous cliquons sur l'interface web de Devbox 发布版本
.

Il est normal que votre IDE se déconnecte brièvement pendant le processus de libération.
Après l'affichage, nous cliquons sur 上线
Il suffit de cliquer sur Terminer en fonction de la configuration minimale.
Après quelques minutes d'attente, vous disposez d'un autre lien accessible au public, qui est celui de l'environnement de production amr
convertir mp3
Service !
git commit sur Devbox
Sur Devbox, nous pouvons vouloir faire un commit git après le développement, ce qui nécessite que le serveur distant ait un accès push au dépôt distant.
Voici un exemple de ce que j'ai rencontré, en utilisant GitHub comme exemple.
Exécuter sur le terminal git push origin 你的分支名
Lorsque vous faites cela, Terminal ouvre une page GitHub dans votre navigateur et vous demande d'entrer le code d'autorisation de l'IDE, comme le montre la deuxième image ci-dessous.


Cependant, cette opération peut ne pas être autorisée, et une notification apparaîtra dans le coin inférieur droit de l'IDE, vous demandant d'utiliser le bouton Personal access tokens
Effectuez l'autorisation comme indiqué ci-dessous :

Une fois l'autorisation obtenue, il faut git push
Un petit peu et tout devrait bien se passer.
Faites-en l'expérience dès maintenant
Le service mentionné ci-dessus a déjà été déployé sur le "White Note". Suivez maintenant le numéro public WeChat du "White Note", envoyez-y un message vocal et il appellera le numéro mentionné ci-dessus. amr
classificateur pour les actions répétées mp3
Services.
Parmi les 7 Tigers qui sont actuellement des vendeurs de grands modèles, MiniMax est celui qui permet aux développeurs de messages
directement dans le mp3
formel base64
. Voyez ceci, et n'osez pas l'essayer, l'utilisation native de la multimodalité dans WeChat !
Pour résumer ce qui précède, nous avons utilisé l'outil Devbox
Fini a amr
classificateur pour les actions répétées mp3
de services.
Au cœur de ce document se trouve la Devbox utilise Body Sense Dans cette section, nous avons brièvement présenté le Devbox
Différences par rapport au développement traditionnel Connect to SSH Host
nous avons exploité directement le serveur distant sur lequel nous avons terminé l'installation du logiciel et le développement du code de base.
au moyen de Devbox
Optimisation du conteneur sous-jacent, ce qui nous permet d'avoir leDévelopper au fur et à mesure du déploiementLa possibilité de valider les résultats directement sur le serveur de développement après le développement ; tandis que la possibilité de valider les résultats directement sur le serveur de développement après le développement. Devbox
La possibilité de prendre un instantané de l'ensemble du virtualiseur résout le problème de l'absence d'informations sur l'état d'avancement du projet. 开发环境
répondre en chantant 生产环境
Cela nous permet d'obtenir des résultats prêts à l'emploi dans des environnements de production sans devoir passer par le processus d'installation des dépendances et des logiciels sous-jacents.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...