Using the App

Once the app is installed you can use it to play music with other players over the internet. Before you can play in a session, one of the players need to start the session so that the other players can join in:

  • Click on 'start'
  • Send the session code to the other players
  • The other players click on 'join' and enter the code
  • You're done!

On your mixer panel (see below) you will see the names of other players who are currently in the session. As more members join, you will see their names appear on the mixer panel, and is the connection is made the status LED will change to green. That's all there is to it: now you can start playing and enjoying yourself!

The Main Window

When the app starts it displays the main window, and this will be what you see most of the time that you are using Solocontutti app. The following section explains the various controls and elements on this window. Note that for most of the options descirbed below there are keyboard shortcuts which are described in the section on using a secreen reader.

Menu options

Menu options

The following options are available from the menu:

  • "Preferences" opens the settings window which allows you to set up and modify various parameters. On the Mac this is not on the main menu, but on the Solocontutti menu according to Mac standards. See below for description of the settigs options.
  • "Chat" button allows you to open the chat window and converse with other users in the session. Chat messages that you enter are broadcast to all other users in the session. This function is provided for users that do not have a microphone to communicate with each other.
  • "Wizard" will rerun the setup wizard that was run the first time that the app was installed.
  • "Reflect" run the audio reflector utility to test that communication and encoding is working (see below).
  • "Backing Track" add a backing track to play in the session. This will also be recorded as part of the session.
  • "Jam" call up the list of available jam sessions (sessions open to anyone) and optionally create a new jam session (see below).
  • "Show Advanced Menu" will enable the advanced menu settings option, which will appear to the right of the main menu.
Main Screen

Main Screen

The main window of Solocontutti app contains two mixer panels, one for your own sound sources and one each for up to five other players. There are three control buttons and some other elements. When using Solocontutti app, use the settings button to change settings, the Start button to start or stop a session, the Join button to join a session, the Record button to record a session and the mixer controls to mix the sound from various sources.

When a session is active the session code is displayed top left and this is the code you should pass to other players to join the session.

Layout for tablets and PCs

Layout for phones

Each mixer control gives information about the sound coming from a specific channel and allows you to modify the way that you hear the sound. Use of your local mixer control has no effect on how other players hear the sound. For each other player in the current ensemble there is a single channel, and hence a single mixer control. The mixer control consists of a number of elements:

Bottom Row Buttons

Bottom Row Buttons

On the bottom row of the main screen is a number of buttons with important functions.

  • Start this button will start a new session. When you press this button you will receive a code consisting of 6 letters and numbers. You can send this session code to other players so that they can join you in the session. When you press the button again you will leave the session. You can always re-enter the session by using the join function with the session code.
  • Join press this button to join a session for which you have a session code. You will be asked to enter the session code and then you can begin playing.
  • Mute this button allows you to mute and unmute all input channels, without changing the gain settings. When the mute is active the green light in the button will light up.
  • Record" button is indicated by a red circle which will change to green once you are recording. Press the button again to stop recording. The recording will be stored in the directory setup in the settings. Note that there are two recording modes:
    • Session recording - the whole session is recorded in one file. This means that your local session will be recorded at best available quality and the other participants at the quality as heard, depending on compression, line quality and latency.
    • Solo recording - only your own instrument will be recorded in best possible quality, which is good as your own setup is. After the live session participants can share their solo recordings to be mixed into a high quality recording.
  • Video this button allows you to start a video session with the first player in the list. Pressing the button again will stop the session.
MixerControls

