audiowaveform - C++ program to generate waveform data and render waveform images from audio files

  •        102

audiowaveform is a C++ command-line application that generates waveform data from either MP3, WAV, or FLAC format audio files. Waveform data can be used to produce a visual rendering of the audio, similar in appearance to audio editing applications.Waveform data files are saved in either binary format (.dat) or JSON (.json). Given an input waveform data file, audiowaveform can also render the audio waveform as a PNG image at a given time offset and zoom level.

http://waveform.prototyping.bbc.co.uk
https://github.com/bbc/audiowaveform

Tags
Implementation
License
Platform

   




Related Projects

peaks.js - JavaScript UI component for interacting with audio waveforms

  •    Javascript

A browser based audio waveform visualisation frontend component from BBC R&D.Peaks.js is a modular client-side JavaScript component designed for the display of and interaction with audio waveforms in the browser.

waveform-data

  •    Javascript

waveform-data.js is a JavaScript library for creating zoomable, browsable and segmentable representations of audio waveforms.We use these projects daily in applications such as BBC Radio Archive and browser editing and sharing tools for BBC content editors.

bbc2mp3

  •    Perl

bbc2mp3 is a simple tool for saving BBC ``Listen Again'' programmes as MP3 files. It can be run either as a command line programme or a simple GUI. It works by saving an audio stream as a wav file (using mplayer) and converting this to mp3 (using lame)

bbcticker

  •    

This is an attempt to create a Linux/Unix version of the BBC Online Ticker using GTK. The official Windows version is available from the BBC (http:www.bbc.co.uk). I haven't incorporated all the features of the original yet, but it is still useable

tal - TV Application Layer

  •    Javascript

TAL was developed internally within the BBC as a way of vastly simplifying TV application development whilst increasing the reach of BBC TV applications such as iPlayer. Today all of the BBC's HTML-based TV applications are built using TAL.There are hundreds of different devices in the marketplace and they all use slightly different technologies to achieve the same result. The purpose of TAL is to allow you to write an application once, and be confident that it can be deployed to all HTML-based TV devices.


get_iplayer - A utility for downloading TV and radio programmes from BBC iPlayer

  •    Perl

A utility for downloading TV and radio programmes from BBC iPlayer

waud - Web Audio Library

  •    Haxe

Web Audio Library with HTML5 audio fallback. Waud is a simple and powerful web audio library that allows you to go beyond HTML5's <audio> tag and easily take advantage of Web Audio API. It abstracts Web Audio API making it consistent and reliable across multiple platforms and browsers. It also falls back to HTML5 Audio on non-modern browsers where Web Audio API is not supported.

howler.js - Javascript audio library for the modern web

  •    Javascript

howler.js is an audio library for the modern web. It defaults to Web Audio API and falls back to HTML5 Audio. This makes working with audio in JavaScript easy and reliable across all platforms.

howler.js - Javascript audio library for the modern web.

  •    Javascript

howler.js is an audio library for the modern web. It defaults to Web Audio API and falls back to HTML5 Audio. This makes working with audio in JavaScript easy and reliable across all platforms. Additional information, live demos and a user showcase are available at howlerjs.com.

audiosprite - Jukebox/Howler/CreateJS compatible audio sprite generator

  •    Javascript

This is a ffmpeg wrapper that will take in multiple audio files and combines them into a single file. Silent gaps will be put between the parts so that every new part starts from full second and there is at least 1 second pause between every part. The final file will be exported in mp3, ogg, ac3, m4a and caf(IMA-ADPCM) to support as many devices as possible. This tool will also generate a JSON file that is compatible with Howler.js or zynga/jukebox framework. iOS, Windows Phone and some Android phones have very limited HTML5 audio support. They only support playing a single file at a time and loading in new files requires user interaction and has a big latency. To overcome this there is a technique to combine all audio into single file and only play/loop certain parts of that file. zynga/jukebox is a audio framework that uses this technique. digitalfruit/limejs is a HTML5 game framework that includes Jukebox and lets you add audio to your games using audio sprites.

Audio Pitch & Shift

  •    

Audio Pitch & Shift is a complete audio player intended to be useful for musicians who wants to slow down or change the pitch of the music.

PortAudio - Cross-platform Audio I/O Library

  •    C

PortAudio is a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms. It provides a very simple API for recording and/or playing sound using a simple callback function or a blocking read/write interface. Example programs are included that play sine waves, process audio input (guitar fuzz), record and playback audio, list available audio devices, etc.

patchfield - Audio infrastructure for Android

  •    Java

Patchfield is an audio infrastructure for Android that provides a simple, callback-driven API for implementing audio modules (such as synthesizers and effects), a graph-based API for connecting audio modules, plus support for inter-app audio routing. It is inspired by JACK, the JACK audio connection kit.Patchfield consists of a remote or local service that acts as a virtual patchbay that audio apps can connect to, plus a number of sample apps that illustrate how to implement audio modules and how to manipulate the signal processing graph. The implementation resides entirely in userland and works on many stock consumer devices, such as Nexus 7 and 10.

dancer.js - high-level audio API, designed to make sweet visualizations

  •    Javascript

dancer.js is a high-level audio API, usable with both Mozilla's Audio Data API and Web Audio API with flash fallback, designed to make sweet visualizations. All controls return this. If provided an audio element as the source, one can also control the audio through that, or can access the audio element in the audio property on the dancer instance.

TPAACAudioConverter - Easy-to-use Objective-C wrapper for AAC audio conversion

  •    Objective-C

TPAACAudioConverter is a simple Objective-C class that performs the conversion of any audio file to an AAC-encoded m4a, asynchronously with a delegate, or converts any audio provided by a data source class (which provides for recording straight to AAC). From the iPhone 3Gs up, it's possible to encode compressed AAC audio from PCM audio data. That means great things for apps that deal with audio sharing and transmission, as the audio can be sent in compressed form, rather than sending huge PCM audio files over the network.

omnitone - Spatial Audio Rendering on the web.

  •    Javascript

Omnitone is a robust implementation of ambisonic decoding and binaural rendering written in Web Audio API. Its rendering process is powered by the fast native features from Web Audio API (GainNode and Convolver), ensuring the optimum performance. The implementation of Omnitone is based on the Google spatial media specification and SADIE's binaural filters. It also powers Resonance Audio SDK for web.

Ardour - Digital Audio Workstation

  •    C++

Ardour is a hard disk recorder and digital audio workstation application. It supports unlimited audio tracks and buses. Its features include Non-destructive, non-linear editing with unlimited undo, and anything-to-anywhere signal routing. It supports Standard file formats BWF, WAV, WAV64, AIFF, CAF and Windows VST plugins. Ardour can be used as an audio mastering environment. Its integration with JACK makes it possible to use mastering tools such as JAMin to process the audio data.

Cinelerra - Capture, Compose Edit video & Audio

  •    C++

Turn your Linux box into a complete audio and video production environment. This is the developer resource for all things related to the system. Cinelerra does primarily 3 things: capturing, compositing, and editing audio and video with sample level accuracy. It's a movie studio in a box. Cinelerra also includes a video compositing engine, allowing the user to perform common compositing operations such as keying and mattes.

tuna - An audio effects library for the Web Audio API.

  •    Javascript

An audio effects library for the Web Audio API. This is a very incomplete list of places where Tuna.js is used.