0

Play 5.1 stereo through EM100



I can't find any support for EM100 in BrightAuthor ! Is there a way to play 5.1 Stereo decoded to separate channels through the analog outputs on a EM100 1 and trigger the start with a contact closure Alternatively 3 stereo audiofiles in perfect sync. Cheers // JW

5 comments

  • 0
    Avatar
    RokuLyndon


    There isn't currently a setting in brightauthor for the expander.

    But, even if there was, you can't play 5.1 to analog outputs on the compacts because they do not decode ac3, they just pass ac3 through.

    Yes, you can play 3 audio files. You might need to pad the start times to get them in sync. This would have to be done using a custom script. Is it 3mp3s in sync, or audio in the video, plus two separate audio files?
  • 0
    Avatar
    jawa


    OK thanks,

    I want to play 3 stereo mp3 files in sync each on a separate output in the EM100 expander. Also need GPIO input to trigger play in loop and stop.
    can you help me with a script ?

    jawa
  • 0
    Avatar
    RokuLyndon


    Is it the same gpio to start and stop?
    Is the gpio you want to use also going to be connected to the expander?
  • 0
    Avatar
    RokuLyndon


    Try this script. It plays three audio files, and uses gpio 1 to start and stop playback.

    debug=true
    a1=createobject("roAudioPlayer")
    a2=createobject("roAudioPlayer")
    a3=createobject("roAudioPlayer")
    gpio=createobject("roGpioControlPort")

    p=createobject("roMessagePort")
    a1.SetPort(p)
    'a2.SetPort(p)
    'a3.SetPort(p)
    gpio.SetPort(p)
    gpio.EnableInput(1) 'using gpio 1 on the brightsign
    stopped=false

    rem video mode
    mode=createobject("roVideoMode")
    mode.SetMode("1360x768x60p")

    REM Settings
    a2.SetAudioOutput(0)
    a2.MapStereoOutput(3) 'expander 3
    a2.SetAudioOutput(0)
    a2.MapStereoOutput(1) 'expander 1
    a3.SetAudioOutput(0)
    a3.MapStereoOutput(2) 'expander 2

    Start:
    a1.PlayFile("2.mp3")
    a2.PlayFile("2.mp3")
    a3.PlayFile("3.mp3")

    listen:
    msg = wait(0,p)

    if type(msg) = "roAudioEvent" then
    if msg.GetInt() = 8 then
    'a2.Stop()
    'a3.Stop()
    goto start
    endif

    else if type(msg) = "roGpioButton" then

    if stopped then
    stopped=false
    goto start
    else
    stopped=true
    a1.stop()
    a2.stop()
    a3.stop()
    endif

    endif

    goto listen

  • 0
    Avatar
    jawa


    Thanks,

    This partly works, the 3 files starts and stops almost the same time...
    I've created 3 stereo mp3 files with exactly (to the sample) the same length and different padding with silence at start/end to handle the different delays when starting playback.
    The problem I still have is when I start/stop playback with GPI the delay between Audio 1, 2 and 3 varies slightly every time, from 0 to a few hundred mS. Same thing if I leave it in loop playback for a longer time, each time the loop restarts the delay varies for each audio output every time.

    Is there any way to predict or control what the delays are going to be, or is there an other/better approach to the application

    Files are mp3, joint stereo, 44,1 kHz, 320Mbps

    your help is much appreciated

    // jawa
Please sign in to leave a comment.