Home of the Squeezebox™ & Transporter® network music players.
Results 1 to 10 of 11

Threaded View

  1. #1
    Senior Member
    Join Date
    Aug 2012
    Location
    Austria
    Posts
    976

    [Howto] play Ogg Opus files

    Since I recently came across some music in the Ogg Opus format, I looked into playing it with LMS.
    The main issue is that the library LMS uses to read audio metadata (AudioScan) doesn't support Opus. I did, however, find a forked version which does.
    As this one hasn't been updated in a while, I decided to merge the Opus support into the current AudioScan.

    Attached you will find a patch for AudioScan enabling Opus support (credit goes to the original author linked above), plus some support files for LMS.

    Instructions
    Install the Opus libraries and sox with the Opus codec enabled. Most likely, your distribution will have it packaged already (e.g. libopus, libopus-dev, opus-tools, sox in Debian)
    Note: if your sox version doesn't support Opus (check with sox -h), you can compile it yourself or use opusdec instead. However, you will lose the ability to seek in a track when using opusdec.

    Download the attached zip and build the module:
    Code:
    mkdir build; cd build
    wget https://raw.githubusercontent.com/Logitech/slimserver-vendor/public/7.9/CPAN/buildme.sh
    wget http://search.cpan.org/CPAN/authors/id/A/AG/AGRUNDMA/Audio-Scan-0.96.tar.gz
    wget https://github.com/Logitech/slimserver-vendor/raw/public/7.9/CPAN/Sub-Uplevel-0.22.tar.gz
    wget https://github.com/Logitech/slimserver-vendor/raw/public/7.9/CPAN/Test-Warn-0.23.tar.gz
    wget https://github.com/Logitech/slimserver-vendor/raw/public/7.9/CPAN/Tree-DAG_Node-1.06.tar.gz
    
    unzip lmsopus-alpha.zip
    
    tar xzf Audio-Scan-0.96.tar.gz
    cd Audio-Scan-0.96
    patch -p1 < ../Audio-Scan-0.96.opus.patch
    cd ..
    mv Audio-Scan-0.96.tar.gz Audio-Scan-0.96.orig.tar.gz
    tar czf Audio-Scan-0.96.tar.gz Audio-Scan-0.96
    chmod +x buildme.sh
    ./buildme.sh Audio::Scan
    If the build was successful, you'll find the perl modules in
    Code:
    ./build/arch/<perl version>/<architecture>
    e.g. for perl 5.24 on Linux 64bit:
    Code:
    build/arch/5.24/x86_64-linux-thread-multi
    copy the content of the build/arch directory to your LMS installation's CPAN/arch folder
    e.g. if your LMS is in opt/logitechmediaserver-7.8-0-noCPAN, the full final path will be
    Code:
    /opt/logitechmediaserver-7.8-0-noCPAN/CPAN/arch/5.24/x86_64-linux-thread-multi/auto/Audio
    ...
    In your LMS installation, edit Slim/Formats.pm and add the format:
    Code:
    	'ogf' => 'Slim::Formats::OggFLAC',
    	'ops' => 'Slim::Formats::OggOpus',  # add this line
    and finally copy OggOpus.pm to your LMS installation's Slim/Formats folder

    Edit your modules.conf:
    Code:
    Audio::Scan 0.93 0.96
    This takes care of the metadata part. To actually be able to play it, add this line to your custom-types.conf:
    Code:
    ops	opus	audio/ogg	audio
    and modify your custom-convert.conf.

    For sox with opus:

    Code:
    ops mp3 * *
    	# IFB:{BITRATE=--abr %B}D:{RESAMPLE=--resample %D}
    	[sox] -q -t opus $FILE$ -t wav - | [lame] --silent -q $QUALITY$ $RESAMPLE$ $BITRATE$ - -
    
    ops ops * *
    	-
    
    ops aif * *
    	[sox] -q -t opus $FILE$ -t raw -r 44100 -c 2 -2 -s $-x$ -
    
    ops pcm * *
    	[sox] -q -t opus $FILE$ -t raw -r 44100 -c 2 -2 -s -
    
    ops flc * *
    	# IFRD:{RESAMPLE=-r %d}T:{START=trim %s}
    	[sox] -t opus $FILE$ -t flac -C 0 $RESAMPLE$ - $START$

    For opusdec:
    Code:
    ops mp3 * *
    	[opusdec] --quiet $FILE$ --force-wav - | [lame] --silent -q $QUALITY$ $RESAMPLE$ $BITRATE$ - -
    
    ops ops * *
    	-
    
    ops pcm * *
    	[opusdec] --quiet --rate 44100 $FILE$ - 
    
    ops flc * *
    	[opusdec] --quiet --force-wav $FILE$ - | [sox] -q -t wav - -t flac -C 0 $RESAMPLE$ -
    Attached Files Attached Files
    Last edited by Roland0; 2017-02-27 at 11:38. Reason: added modules.conf
    Various SW: Web Interface | Playlist Editor / Generator | Music Classification | Similar Music | Announce | EventTrigger | LMSlib2go | ...
    Various HowTos: build a self-contained LMS | Bluetooth/ALSA | Control LMS with any device | ...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •