Software Development for In-Sync Music Jamming Online by Video Chat

project example


Example from Fora Soft: musicians can survive the pandemic with The band connects in a video call, invites the fans to watch, and they jam online remotely at a live concert. 100% in sync, with less than a second delay.


AI-powered auto-notation 🎼

For the music learning systems, we develop features that automatically turn musicians' playing into notes or tabs, giving an instant visual display of the music. We also offer a smart scoring feature for real-time performance assessment, improving the learning experience.

AI-based dynamic playlist
generation 🎧

Listeners can ask for personalized playlists using voice commands to specify genres, BPM, artists, and more. Our AI processes these requests, searches through the database, and creates tailored playlists that seamlessly blend algorithms with human preferences. The system ensures accuracy and relevance by responding within a defined context.

Shazam-like music recognition 🔊

We develop a music recognition feature that helps users identify the songs they hear. The system can recognize the song and track how many times it has been played and added to users' collections.

Audio quality 🎶

Clear sound: right audio codec with right settings
In WebRTC the developer picks an audio codec. Some are better for voice, some for music. Choose Opus: the best sound quality plus low latency – Mozilla thinks so too.

To pick Opus is not everything. By default, WebRTC is set for voice calls so that the voice would sound clearer and louder. So, for music jam online in real time we need to make 3 adjustments:
  • Background noise removal distorts sound when playing music. We switch it off.
  • ~40 kb/s is a standard bitrate for a voice call. Music needs 128 kb/s minimum. Opus supports up to 510 kb/s – so we increase it.
  • We increase the number of audio channels from 1 to 2: from mono to stereo.

Synchronization ⏱️

Why not make music online with friends and strangers in any video chat? I take the guitar, call Joe with drums, add Sarah with a piano, and we all play. Because it doesn’t work: participants’ sound is not in perfect sync. It’s ok for a talk but not for a real time video music collaboration app.

We develop video conferences for musicians to play together, learn and teach, and hold concerts.
Sync for listeners
Each musician produces an audio track. Our software marks them, recognizes delays for each one of them, and syncs them into one audio file on the server. It’s streamed to the audience.

But if this happens afterward on the server, how can the musicians perform together? They have to hear each other in sync right now to play together.
Sync for the musicians
We calibrate audiotracks: start sound at one node, and listen to it when it reaches the other node – thus measure the delay. Let’s imagine we have a drummer, a guitarist, and a singer. The drummer starts, his audiotrack goes to the guitarist. The guitarist starts, the 2 audio tracks go to the singer in sync: the delay is added to the drummer track with which it goes to the guitarist. It snowballs from there: each next musician hears the previous musicians only. The singer hears the guitarist and the drummer, the guitarist hears the drummer only, the drummer does not hear anyone.

Real-time streaming 🚀

Jam online with no latency
Subsecond latency is a norm in video chats – otherwise speaking to each other would not be possible. In video broadcasts to thousands of people, a few-second latency is a norm. When jam online with other musicians remote by a video chat, latency must be subsecond even though thousands are watching. Read how we do it in the article.
Monitoring to prevent latency: Internet connection, sound card, audio output
See the sound quality of each musician in real-time: green for good, yellow for decent, and red for unacceptable. Quality parameters: Internet connection, sound card latency, audio output.

For example, if one participant has slow Internet, the video conference won’t be real-time and low latency music collaboration is not possible. So his Internet shows red, and the slow user knows that he needs to fix the problem.

Connect professional musical
equipment 🎸

Output: sound cards and audio interfaces
For sound output, connect a sound card or an audio interface for professional sound. Show a volume bar for that output that displays volume in real-time.
Input: professional microphones, musical instruments, and amplifiers
For sound input, connect a guitar or other electronic instruments directly to the video conference. Or connect the instrument to an amplifier to increase the power of a signal and plug the amplifier in the conference. See the input’s signal level change in real-time.

Professional tools for musicians 🥁

Set different volumes for different audio channels. Make your own instrument louder than the call, set it to the same volume, or listen to the call louder than your instrument. Mute audio channels.

See the volume set for each instrument in the music jam over the Internet. The range can be from (-12)dB up to (+12)dB with a step of 1 dB.
A list of ranges with sliders to raise and lower the volume of the frequency range between 32 Hz, 64 Hz, 125 Hz, 250 Hz, 500 Hz, 1 kHz, 2 kHz, 4 kHz, 8 kHz, 16 kHz. Change how everything sounds: sound volume, noises, the effect of moving closer and farther. Remember the settings and apply them to other calls.
Add a metronome and choose BPM for better music collaboration.

Communication tools 💬

Direct messages
"Crescendo here! And now, pizzicato!" — the group coordinator can comment on the musicians' performance during the live concert, addressing each one separately to avoid disrupting the others. Press the button to start speaking and release it to turn off the sound.
Text chat
The audience can also communicate with each other. Send text messages, emojis, images, and even documents. You can also view the list of participants.

Recording 📼

Record the concert and let those who haven’t seen it live watch it. Record lessons to re-watch.


We are developing software for web as well as apps for PCs, tablets, mobile phones, and VR headsets.

Use cases when a video conference with music in sync comes in handy

🧑🎤 A platform for online virtual concert live with high-quality sound and no latency
🎼 Online band or choir rehearsal with remote musicians from different locations
🎧 E-learning for music
🎙️ Virtual karaoke party online


We develop custom applications tailored to your needs. Therefore, our process begins with drawing up a plan, designing a clickable prototype, and then providing you with an estimate. Only after this can we give you rough numbers for development — we don't know exact pricing and timelines in advance. However, here are some approximate guidelines:

The simplest 1-on-1 video chat component adjusted for music

~ 2–4 weeks · $7,000
It is not a fully functioning system with login, payment, etc. – just the video chat component. You can integrate it into your application.

The simplest video conference component for musicians from different places to perform for audiences of thousands of people

~ 1,5–2,5 months · $28,000
Not a fully functional system with registration, payments, etc. – just the video conference component. You can integrate it into your solution.

Simplest fully functional e-learning system with 1-on-1 video chat adjusted for music

~ 3–4 months · $36,000
A fully functioning system with registration, teacher list, payment. Applicable for 1 platform, e.g. web, or iOS, or Android.

The simplest fully functional video conference system with music in sync

~ 4–5 months · $54,000
It is built from the ground up for one platform, such as web, iOS, or Android. Users register, pay, and play music together for audiences of thousands of people.

Big musical video conferencing solutions

We assign a dedicated team and work ongoing. These are products that proved their success and generated profit.

Have an idea
or need advice?

Contact us, and we'll discuss your project, offer ideas and provide advice. It’s free.
Describe your project and we will get in touch
Enter your message
Enter your email
Enter your name

By submitting data in this form, you agree with the Personal Data Processing Policy.

Your message has been sent successfully
We will contact you soon
Message not sent. Please try again.
Get free quote!
Your message has been sent successfully
We will contact you soon
Message not sent. Please try again.
Get free quote for your project!
We break down the project into small components and evaluate each one separately.

By submitting data in this form, you agree with the Personal Data Processing Policy.

Your message has been sent successfully
We will contact you soon
Message not sent. Please try again.