Forum Academy Marketplace Showcase Pricing Features

How can I implement this audio related functionality?

The functionality I need to implement is as follows:

  1. When a button 1 is pressed, audio 1 starts playing.
  2. When audio 1 has finished playing, user can press button 2 (Press to Talk, i.e. audio is recorded only while button 2 is kept pressed) to record their part (recording 1).
  3. When button 2 is released, audio 2, if any, shall play, followed by user recording their part (recording 2) as mentioned in 2.
  4. This communication may take any of following forms (predefined):
    a) audio 1 → recording 1
    b) audio 1 → recording 1 → audio 2 → recording 2
    c) recording 0 → audio 1 → recording 1
    d) recording 0 → audio 1 → recording 1 → audio 2 → recording 2
  5. Once this process is completed, user can play entire communication that is in any of the forms mentioned in 4.
  6. If user is happy with the replay, they can either add it to download queue, or download directly.
  7. If audios are added to the queue, user can download these audios independently or concatenate.

Other way, I am thinking of implementing it is as follows:

  1. When button 1 is pressed, audio (only 1 file) starts playing.
  2. This audio may be in any of following forms:
    a) audio 1 → blank 1
    b) audio 1 → blank 1 → audio 2 → blank 2
    c) blank 0 → audio 1 → blank 1
    d) blank 0 → audio 1 → blank 1 → audio 2 → blank 2
  3. While the blank part is playing, user can press button 2 (Press to Talk, i.e. audio is recorded only while button 2 is kept pressed) to record their part (recording 1, recording 2 etc.).
  4. Once this process is completed, main audio and all recordings are merged (recordings overlapping with blanks) into single file ready for playing and download.

Any guidance will be much appreciated.

I’m going to chime in with a not-so-helpful suggestion to check out the Howler.js plugin for audio playback, since you can play dynamic custom files and URLs on it. As for recording audio, I’ve never personally had to do this, but from a quick search on the Bubble plugins list, I couldn’t find any free plugins for you to test out, you would have to have a browse around and find a paid one that seems to match what you are looking for. I did find an audio recorder (Audio Recorder Plugin | Bubble) by @ZeroqodeSupport but since I’ve never used it I cannot tell you if it would work with your “when x pressed” requirement. I hope that they can give you some ideas here, since I have seen that they are pretty active on the Forums

I like that you have tried to describe exactly what steps you need to create your app, but what might be better is to give guidance as to what you are intending your app to be similar to. My guess with your explanation is either some kind of sound recording & editing software such as Audacity or maybe it could be some kind of audio chat service (which if it is then I’m not sure if this approach would be a good idea)?

Thanks for quick response. Approaching @ZeroqodeSupport regarding this seems to be good idea.
This is an ATC communication training platform for Pilots, Air Traffic Controllers etc. Here is a sample of communication MAYDAY. Engine failure. Immediate emergency return | American Airbus A320 | San Jose, ATC - YouTube. As you see in this video, the communication is between ATC and Pilot, the trainee will practice their part and the other part will be played from audio file. I hope it gives better understanding. Suggestions are welcome.

Hi @bs99, thanks for the provided details of your case, and thanks @InsideDev for introducing us to the thread :pray:

Considering the description, such development requires an advanced level of Bubble skills and a corresponding amount of customization works (to include all mentioned functionality).

As for the Zeroqode plugin that might fit your project, unfortunately, we can’t suggest some particular plugin, as it might require in-deep research.

If you would like to develop it by yourself, allow me to recommend the following:

Search for plugins (with audio play/recording functionality) considering their capacities, namely, available actions, possible states, and events.
You can find this information available on the plugin page on Bubble marketplace, Demo Editor page (if available), and dedicated forum threads.

In case a certain plugin might be interesting for testing, and is on a paid basis, before buying it for full price, try to subscribe first. The advantage is, that, in case it will not fit your project requirements, you can unsubscribe, and pay only for days that you’ve been subscribed on.

Hope the provided answer will help in a way. Please let us know if we can help with anything else related to our products.