Skip to content

Latest commit

 

History

History
261 lines (181 loc) · 17.2 KB

README.md

File metadata and controls

261 lines (181 loc) · 17.2 KB

Awesome-Audio Awesome

A curated list of awesome audio technology resources for developers

Gitter

Code

Software applications, tools, and APIs you can use to solve audio-related problems to use in your own awesome audio projects.

How-To Analyze Audio

  • APIs
    • Dolby.io Media Analyze API - services to analyze an audio file to identify codec, clipping, loudness, sound classification, silence, etc.
  • Apps
  • Python
    • Librosa - python package for music and audio analysis

How-To Edit Audio

  • APIs
    • Dolby.io Media Enhance API - services to enhance media such as correcting audio impurities like noise, sibilance, equalization, tonality, loudness
  • Apps
    • Avid Pro Tools - music software to create audio recording, composing, editing, and mastering
    • iZotope - audio software for music production and post production, composing, editing, and mastering

How-To Playback Audio

  • Android
    • AudioTrack - Android class that streams PCM audio buffers to audio hardware for playback
    • ExoPlayer - library for local or streaming playback of audio and video
    • MediaPlayer - class for controlling playback of a pre-existing audio or video file
    • Oboe - C++ library that wraps OpenSL ES and AAudio for high performance audio operations
  • JavaScript
  • Python
    • PyAudio - python bindings for PortAudio to interface with audio drivers to record or playback audido (Open-Source/MIT)

How-To Read and Write Audio Files

  • CLI
    • GStreamer - library for constructing graphs of media-handling components
    • Sound eXchange - SoX is billed as the swiss army knife of sound processing programs
  • Python
    • pyAV - python bindings for ffmpeg to access media via containers, streams, packets, codecs, and frames

How-To Record Audio

  • Android
    • AudioRecord - Android class for reading buffers of raw audio data from audio hardware
    • MediaRecorder - records encoded audio or video and saves the recording to an output file
    • Oboe - C++ library that wraps OpenSL ES and AAudio for high performance audio operations compatible across API levels
  • JavaScript
    • MediaRecorder - Web API for processing a stream of media content such as audio tracks
    • react-mic - javascript / react library to record audio cross-platform
  • Python
    • PyAudio - python bindings for PortAudio to interface with audio drivers to record or playback audido (Open-Source/MIT)
  • Swift
    • AVFoundation - framework for audiovisual assets, control devices, audio processing, and system audio interactions
      • AVCapture - device, input, session, and output classes for a graph processing architecture allowing buffer analysis and processing (including video support)
    • AVFAudio - foundation framework to play, record, and process audio and configure system behavior
      • AVAudioRecorder - class to record audio to a file and may be simplest when getting started
      • AVAudioEngine - group of audio nodes to generate and process audio signals for input and output; does not natively support video capture but highly configurable processing nodes
    • Audio Toolbox - framework to record or play audio, convert formats, parse audio streams, and configure your audio session

How-To Send Real-Time Audio

  • APIs
  • JavaScript
    • WebRTC API - capture and stream audio / video media between browsers without requiring an intermediary

How-To Transcribe Audio

How-To Visualize Audio

  • Apps
    • headliner.app - create engaging social video with audio editing, transcription, and visualization
    • getaudiogram.com - create engaging social video with audio visualizations
  • JavaScript
    • Wavesurfer - a customizable audio waveform visualization built on Web Audio API; supporting spectrograms and other features

Community

Social media, discussion groups, events, and audio experiences you can seek out to increase your appreciation for awesome audio.

Awesome Lists

Collections

Conferences and Events

  • Audio Developers Conference - ADC is an annual event celebrating audio development technologies from music applications and game audio to audio processing andd embedded systems. ADC's mission is to help attendees acquire and develop new skills.
  • Demuxed - video-tech community event for technical topics related to video technology
  • KrankyGeek - annual event for WebRTC technology used for real time communications in a web browser

Experiences and Places

Groups

  • Audio Engineering Society - AES is an international organization that unites audio engineers, creative artists, scientists, and students promoting advances in audio and disseminating new knowledge and research with many local communities
  • International Society for Music Information Retrieval - ISMIR is a non-profit seeking to advance access, organization, and understanding of music information
  • Women's Audio Mission - WAM is a non-profit built and run by women to inspire and educate on the subject of audio in music and media

