Plugin d'enregistrement vocal

Un plugin simple d’enregistrement vocal permettant d’envoyer des messages vocaux enregistrés directement depuis le navigateur de votre ordinateur ou de votre mobile.

Consultez le forum communautaire english.best pour le voir en action. Le code est hébergé sur Github.

La bibliothèque utilise une version légèrement modifiée de la bibliothèque Microm, qui intègre RecordRTC et lamejs.

Après l’installation standard, activez l’option composer_audio_upload_enabled dans les paramètres.

Lors de la rédaction d’un nouveau message, cliquez simplement sur l’icône du microphone pour commencer l’enregistrement. Une fois terminé, votre enregistrement sera converti en MP3 pour une meilleure compatibilité inter-navigateurs.

Actuellement, la réencodage est effectué à l’aide de lamejs, ce qui n’est pas optimal et peut prendre du temps pour des messages vocaux plus longs ou sur des appareils moins performants.

Si, pour une raison quelconque, cela ne fonctionne pas sur votre appareil, je vous serais reconnaissant de bien vouloir indiquer l’appareil, le navigateur et la version du système. Les tests n’ont pas été extrêmement exhaustifs, mais nous avons déjà quelques utilisateurs. Je compte sur vos retours et/ou vos demandes de fusion :slight_smile:

58 « J'aime »

Thank you very much :smiley:

1 « J'aime »

Cool! We regularly get asked for the ability to add a voice message or even a video recording directly to posts. I’ll try this out and let you know how it works out!

Some feedback:

  • mp3, the file type of the uploaded audio recording, is by default not allowed as an upload type. suggest adding a note to the install instructions to enable mp3 uploads.
  • an obvious admin setting to add would be to allow limiting the length of audio recording that can be uploaded. right now it seems that the recording can go on indefinitely though I have not tried it. A max of say 30 seconds or 2 minutes would be suitable for some communities. The utility of an audio recording diminishes the longer it gets, so some default max eg 5 minutes would be sensible.
  • an admin setting to limit by trust level would be helpful
  • a progress indicator during the recording would be helpful, to indicate long the recording is getting, as well as an audio level indicator to show that the audio recording is actually working.
  • the file size of the saved recording is displayed in kilobytes, not megabytes, so eg a 3 minute recording is 2000+. It would be nice to see it in mb.
  • as you indicated, it takes a while to save even a three minute recording, so a progress indicator of the saving process would be helpful.

Is there any scope or ability to add video recording to this plugin? It would be very welcome in my community.

7 « J'aime »

And a quick follow-up after spending a bit of time with this plugin. While looking at

I looked around here but was not able to immediately find posts containing voice recordings (turns out it’s buried in this topic). Some icon (maybe microphone?) indicating topics containing voice recordings might be a good idea, as well as the ability to filter by posts containing voice recordings in the search. Even searching mp3 did not take me straight to posts containing recordings. E.g. a filter to only return topics/posts that “include mp3 recordings”:

Also, just for giggles I recorded a 20 minute recording, then tried to upload it - but the upload failed because it was larger than the maximum size allowed. The recording was then lost, which in this case was no big deal… it was only a recording of me taking a nap, after all. :zzz: But if I had actually spent 20 minutes recording myself saying something important I would have been pretty sad to lose it! So ideally the plugin would stop the recording before the limit is reached, or at least provide a fallback method to save the recording to my device so I can upload it elsewhere and share the link as suggested by the error message.

Update: not sure this is a surprise but this plugin does not work on mobile, using chrome on ios. The record button just doesnt do anything.

Another update: occurs to me the record button could live in the composer options submenu. That would be better in my opinion.

5 « J'aime »

Many thanks for all your feedback, we’ll try to implement some of your suggestions in the next update.

1 « J'aime »

Awesome! I remain very interested in this plugin. Let me know when you need more testing or feedback. :rocket:

1 « J'aime »

Would it possible to allow the recording to be saved somewhere else and then link to that in the plugin.

Example. Say the member had a soundcloud.com account and the recording was sent to soundcloud as a private or public recording.

7 « J'aime »

Intressting project, I really like it.

How about background recording in cases, to allow parallel note taking? This would be my killer feature :wink: Do you know the iOS App Notability? This is currently my way to combine notes with recordings. It’s awesome, because Notability is able to highlight all changes made while the voice is keep talking… I guess this might be too much here? :stuck_out_tongue_winking_eye:

2 « J'aime »

I’d also like to support Keith’s idea of saving the recording elsewhere with one addition. Instead of each member needing a soundcloud.com account, I’d like to be able to create an admin soundcloud account so that all recordings are saved to that account. Will simplify things immensely.

5 « J'aime »

Update to this idea: I wonder if there’s a workflow that allows us to SpeakPipe instead! It’s a free voice recorder that generates a URL that can be added to your post. It also doesn’t require people to create an account. At minimum, people could click on the microphone icon and text pops up with a link to and directions on how to use SpeakPipe.

@csmu and @pawel, this may be another topic all together. Should I split this topic?

2 « J'aime »

Is it free? If so then I think having it as an option would be excellent.

Could the recording be stored on Amazon S3?

