GitXplorerGitXplorer
s

Opus.jl

public
11 stars
8 forks
2 issues

Commits

List of commits on branch master.
Verified
3c28a4d1a5959b8e01bfe4a8c6f46f8bb82f16ff

Update for Julia 1.3+, use JLL packages and whatnot (#7)

sstaticfloat committed 5 years ago
Unverified
46da5268cca20a2654614281213ffc7d3306d8fc

Fix tests

sstaticfloat committed 5 years ago
Unverified
225d1a01c0e40ea4253f6abe53e2c24a181c024d

Fix `granulepos` issue on windows

sstaticfloat committed 5 years ago
Unverified
bbadcabf6a755396d9a1449d793055790a7af7d4

Update compat

sstaticfloat committed 5 years ago
Unverified
b4a57566b590f12746a9e053028948f8f664876b

Tighter compat bounds

sstaticfloat committed 5 years ago
Unverified
43e85535b3619997ebd942628a5ddab21ae6a504

Update for Julia 1.3+, use JLL packages and whatnot

sstaticfloat committed 5 years ago

README

The README file for this repository.

Opus

Build Status

Basic bindings to libopus to encode/decode Opus streams. Opus is a low-latency yet high-quality audio codec with an impressive set of features and very simple API. Note that a common surprise with Opus is that it supports a very limited set of samplerates. Do yourself a favor and just resample any audio (with, for example, a polyphase resampler from DSP.jl) you have to 48 KHz before encoding.

Basic usage is to use load() and save() to read/write Opus streams to/from file paths, IO streams, etc., but the real fun to be had is in an IJulia notebook with OpusArrays. These thin wrapper objects contain a show() implementation allowing you to output raw audio as Opus to a reasonably modern browser. To try it out, put the following in an IJulia notebook:

using Opus

# Create a seconds worth of 440Hz
t = linspace(0,1,48000)
audio = sin(2*π*440*t)

z = OpusArray(audio)