Mixer controls


  • Name - at the the top of each mixer control the name of the user using this channel is shown
  • Link Quality Indicator - for other players the Link Quality Indicator tells you what the status is of the connection with each channel, shown by colours. The colours mean:
    • Green - connection is good and data is being received
    • Yellow - data is coming through but the network latency is too high. If this is consistent you may not be able to play together with this person without experiencing unacceptable latency
    • Red - connection is not working. This may be temporary as for example the other player has gone off line to modify settings, or it may indicate a serious network problem
    • Gray - channel is not active
  • Latency - this shows the latency in milliseconds between you and this player. The value is the sum of the latency over the network plus the extra buffering that Solocontutti needs to do to retain the desired quality. This may vary quite a lot according to network conditions.
  • Single/Double Gain Control - this allows you to switch between single and double gain controls. With the single gain control both channels are controlled by a single slider, with the double gain control the left and right channels are controlled separately.
  • Gain - this controls the gain or volume of the sound from a particular user. The lowest setting will mute the channel. Adjust these settings to achieve the right balance of sounds across the mixer. This, and the pan setting will be (optionally) saved for each ensemble, so that you should only have to set them up once.
  • Pan - this controls how the channel is placed in the stereo field. If the slider is on the left then you will only hear the player on the left channel, and on the right only on the right, with all other settings being in between. This allows you to virtually position the other players in the stereo field to give a spatial illusion.
  • Monitor (not shown on image) - on both the main and auxiliary input channels this allows you to hear the input on that channel and to adjust the volume to a reasonable level.

    !!!!! WARNING!!!!! !!!!!WARNING!!!!! !!!!! !!!!!WARNING!!!!!
    Some electronic musical instruments (for example the Yamaha GranTouch GT1) can feed the monitor output back to the program and, if the output volume is high, this leads to a continuous increase in volume which may lead to damage to equipment or possibly even hearing damage. Before using the monitor function you must always ensure this is not the case by (a) ensuring that the output volume is low and (b) trying different volume levels with headphones off.

Metronome

Metronome

The metronome allows a user to start a metronome running which all users will hear simultaneously, even if they have very different latencies. The metronome is primarily useful in cases where the latency is higher than desirable and it is not easy to keep in time. In this case the metronome can be used to help keep in time. Note that the metronome will be heard by all members of an ensemble, but is not included in any recording.


  • Volume control - this controls the volume of the metronome sound on the local machine.
  • Mute - Mute or unmute the metronome sound
  • Metronome rate - rate of metronome in beats per minute. Any user can change this at any time and all metronomes in the ensemble will be synchronised to match. When set to 0 the metronome will stop
Jam Sessions

Jam Sessions

Jam Sessions are Solocontutti sessions that are publicly viewable and anyone can join or create a jam session. The "Jam" menu option allows you to see a list of available jam sessions and by clicking on the row you will see more details and be given the opportunity to join the session.

The jam session will also list an estimated distance to the creator of the sesssion and is intended as an estimate for the amount of network delay (latency) you will experience. In areas with reliable broadband you can get good results at distances up to 500km, depending on local conditions.

You also have the option to create a new jam session and you are asked to fill in a name and a description. The description is particularly important as it tells the prospective jammer what type of session it is, what type of instruments you are using and what levels of technical proficiency you expect.

Other Functions

This section describes other function which allow you to modify settings and test the app.

Preferences

Settings or Preferences

Settings (or preferences on some devices) allow you to modify the way that Solocontutti works and stores data.

On mobile devices the preferences are all on a single page and not all options are available.

Sound Settings

