- AWESOME Audio / Music *°
Awesome FFmpeg
FFmpeg is a cross-platform solution to record, convert and stream audio and video.
Contents
Docs
FFmpeg's official docs are notoriously difficult for beginners to understand due to the scope and complexity of FFmpeg's capabilities. With that being said, they're still very useful as a reference.
- FFmpeg.org - Where it all starts.
- Filters - Docs for FFmpeg's powerful filter chains (scaling, cropping, concatenating, merging, etc.). This is one of my most visited links when working with FFmpeg.
- Man page - Official FFmpeg man page.
- Wiki & Bug Tracker - Lots of great info on here.
- CLI flags - A comprehensive list of all FFmpeg commandline flags. Really useful for searching random flags that you come across in the wild.
JavaScript
- fluent-ffmpeg - A fluent API to FFmpeg. If you only use one tool from this list, it should be this one.
- ffmpeg-probe - Wrapper around ffprobe for getting info about media files.
- ffmpeg-concat - Concats a list of videos together using FFmpeg with sexy OpenGL transitions.
- ffmpeg-generate-video-preview - Generates an attractive image strip or GIF preview from a video.
- ffmpeg-extract-frame - Extracts a single frame from a video.
- ffmpeg-extract-frames - Extracts screenshots from a video using FFmpeg.
- gif-extract-frames - Extracts frames from GIFs including inter-frame coalescing.
- ffmpeg-extract-audio - Extracts an audio stream from a media file.
- ffmpeg-on-progress - Utility for robustly reporting progress with fluent-ffmpeg.
- ffmpeg.js - Port of FFmpeg to JavaScript via Emscripten. Allows for limited FFmpeg use on the client-side.
- ffmpeg-static - Provides static FFmpeg binaries for macOS, Linux, and Windows. Very useful for CI testing.
- tangerine - Webcam streaming service using Node.js, FFmpeg, WebSockets, and Lad.
Native
- ffmpeg-gl-transition - FFmpeg filter for applying GLSL transitions between video streams (gl-transitions).
Mobile
- simplest ffmpeg mobile - FFmpeg examples for Android and iOS.
- ijkplayer - Android / iOS video player based on FFmpeg.
Tutorials
Community
Contribute
License
To the extent possible under law, Travis Fischer has waived all copyright and related or neighboring rights to this work.
Link’s -->
https://github.com/ciconia/awesome-music#readme
Awesome Music
A categorized collection of awesome music libraries, tools, frameworks and software.
Contributions and suggestions are always welcome! Please take a look at the contribution guidelines and quality standardfirst.
Audio Editing
- Audacity - a free, cross-platform digital audio editor.
- Ardour - a cross-platform digital audio workstation emphasizing audio recording.
- LMMS - another cross-platform digital audio workstation, more oriented towards making beats.
Audio Libraries
- audio.js - audio.js is a drop-in javascript library that allows HTML5's
- howler.js - a Javascript audio library for the modern web.
- JSyn - an audio synthesis software API for Java.
- Librosa - a python package for music and audio analysis, providing the building blocks necessary to create music information retrieval systems.
- midi.js - a framework for creating web-based MIDI apps.
- mxml - MusicXML parsing and layout library.
- PortAudio - a free, cross-platform, open-source, audio I/O library.
- RustAudio - an aggregate of free and useful Audio, DSP and music libraries written in Rust.
- Soundpipe - a lightweight DSP library written in C.
Audio Tools
- Beets - a powerful command-line music organizer and manipulator.
- cyanrip - rips and encodes standard audio CDs with the least effort required from user. Cross platform.
- fre:ac - free audio converter. It supports audio CD ripping and tag editing.
- Jack - command-line CD ripper.
- K3b - is a full-featured CD/DVD/Blu-ray burning and ripping application.
- Koel - an open-source personal audio streaming server.
- Lame - a high quality, free and open-source MP3 encoder.
- lltag - automatic command-line mp3/ogg/flac file tagger and renamer.
- Musikernel - a futuristic audio production platform (hardware support, APIs, hosts, plugins and more)
- Rubyripper - is a secure digital audio extraction application ("cd ripper") for Unix-like operating systems.
- SoX - a free open-source command line utility for playing, converting and manipulating audio files.
- split2flac - split flac/ape/wv/wav + cue sheet into separate tracks
- Whipper - Python CD-DA ripper preferring accuracy over speed.
- X Audio Copy - GTK and GNOME application for ripping CD-Audio and encoding in lossy and lossless audio formats.
Free Music Scores
- cellist/Lilypond-Sheet-Music - a collection of music typeset with lilypond (mostly chamber music and music for cello).
- ciconia/music - a collection of mostly baroque music, lots of sacred works by J. S. Bach, coded in lilypond/ripple.
- CPDL - the choral public domain library contains more than 20K free scores of vocal music.
- Éditions Nicolas Sceaux - baroque music scores (mainly French music), typeset using lilypond.
- IMSLP - the International Music Score Library Project is the largest collection of public domain scores and parts on the web.
- Mutopia - sheet music based on editions in the public domain.
- wbsoft/lilymusic - beautiful LilyPond scores under free licenses.
MIDI Tools & Libraries
- Midifile - C++ library for parsing Standard MIDI Files.
- Timidity - an open-source command line synthesizer that plays MIDI files.
Music Notation
- Abjad - a Python API for Formalized Score Control, based on Lilypond.
- Denemo - a free music notation editor based on Lilypond.
- Jan Angermüller's music fonts page - A listing and visual comparison of different music fonts.
- Frescobaldi - a free Lilypond sheet music editor.
- Guido - a generic, portable library and API for the graphical rendering of musical scores.
- Hacklily - online LilyPond-based sheet music editor (with optional GitHub integration).
- i-score - a software for interactive music notation, with DAW features.
- Inknote - free, open source, browser based music notation and composition software.
- LibMEI - a C++ library for reading and writing MEI files.
- Lilybin - an open source web-based LilyPond editor.
- Lilypond - free, open-source music engraving program, devoted to producing the highest-quality sheet music possible.
- Lilypond cook book - tips & tricks for getting the most out of lilypond.
- Lilypond Snippet Repository - an online database of Lilypond snippets ideas, features and hacks.
- Lilyvm - Lilypond version manager.
- Lydown - a modern language for music notation, based on Lilypond.
- Lyp - the Lilypond swiss army knife - easily install packages, manage multiple versions of Lilypond, and other tools for power users.
- MuseScore - free open-source music notation and composition software.
- MusicKit - Music sheet rendering for iOS and OSX.
- NOTATIO - a forum devoted to the practice of music notation.
- OpenLilyLib - LilyPond tools - snippets, templates, and extensions.
- Python-ly - a tool and library for manipulating LilyPond files.
- Ripple - DRY for Lilypond - generate scores and parts with minimal fuss.
- Scorelib - a C++ library for parsing SCORE data files.
- Tbon - Typographic Beat-Oriented Notation for music.
- Tunefl - LilyPond mini-score engraving and sharing service for musicians.
- Verovio - a library and a toolkit for engraving MEI music notation into SVG.
- Vexflow - a JavaScript library for rendering music notation and guitar tablature.
Music Programming
- Alda - a music programming language for musicians.
- Bach: Automated Composer's Helper - a cross-platform set of patches and externals for Max, aimed to bring the richness of computer-aided composition into the real-time world.
- Chuck - strongly-timed, concurrent, and on-the-fly music programming language.
- CoffeeCollider - a language for real time audio synthesis and algorithmic composition in HTML5. "Write CoffeeScript, and be processed as SuperCollider."
- Common Music - an open source music composition system.
- Csound - a user-programmable and user-extensible sound processing language and software synthesizer.
- Faust - a functional programming language specifically designed for real-time signal processing and synthesis.
- IanniX - a graphical open-source sequencer, based on Iannis Xenakis works, for digital art.
- Inscore - an environmnent for the design of interactive, augmented music scores.
- Leipzig - a composition library for Overtone.
- music21 - A Toolkit for Computational Musicology.
- Music Suite - a language for generalized music notation and theory, based on Haskell.
- Nyquist - a sound synthesis and composition language.
- OpenMusic - a visual programming language based on Lisp.
- Overtone - an Open Source toolkit for designing synthesizers and collaborating with music.
- Platonic Music Engine - an open-source music generation framework written in Lua.
- Pure Data - a visual programming language for audio and other multimedia.
- Sonic Pi - a live coding synth with an emphasis on educational use.
- Sporth - a small stack based audio language.
- SuperCollider - a programming language for real time audio synthesis and algorithmic composition.
- Tidal - a language built on Haskell for live coding patterns.
Music Theory Teaching
- Artusi - Interactive music theory exercises.
- Four Score and More - Tailored music theory exercises based on scores.
- musictheory.net - Lessons and exercises
- OpenMusicTheory - a growing, online "textbook" for music theory and aural skills.
Standards
- MEI (Music Encoding Initiative) - an open-source effort to define a system for encoding musical documents in a machine-readable structure.
- MusicXML - the standard open format for exchanging digital sheet music.
- SMuFL (Standard Music Font Layout) - a specification for mapping music symbols to Unicode for use in music fonts.
Other Awesomeness
Related lists
- Awesome Audio Visualization - A curated list about Audio Visualization.
- Awesome Music Listening - Awesome list of websites dedicated to listening to music.
- Awesome Music Production - A curated list of software and resources to create music.
- Awesome Python for Scientific Audio - A curated list of python software and packages related to scientific research in audio.
- Awesome sheet music - A curated list of awesome sheet music software, libraries and resources.
- Awesome WebAudio - A curated list of awesome WebAudio packages and resources.
Other amazingly awesome lists can be found in the list.
License
To the extent possible under law, Sharon Rosner has waived all copyright and related or neighboring rights to this work.
LinK’s →
Awesome WebAudio
Contents
Packages
Frameworks
- Tone.js - A framework for making interactive music in the browser.
- Gibberish - A JavaScript DSP library that creates JIT optimized audio callbacks using code generation techniques.
- lissajous - A tool for programmatic audio performance.
- SSSynthesiser.js - A wavetable synthesizer for interactive music and sound effects.
- Bap - A toolkit for making beats and composing sequences, inspired by the classic MPC60/2000.
- WAAX - Build Music Apps for browsers.
- Omnitone - Spatial audio on the web.
Libraries
- reverbGen - A JavaScript library for generating artificial reverb impulse responses.
- TuneJS - A tuning library of microtonal and just intonation scales. Supports over 3,000 historical tunings.
- Beet.js - A sequencer library for creating euclidean rhythms and polyrhythms.
- AudioKeys - A QWERTY keyboard for web audio projects.
- smoothfade - A library for smoothly fading between two AudioNodes.
- web-audio-test-api - A Web Audio test library for CI.
- virtual-audio-graph - Library for declaratively manipulating the Web Audio API.
- javascript-karplus-strong - JavaScript/Web Audio implementation of Karplus-Strong guitar synthesis.
- XSound.js - Full stack library.
- osc-msg - OSC message decoder/encoder with fault tolerance.
- Meyda - Audio feature extraction library including a variety of widely used audio features.
- Pizzicato - A library that aims to simplify the creation and manipulation sounds in the browser.
- Mooog - Tools that simplify working with AudioNodes, inspired by jQuery and mixing tables.
- Wavesurfer.js - Interactive navigable audio visualization using Web Audio and Canvas.
- envelope-generator - Simple ADSR envelope generator for web audio.
- Audiojs - An object that enables you to store, read, and write PCM audio data more easily.
- audio contour - A 5 stage audio envelope generator.
- Tuna - An audio effects library.
- web-audio-recorder-js - A library that records audio input (Web Audio API AudioNode object) and encodes to audio file image (Blob object).
- audiolet - A JavaScript library for real-time audio synthesis and composition from within the browser.
- playnote - Play your favorite instrument in the browser, with complex note intervals and scales.
- Recorderjs - A plugin for recording/exporting the output of Web Audio API nodes.
- Rythm.js - A javascript library that makes your page dance.
- Howler.js - A comprehensive library with a fallback to HTML5 Audio.
- Circular Audio Wave - A JS library for audio visualization in circular wave using Web Audio API and ECharts
Utilities
- resampler - A utility for resampling audio.
- bpm-detective – Detects the BPM of a song or audio sample.
- web-audio-utils - Commonly needed utility functions for Web Audio API.
- Audion - Chrome extension that adds a Web Audio panel to Developer Tools.
- web-audio-oscillators - A collection of Web Audio custom oscillators.
MIDI
- midimessage - A simple MIDI Message parser.
- midi-ports - handy library to make it easier to work with attached MIDI devices.
- Midi Logger - This Midi Logger will print all midi input to your browser for debugging.
- JZZ - MIDI library for Node.js and all major browsers.
- JZZ-midi-Gear - Retrieve your MIDI device model and manufacturer.
Apps
- LoopDrop App - MIDI looper, modular synth and sampler app built using Web Audio and Web MIDI APIs.
- X Sound - Multi Sound Application that uses XSound.js.
- Molgav - Musical Step Sequencer for melodies exchange.
- Code Player - An experimental app that makes your codes sing for you.
- mod-synth.io - Create your own modular synthesizer, or emulate different synths.
- GridSound - A work-in-progress DAW (Digital Audio Workstation).
- Learning Music - Learn the basics of music making.
- Super Oscillator - An interactive, 3D music synthesizer for the Web.
- AudioNodes - Modular audio production suite with multi-track audio mixing, audio effects, parameter automation, MIDI editing, synthesis, cloud production, and more.
- waveform-playlist - Multitrack Web Audio editor and player with canvas waveform preview. Set cues, fades and shift multiple tracks in time. Record audio tracks or provide audio annotations. Export your mix to AudioBuffer or WAV! Project inspired by Audacity.
- SoundCycle - A Web Audio based Loopstation for musicians with effects and different looping modes.
- DSP.audio Worklet Editor - Online Audio Worklet editor for sketching and collaboration, with sampler, MIDI and analyzers. Like a JSFiddle, but for DSP.
Resources
Tutorials
- WebAudio School - A series of self-guided workshops to learn WebAudio.
- Web Audio API Understandable Reference - A reference that aims to be easy to understand for those who know some JavaScript and basic audio principles.
- The Web Audio API: What Is It? - Intro to WebAudio.
- Web Audio Basics - A growing set of light code samples with CodePen links for each.
- Web Audio Perf - Performance of various AudioNodes and strategies for efficient resource usage (from WAC2016).
- Percussion Synthesis Using Web Audio - This tutorial will introduce the basics of web audio programming by writing code to synthesize simple percussion sounds (from WAC2016).
Books
- JavaScript for Sound Artists - A bottom up JavaScript / DOM course using Web Audio for all the examples.
- Web Audio API - Intended to be a springboard for web developers with little to no digital audio expertise. Geared towards game audio and interactive apps.
Newsletters
- Web Audio Weekly Newsletter - A weekly review of what's happening in Web Audio.
Community
- Slack - A Slack for discussing Web Audio.
License
To the extent possible under law, Chinmay Pendharkar has waived all copyright and related or neighboring rights to this work.
LinK’s →