1 « J'aime »

The recorder feature is free for any individual to use. They have a more robust product that does cost money, take a look for yourself!

There doesn’t seem to be a workflow that makes it happen automatically, though the person who makes the recording can download it and store the file somewhere else.

3 « J'aime »

Speakpipe does not seem to be “free as in freedom” like we get with discourse. My preference would be to avoid third party hosting of content, including these voice recordings.

You can set up your site to host all attachments on amazon s3 is that not a reasonable solution for those who may want to host longer recordings that take up more space?

3 « J'aime »

Je suis vraiment ravi d’avoir trouvé ce plugin, mais je reste hésitant à l’installer tant qu’il n’y aura pas d’hébergement tiers pour les enregistrements. Idéalement, il devrait y avoir des options de connectivité pour le lier à Google Drive, Dropbox, Vocaroo ou un autre site tiers, en plus de l’auto-hébergement. Cependant, l’hébergement tiers serait particulièrement avantageux pour les communautés hébergées qui ne disposent pas de beaucoup d’espace de stockage. J’attends avec impatience les futures mises à jour de cette application et merci à Pawel de l’avoir créée !

2 « J'aime »

Salut Jimmy ! Bienvenue. Je suis ravi que tu sois aussi intéressé par ce plugin. Il y a un peu de discussion ci-dessus sur l’hébergement par des tiers, mais je ne suis vraiment pas d’accord pour dire que c’est une priorité élevée ou même pertinent pour ce plugin en particulier.

Peut-être que si assez de personnes le souhaitent, tu pourrais travailler sur un autre plugin pour intégrer Speakpipe ou un autre site de partage audio basé dans le cloud ?

Pour ce plugin, je pense que la priorité devrait être d’ajouter un paramètre d’administration pour limiter la durée des enregistrements. Ainsi, la taille des fichiers ne sera pas trop lourde à stocker ou à lire, et le site ne sera pas encombré par de longs enregistrements décousus que personne n’écoute. :wink:

En attendant, la possibilité d’héberger des pièces jointes en externe existe déjà (c’est intégré à Discourse — voir le paramètre d’administration « activer les uploads S3 »). Mais il est vrai que cela ne convient pas pour le contenu en streaming.

2 « J'aime »

Je suis curieux, pourquoi pas ?

1 « J'aime »

J’ai vu des discussions ici sur les limitations concernant le streaming vidéo hébergé sur Discourse, mais je ne les trouve pas immédiatement. :wink: Peut-être que quelqu’un d’autre pourra répondre pendant que je creuse un peu.

Mon instinct me dit que les petits fichiers ne posent pas de problème, mais quand on parle de plusieurs heures de films, il vaut mieux déplacer votre contenu vers un service de streaming cloud comme Vimeo ou YouTube, puis intégrer une vue onebox dans les messages Discourse pour permettre aux gens de regarder sans quitter le forum.

1 « J'aime »

N’est-ce pas que le plugin est ici pour l’enregistrement vocal ?

Un fichier audio MP3 mono devrait être majoritairement inférieur à 10 Mo (10 minutes d’audio mono à 44,1 kHz/16 bits/96 kbps font 7,2 Mo), donc ce sera un peu comme un gros GIF et peut certainement être utilisé conjointement avec un stockage d’objets (S3) plus un CDN.

6 « J'aime »

Ah, nous parlons de la même chose. Désolé pour la confusion.

Des personnes arrivent et préconisent l’hébergement tiers d’enregistrements audio, et moi je dis non, nous n’avons pas à nous en soucier, précisément pour la raison que vous donnez. Stocker et lire un petit fichier ne pose aucun problème.

Cependant, actuellement, ce plugin permet aux utilisateurs de lancer un enregistrement et de le laisser tourner indéfiniment, ce qui échoue lors de l’enregistrement s’ils ont parlé trop longtemps et tentent d’enregistrer un fichier dont la taille dépasse celle autorisée par le serveur.

4 « J'aime »

Comme Tobias l’a mentionné ici, ce plugin présente plusieurs problèmes importants (principalement des problèmes sur mobile et l’absence de minuteur ou de retour d’information pendant l’enregistrement).

J’aimerais beaucoup voir une approche alternative native. Pour moi, l’option la plus simple permettant à mes utilisateurs d’enregistrer et de partager de l’audio consiste à utiliser un service comme Clyp. Il propose 360 minutes dans le plan gratuit et vous fournit un lien direct que vous pouvez coller dans Discourse (grâce à la magie de OneBox)

https://clyp.it/ry03mt3o

Le seul inconvénient est qu’il ne permet pas d’enregistrer sur iPad (vous ne pouvez que télécharger un fichier audio).

Autres options d’enregistrement en ligne au cas où elles vous seraient utiles :

  • Poodll - Inconvénient : les fichiers ne sont conservés que pendant 30 jours
  • VirtualSpeech: Enregistreur vocal en ligne - Inconvénient : il ne fonctionne pas sur iPad. Sur Android, il génère des fichiers .oga qui ne se lancent pas automatiquement dans Discourse (bien que les fichiers .ogg le fassent. Il pourrait s’agir d’un bug)
2 « J'aime »