Sound Settings


  • Device Type - type of device you are using. On Windows this could be ASIO, Windows Audio or Direct Sound. For MacOS there is usually only CoreAudio and for iOS and Android this cannot be chosen
  • Input Device - input device for use with Solocontutti app. If you are using ASIO4ALL for multiple devices you should choose ASIO4All here.
  • Input Channel - name of the input channel for sound coming from your instrument or microphone. If you have a stereo instrument this should always be the left channel.
  • Is Stereo Input - input signal is stereo (i.e. there are two main input channels). Note that Solocontutti app will merge the stereo signal into a mono signal, but needs both channels for the complete sound range of the instrument. This is most often used when taking input from an electronic keyboard.
  • Extra Input - the channel that the extra auxiliary microphone or other device is attached to. If you don't use an auxiliary, leave this blank.
  • Left Output - the channel on which the left stereo signal of Solocontutti app is played.
  • Output Device - Name of device on which output is played. This will often be the same as the input device.
  • Sampling Rate - choose a sampling rate for your device from the list of available sampling rates. Solocontutti works best at 48KHz and if at all possible you should leave the sampling rate set to this value.
  • Buffer Size - this allows you to select a value for the buffer/frame size used by the sound encoder/decoder (codec) on your computer. Note that very small frame sizes may overload your computer but larger frame sizes produce greater latency. The frame size is the frame size used internally to encode data to send on Internet. The driver frame size may be different from this value, as not all frame sizes are allowed for the encoder, and sound cards do not always support all possible frame sizes. In most cases the difference is small and will have no effect on the operation, other than a slight additional latency. However in some cases, such as the Phonic Firefly sound device, the frame size of the driver cannot be adjusted by the program and there may be a large difference between codec framesize and driver frame size. In this case you also need to open the control panel of the sound card and adjust the frame size to be as close as possible to the encoder frame size.
  • Device Control Panel - The driver provided with your sound card or ASIO4ALL may have its own settings control, which you may want to access. This button allows you to access these settings directly from Solocontutti app. Note that not all sound cards provide well-behaved drivers that support this function, and you may need to start up your drivers control panel to change settings. If there is no control panel this button will not be visible
  • Compression - this determines level of compression used to send data - the more compressed the data is the less internet bandwidth required. However, the higher the compression the lower quality. Also with small frame sizes there is more overhead required per buffer. You can see this by changing the frame size and watching how the kbps changes in the compression value. Note that the "uncompressed" value is completely uncompresed and requires a large bandwidth.
  • Master Volume controls device volume - When this is set the master volume control will try and control the master volume for the current device. Note that this will not always work as not all devices allow the master volume to be controlled by software. When not set the control acts as an extra final attenuation to the output signal.
Account Settings

Account Settings


  • Solocontutti Folder - allows you to enter a folder where Solocontutti app will store its files such as sound recording and logging files.
  • Name to display - this is the name that will be displayed to other users when they see you in a session.
  • email - this is your email address which wich only be used to contact you if you upload a diagnostic report
General Settings

General Settings

  • Record Only Own Input at High Quality - This tells Solocontutti app to record only your local channel(s) in the highest possible quality when recording. This allows you to record a session online and then share and mix the high quality recordings at a later stage. The recording is saved in the folder chosen in the account settings.
  • Record Sampling Rate - currently not available.
  • Record Bits Per Sample - currently not available.
  • Threshold dB - controls the noise gate for the input channels. This setting determines the minimum level of sound which will be passed through.
Accesibility Settings

Accesibility Settings

  • Use 'r' instead of space a recording shortcut - Solocontutti uses the space bar as a record control, but this conflicts with some screen readers. This allows you to change the recoding shortcut to 'r'.
  • Use tones to indicate button state - when set, the clicking a toggle button will cause a rising or falling to to be played indicating that the button is on or off.
  • Announce new player on entry - When set the system will announce verbally when a new player joins the session.
  • Add fader for plugin - This creates a separate fader on the output panel for controlling the Solocontutti plugin. This saves having to switch apps to control the plugin volume.
Reflect Test

Reflect Test (not available on mobile devices)

The reflect test allows you to test the working of your sound and network settings without creating a session. It works by sending all your sound data to the server, which reflects it back to you where you can hear it through your headphones. This give some idea of the delays added by the network, although you should not immediately draw conclusions because what you hear is the round trip delay, which is actually twice the delay between you and another player. While you are running the reflect test you can change devices and frame sizes with the control panel to hear the effect. The tool also allows you to adjust the buffer size to hear how this affects quality and what sort of delay it adds

  • Data Rate - the bandwidth being used by the Solocontutti sound data being sent to the server in kilobytes/s
  • 'Real Data Rate' - the total real bandwidth being used for communication including all network overhead. You will notice that this is much larger than the data rate for small frame sizes.
  • Network Latency - the average time taken between data being sent and the reflection being received back. This is the round trip delay, or twice the peer to peer delay. Generally a value below 30ms is considered good.
  • Buffer Size - this slider controls the buffer size in milliseconds (1/1000 of a second) being used to store data. A greater buffer size improves quality but also increases latency. Solocontutti uses a standard buffer which is 2x the frame length, so for a 128 sample frame the default buffer will be 5.4ms long.