diff --git a/README.de.md b/README.de.md new file mode 100644 index 0000000..ee7ebbb --- /dev/null +++ b/README.de.md @@ -0,0 +1,58 @@ +libopus.js +========== +[Deutsch](README.de.md), [English](README.en.md), [日本語](README.md) + +JavaScript-Implementierung von [Opus](http://opus-codec.org/), einem +verlustbehaftetem Audio Codec. Beispiel, welches Opus in einem Web-Browser de- +und encodieren kann. + +Es ist in TypeScript geschrieben. + +Demo: https://kazuki.github.io/opus.js-sample/index.html + + +Details +------- + +Diese Opus-JavaScript-Implementierung kompiliert die +[Opus-Implementierung](http://git.xiph.org/?p=opus.git) der Xiph.org Foundation +mit [Emscripten](http://emscripten.org/). + +Dieses Beispiel de- und encodiert Opus im Web-Browser und spielt lokal +gespeicherte RIFF PCM Wave-Dateien ab. Zusätzlich zur Messung von De- und +Encodierungsgeschwindigkeit, können Sie das Ergebnis der Encodierung decodieren +und so das Ergebnis vergleichen. + +Durch die Verwendung von WebWorkern in diesem Beispiel wird die De-/Encodierung +in einem anderen Thread ausgeführt und beeinträchtigt nicht die Geschwindigkeit +anderer Browseroperationen. Außerdem ist die Decodierungslast von Opus nicht so +hoch, weil die asm.js-Ausgabe von Emscripten bereits sehr optimiert ist, so dass +Opus auch auf Smartphones in Echtzeit decodiert werden kann. + +Opus unterstützt nur einige diskrete Abtastraten. Weil der WebAudio-AudioContext +nur mit Abtastraten arbeiten kann, die von der verbauten Hardware und +verwendeten Software abhängig ist, wird in diesem Beispiel ein Resampling mit +Speex durchgeführt. + +Verwendete Versionen +-------------------- + +* opus: master (3a1dc9dc, Tue Aug 4 15:24:21 2015 -0400) speexdsp: 1.2rc3 +* (887ac103, Mon Dec 15 01:27:40 2014 -0500) emscripten: v1.34.8 + +Projekt bauen +------------- + +Es steht eine Makefile zur Verfügung, bitte führen Sie die folgenden Befehle +aus. Emscripten muss installiert aktiviert sein, so dass es an Stelle des +Standard C Compilers verwendet wird. Außerdem ist eine Umgebung notwendig, in +der opus und speexsp normalerweise mit gcc usw. erstellt werden können. + + $ git clone --recursive https://github.com/kazuki/opus.js-sample.git + $ cd opus.js-sample + $ make + +Lizenz +------ + +Modified BSD license diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..d850019 --- /dev/null +++ b/README.en.md @@ -0,0 +1,55 @@ +libopus.js +========== +[Deutsch](README.de.md), [English](README.en.md), [日本語](README.md) + +JavaScript implementation of [Opus](http://opus-codec.org/), a lossy audio +codec. This is an example capable of de- and encoding Opus in a web browser. + +Written in TypeScript. + +Demo: https://kazuki.github.io/opus.js-sample/index.html + + +Details +------- + +This Opus-JavaScript implementation compiles Xiph.org Foundation's +[Opus-implementation](http://git.xiph.org/?p=opus.git) using +[Emscripten](http://emscripten.org/). + +This example de- and encodes Opus in a web browser and plays locally stored RIFF +PCM Wave-Files. Apart from measuring de-and encoding speed you can decode the +result of the encoding and therefore compare the result. + +The use WebWorkers in this example causes the encoding and decoding operation to +take place in a different thread and therefore avoiding impact on the overall +browsing experience. Additionally, the load of decoding Opus isn't that high and +asm.js created by Emscripten operates at high speed, allowing near real-time +decoding even on a smartphone. + +Opus only supports some discrete sample rates while the WebAudio AudioContext +can only work with sample rates supported by the underlying hard- and software +stack. That's why the Speex resampler was added to this example. + +Versions +-------- + +* opus: master (3a1dc9dc, Tue Aug 4 15:24:21 2015 -0400) speexdsp: 1.2rc3 +* (887ac103, Mon Dec 15 01:27:40 2014 -0500) emscripten: v1.34.8 + +Building the project +-------------------- + +There is a Makefile; please execute the following commands. Emscripten has to be +installed and activated so that is used instead of the default C compiler. +Additionally, there has to be an environment similar to the one required for +building opus and speexsp with gcc. + + $ git clone --recursive https://github.com/kazuki/opus.js-sample.git + $ cd opus.js-sample + $ make + +Lizenz +------ + +Modified BSD license diff --git a/README.md b/README.md index 6444e54..6cecaa6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ libopus.js ========== +[Deutsch](README.de.md), [English](README.en.md), [日本語](README.md) 非可逆音声符号形式である[Opus](http://opus-codec.org/)のJavaScript実装と, Webブラウザを用いてOpusのエンコード・デコードを行うサンプルです.