# Liquidsoap

## audio stream generation

### Multichannel audio in Liquidsoap.

Although not much tested, liquidsoap supports multichannel audio data.

The first step to enable this is to set globally the number of audio channels by adding `set("frame.channels",4)` at the begining of your script.

A limitation in the current system is that if you set the number of channels to e.g. 4, then each input file has to provide either mono audio data, or 4 channel audio data.

Also, some operators might not be prepared to receive multichannel data. Finally, the `stereo` parameter in the various outputs is often deceiving. When set to `false`, the data is mixed down to mono data, but when set to `true`, the number of channels is the one specified globaly.

All these issues should be fixed with the next major release.

### Example

The following script will produce a 4 channel vorbis stream using jack for retreiving data:

    # Set global setting.
    set("frame.channels",4)

    # The jack input will have the same
    # number of channels than the global
    # setting above.
    s = input.jack(id="my input")

    # Output this source to icecast
    # using vorbis
    output.icecast.vorbis(host="my host",
      password="my password",mount="4chan.ogg",
          s)