Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions README.de.md
Original file line number Diff line number Diff line change
@@ -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
55 changes: 55 additions & 0 deletions README.en.md
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
libopus.js
==========
[Deutsch](README.de.md), [English](README.en.md), [日本語](README.md)

非可逆音声符号形式である[Opus](http://opus-codec.org/)のJavaScript実装と,
Webブラウザを用いてOpusのエンコード・デコードを行うサンプルです.
Expand Down