Podcasts

  • Audio Programmer Podcast - all things audio programming, including DSP (digital signal processing), coding, and audio tech.
  • Game Audio Podcast - aims to provide sound designers, composers, and everyone else interested in game audio a biweekly show
  • Song Exploder - music podcast where musicians take apart their songs and tell the story of how they were made
  • Twenty Thousand Hertz - the stories behind the world's most recognizable and interesting sounds

Social Forums

Video Channels

  • The Audio Programmer - SOUL tutorials, JUCE tutorials, teaching audio programming for beginners, etc.

Education

Resources such as books, courses, tutorials, journals, and blogs that are worth checking out to become more awesome with audio yourself.

See something missing, view the contribute section and let us know.

Books

  • Corey, Jason. (2016). Audio Production and Critical Listening: Technical Ear Training. Focal Press.
  • Dittmar, Tim. (2017). Audio Engineering 101: A Beginner's Guide to Music Production. Routledge.
  • Watkinson, John. (2002). Introduction to Digital Audio. Focal Press.

Courses

  • Audio Signal Processing - audio signal methodologies for music. Topics include: spectral processing techniques, transformation of sounds, analyze, synthesize, transform audio signals, python (Coursera)
  • Digital Media Foundations - Audio Made Simple. Topics include creating space with channels, measuring power of sound, capturing tone as frequency, phase. (LinkedIn Learning)
  • Fundamentals of Audio and Music Engineering - basic concepts of acoustics and electronics and how they can be applied to understanding musical sound and make music with electronic instruments. Topics include: sound waves, musical sound, basic electronics, and applications of these basic principles in amplifiers and speaker design (Coursera)
  • Communication Acoustics - This is a comprehensive course starting from the basics: what is sound, how it propagates and prepares us gradually to learn about the human auditory system, psychoacoustics(connecting the physical world to how we perceive sounds), speech acoustics(human speech production system) and finally electroacoustics(the world of loud speakers and microphones)(Edx)

Journals

  • Computer Music Journal - a peer-reviewed academic journal that covers a wide range of topics related to digital audio signal processing and electroacoustic music
  • IEEE/ACM Transactions on Audio, Speech, and Language Processing - dedicated to innovative theory and methods for processing signals representing audio, speech and language, and their applications. This includes analysis, synthesis, enhancement, transformation, classification and interpretation of such signals as well as the design, development, and evaluation of associated signal processing systems
  • Journal of the Acoustical Society of America - a monthly peer-reviewed scientific journal covering aspects of acoustics
  • Journal of the Audio Engineering Society - peer-reviewed journal devoted to audio technology
  • SMPTE Motion Imaging Journal - the key publication of the Society, providing peer-reviewed articles on topics in 3D, imaging processing, display technologies, audio, compression, digitaal cinema, and much more

Tutorials and Blogs


Hardware

Resources for hardware considerations for recording and listening to awesome audio.

View the contribute section and let us know what you think would be great resources for this section.


Industry

Domains and use-case specific resources such as broadcasting, communications, gaming, music, and the web where awesome audio is applied.

Standards

  • AES Standards - 2-channel digital audio, MADI, analog XLR pin-out, networked audio, etc.
  • ATSC A/85 - Advanced Television Systems Committee (ATSC) Techniques for establishing and maintaining audio loudness for digital television
  • EBU R.128 - European Broadcasting Union (EBU) loudness normalisation and permitted maximum level of audio signals
  • ITU-R BS.1770 - International Telecommunication Union (ITU) algorithms to measure audio programme loudness and true-peak audio level
  • MPEG Advanced Audio Coding - aac wideband perceptual audio coding algorithm that provides state of the art levels of compression for audio signals
  • SMPTE Audio Standards - collection of standards related to audio

Research

Areas of experimentation and exploration for awesome algorithms.

Data

  • AudioSet - large-scale dataset of manually annotated audio events with sound ontology
  • CSTR VCTK - speech data uttered by 110 English speakers with various accents reading about 400 sentences from newspapers
  • LibriSpeech - text-to-speech training corpus with 1000 hours of English speech of read audiobooks from the LibriVox project
  • Mozilla Common Voice - open-source, multi-language dataset of voices to train speech-enabled applications with 68 validated hours and 18 languages
  • Netflix Open Content - test titles with documentary, live action, and animation films
  • Spoken Wikipedia Corpora - SWC is comprised of spoken articles in multiple languages

Contribute

Contributions welcome! Read the contribution guidelines first.