We have already talked about FarPlay utility, which allows you to transmit audio with minimal delays and write music with colleagues in the shop, located hundreds of kilometers away. Today we will continue the topic and talk about Ninjam, the authors of which have found an interesting approach to the problem of sound desynchronization.
What is Ninjam
This is – open source application for recording tracks via the Internet. Performers may sing, play the piano, guitar, saxophone or any other instrument – the main thing is that its sound can be recorded on a computer. The project is being developed by Cockos Incorporated, which owns the rights to the digital audio workstation. REAPER. In the past, individual team members have worked on solutions such as Gnutella (descendant of Napster), Kaillera and even Winamp.
Ninjam uses the OGG format Vorbis to compress the sound, and then sends it to the server, the role of which is played by the computer of one of the participants in the online jam. This server sends an audio stream to other session participants in the same virtual room (similar to chats). For a comfortable game of four people, the server needs an outgoing channel of 768 Kbps. For eight people, this figure is 3 Mbps. Server setup guide can be found on the official site.
The question of delays
The main problem of any app for playing music together. tools over the Internet – latency. She is confusing, interferes with the performance of the track. The vast majority of applications – including the already mentioned FarPlay – seek to reduce the delay. The authors of Ninjam went a different way and, conversely, her increased.
The Ninjam client records and transmits sound in cyclic intervals – for example, in 15 seconds. That is, each musician hears (and plays in parallel) the previous intervals recorded by other participants in the jam. Users say that it is difficult to get used to such a scheme at first, but then everything falls into place.
And something else
In the context of the Ninjam utility, it is worth mentioning the open project Jamtaba to connect to Ninjam servers. Essentially, this GUItailored for finding rooms for joint music with community members around the world.
The utility also offers a compact set of settings to control the volume and balance of individual musical instruments. The author supplies the utility as isthat is, without technical support, but those who wish can find the source code on GitHub.
More software tools for working with music on our blog: