Tuning decision thresholds for low-bitrate music
[opus.git] / README
diff --git a/README b/README
index 16b9b1c..9a06811 100644 (file)
--- a/README
+++ b/README
@@ -1,3 +1,4 @@
+== Opus audio codec ==
 
 Opus is a codec for interactive speech and audio transmission over the Internet.
 
@@ -6,15 +7,20 @@ Voice over IP, videoconferencing, in-game  chat, and even remote live music
 performances. It can scale from low bit-rate narrowband speech to very high
 quality stereo music.
 
-The IETF draft covering Opus can be found at:
- http://tools.ietf.org/id/draft-ietf-codec-opus
+  Opus, when coupled with an appropriate container format, is also suitable
+for non-realtime  stored-file applications such as music distribution, game
+soundtracks, portable music players, jukeboxes, and other applications that
+have historically used high latency formats such as MP3, AAC, or Vorbis.
 
-Opus is subject to the royalty-free patent and copyright licenses specified
-in the file COPYING.
+                    Opus is specified by IETF RFC 6716:
+                    https://tools.ietf.org/html/rfc6716
+
+  The Opus format and this implementation of it are subject to the royalty-
+free patent and copyright licenses specified in the file COPYING.
 
 This package implements a shared library for encoding and decoding raw Opus
 bitstreams. Raw Opus bitstreams should be used over RTP according to
- http://tools.ietf.org/html/draft-spittka-payload-rtp-opus
+ https://tools.ietf.org/html/rfc7587
 
 The package also includes a number of test  tools used for testing the
 correct operation of the library. The bitstreams read/written by these
@@ -23,35 +29,60 @@ additional debugging data and cannot support seeking.
 
 Opus stored in files should use the Ogg encapsulation for Opus which is
 described at:
- http://wiki.xiph.org/OggOpus
+ https://wiki.xiph.org/OggOpus
 
 An opus-tools package is available which provides encoding and decoding of
 Ogg encapsulated Opus files and includes a number of useful features.
+
 Opus-tools can be found at:
- http://git.xiph.org/?p=users/greg/opus-tools.git
+ https://git.xiph.org/?p=opus-tools.git
+or on the main Opus website:
+ https://opus-codec.org/
 
 == Compiling libopus ==
 
 To build from a distribution tarball, you only need to do the following:
 
-% ./configure
-% make
+    % ./configure
+    % make
 
 To build from the git repository, the following steps are necessary:
 
+0) Set up a development environment:
+
+On an Ubuntu or Debian family Linux distribution:
+
+    % sudo apt-get install git autoconf automake libtool gcc make
+
+On a Fedora/Redhat based Linux:
+
+    % sudo dnf install git autoconf automake libtool gcc make
+
+Or for older Redhat/Centos Linux releases:
+
+    % sudo yum install git autoconf automake libtool gcc make
+
+On Apple macOS, install Xcode and brew.sh, then in the Terminal enter:
+
+    % brew install autoconf automake libtool
+
 1) Clone the repository:
 
-% git clone git://git.opus-codec.org/opus.git
-% cd opus
+    % git clone https://git.xiph.org/opus.git
+    % cd opus
+
+2) Compiling the source
 
-1) Compiling
+    % ./autogen.sh
+    % ./configure
+    % make
 
-% ./autogen.sh
-% ./configure
-% make
+3) Install the codec libraries (optional)
 
-Once you have compiled the codec, there will be a opus_demo executable in
-the top directory.
+    % sudo make install
+
+Once you have compiled the codec, there will be a opus_demo executable
+in the top directory.
 
 Usage: opus_demo [-e] <application> <sampling rate (Hz)> <channels (1/2)>
          <bits per second> [options] <input> <output>
@@ -60,39 +91,47 @@ Usage: opus_demo [-e] <application> <sampling rate (Hz)> <channels (1/2)>
 
 mode: voip | audio | restricted-lowdelay
 options:
--e                   : only runs the encoder (output the bit-stream)
--d                   : only runs the decoder (reads the bit-stream as input)
--cbr                 : enable constant bitrate; default: variable bitrate
--cvbr                : enable constrained variable bitrate; default: unconstrained
--bandwidth <NB|MB|WB|SWB|FB> : audio bandwidth (from narrowband to fullband);
-                               default: sampling rate
--framesize <2.5|5|10|20|40|60> : frame size in ms; default: 20
--max_payload <bytes> : maximum payload size in bytes, default: 1024
--complexity <comp>   : complexity, 0 (lowest) ... 10 (highest); default: 10
--inbandfec           : enable SILK inband FEC
--forcemono           : force mono encoding, even for stereo input
--dtx                 : enable SILK DTX
--loss <perc>         : simulate packet loss, in percent (0-100); default: 0
-
-input and output are 16-bit PCM files (machine endian) or opus bitstreams
-with simple opus_demo proprietary framing.
+  -e                : only runs the encoder (output the bit-stream)
+  -d                : only runs the decoder (reads the bit-stream as input)
+  -cbr              : enable constant bitrate; default: variable bitrate
+  -cvbr             : enable constrained variable bitrate; default:
+                      unconstrained
+  -bandwidth <NB|MB|WB|SWB|FB>
+                    : audio bandwidth (from narrowband to fullband);
+                      default: sampling rate
+  -framesize <2.5|5|10|20|40|60>
+                    : frame size in ms; default: 20
+  -max_payload <bytes>
+                    : maximum payload size in bytes, default: 1024
+  -complexity <comp>
+                    : complexity, 0 (lowest) ... 10 (highest); default: 10
+  -inbandfec        : enable SILK inband FEC
+  -forcemono        : force mono encoding, even for stereo input
+  -dtx              : enable SILK DTX
+  -loss <perc>      : simulate packet loss, in percent (0-100); default: 0
+
+input and output are little-endian signed 16-bit PCM files or opus
+bitstreams with simple opus_demo proprietary framing.
 
 == Testing ==
 
 This package includes a collection of automated unit and system tests
-which should be run after compiling the package especially the first
+which SHOULD be run after compiling the package especially the first
 time it is run on a new platform.
 
 To run the integrated tests:
-% make check
+
+    % make check
 
 There is also collection of standard test vectors which are not
 included in this package for size reasons but can be obtained from:
-http://opus-codec.org/testvectors/opus_testvectors-draft11.tar.gz
+https://opus-codec.org/testvectors/opus_testvectors.tar.gz
 
 To run compare the code to these test vectors:
-% tar -zxf opus_testvectors-draft11.tar.gz
-% ./tests/run_vectors.sh ./ opus_testvectors 48000
+
+    % curl -OL https://opus-codec.org/testvectors/opus_testvectors.tar.gz
+    % tar -zxf opus_testvectors.tar.gz
+    % ./tests/run_vectors.sh ./ opus_testvectors 48000
 
 == Portability notes ==