All Projects → NVorbis → NVorbis

NVorbis / NVorbis

Licence: MIT license
C# Ogg Vorbis decoder

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to NVorbis

simple-web-audio-recorder-demo
A simple HTML/JS demo that uses WebAudioRecorder.js to record audio on a web page
Stars: ✭ 141 (+116.92%)
Mutual labels:  ogg-vorbis, ogg, vorbis
audio-metadata
A library for reading and, in the future, writing audio metadata. https://audio-metadata.readthedocs.io/
Stars: ✭ 41 (-36.92%)
Mutual labels:  ogg-vorbis, ogg, vorbis
nipper
🌶 💽 Nipper - Youtube playlist (& video) ripper
Stars: ✭ 23 (-64.62%)
Mutual labels:  ogg, vorbis
libwinmedia
[Archived] A cross-platform simple media playback library for C/C++.
Stars: ✭ 35 (-46.15%)
Mutual labels:  ogg, vorbis
java-vorbis-support
Combination of JOrbis, JavaSPI and Tritonus-Share.
Stars: ✭ 20 (-69.23%)
Mutual labels:  ogg, vorbis
lplayer
lplayer is a simple audio player for simply listening
Stars: ✭ 40 (-38.46%)
Mutual labels:  ogg-vorbis, ogg
sox.js
📢 NodeJS wrapper for the SoX audio tool
Stars: ✭ 18 (-72.31%)
Mutual labels:  ogg
vorbis aotuv
"aoTuV" is library for encoding and decoding of OggVorbis
Stars: ✭ 35 (-46.15%)
Mutual labels:  ogg-vorbis
uos
United Open-libraries of Sound. United procedures for open-source audio libraries. For FPC/Lazarus/fpGUI/MSEgui.
Stars: ✭ 112 (+72.31%)
Mutual labels:  ogg
Spell4Wiki
Spell4Wiki is a mobile application to record and upload audio for Wiktionary words to Wikimedia commons. Also act as a Wiki-Dictionary.
Stars: ✭ 17 (-73.85%)
Mutual labels:  ogg
Recorder
html5 js 录音 mp3 wav ogg webm amr 格式,支持pc和Android、ios部分浏览器、和Hybrid App(提供Android IOS App源码),微信也是支持的,提供H5版语音通话聊天示例 和DTMF编解码
Stars: ✭ 2,891 (+4347.69%)
Mutual labels:  ogg
a2mp3
convert (nearly) every type of (audio)file to mp3 in a quick, easy, batch-enabled way!
Stars: ✭ 43 (-33.85%)
Mutual labels:  ogg
ears
Easy Api in Rust to play Sounds
Stars: ✭ 81 (+24.62%)
Mutual labels:  ogg
opencubicplayer
Open Cubic Player (unix fork). Music visualizer for various tracked music formats (amiga modules, S3M, IT), chiptunes and other formats related to demoscene
Stars: ✭ 141 (+116.92%)
Mutual labels:  ogg-vorbis
libopusenc
Library for encoding .opus audio files and live streams.
Stars: ✭ 92 (+41.54%)
Mutual labels:  ogg
loudgain
ReplayGain 2.0 loudness normalizer based on the EBU R128/ITU BS.1770 standard (-18 LUFS, FLAC, Ogg, MP2, MP3, MP4, M4A, AAC, ALAC, Opus, ASF, WMA, WAV, AIFF, WavPack, APE)
Stars: ✭ 127 (+95.38%)
Mutual labels:  ogg-vorbis
velvet-video
Java library for encoding / decoding / muxing / demuxing video and audio in various formats
Stars: ✭ 32 (-50.77%)
Mutual labels:  ogg-vorbis
java-stream-player
🌌Java Advanced Audio Controller Library (WAV, AU, AIFF, MP3, OGG VORBIS, FLAC, MONKEY's AUDIO and SPEEX audio formats )
Stars: ✭ 112 (+72.31%)
Mutual labels:  ogg
oggvorbis
a native go ogg/vorbis decoder
Stars: ✭ 56 (-13.85%)
Mutual labels:  ogg-vorbis
record-encode-audio-from-browser
Record/Encode Audio on Browser using the WebAudio API and "ported" libraries.
Stars: ✭ 55 (-15.38%)
Mutual labels:  ogg

NVorbis Gitter

NVorbis is a .Net library for decoding Xiph.org Vorbis files. It is designed to run in partial trust environments and does not require P/Invoke or unsafe code. It is built for .Net Standard 2.0 and .Net Framework 4.5.

This implementation is based on the Vorbis specification found on xiph.org. The MDCT and Huffman codeword generator were borrowed from public domain implementations in https://github.com/nothings/stb/blob/master/stb_vorbis.c.

To use:

// add a reference to NVorbis.dll

// this is the simplest usage; see the public classes and constructors for other options
using (var vorbis = new NVorbis.VorbisReader("path/to/file.ogg"))
{
	// get the channels & sample rate
    var channels = vorbis.Channels;
    var sampleRate = vorbis.SampleRate;

    // OPTIONALLY: get a TimeSpan indicating the total length of the Vorbis stream
    var totalTime = vorbis.TotalTime;

	// create a buffer for reading samples
    var readBuffer = new float[channels * sampleRate / 5];	// 200ms

	// get the initial position (obviously the start)
    var position = TimeSpan.Zero;

    // go grab samples
    int cnt;
    while ((cnt = vorbis.ReadSamples(readBuffer, 0, readBuffer.Length)) > 0)
    {
    	// do stuff with the buffer
    	// samples are interleaved (chan0, chan1, chan0, chan1, etc.)
    	// sample value range is -0.99999994f to 0.99999994f unless vorbis.ClipSamples == false
    
    	// OPTIONALLY: get the position we just read through to...
        position = vorbis.TimePosition;
    }
}

NVorbis can be downloaded on NuGet.

If you are using NAudio, support is available via NAudio.Vorbis.

Support for OpenTK also exists and can be downloaded on NuGet.

If you have any questions or comments, feel free to join us on Gitter. If you have any issues or feature requests, please submit them in the issue tracker.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].