Code Monkey home page Code Monkey logo

blip-buffer's Introduction

Blip_Buffer 0.4.0: Band-Limited Sound Buffer
--------------------------------------------
Blip_Buffer provides waveform synthesis and sample buffering with a high-level
interface that allows easy generation of square waves and similar with high
sound quality. Waveforms are specified by amplitude changes at times in terms
of the source clock rate, then efficiently resampled to the output sample rate
with adjustable low-pass and high-pass filtering. It is well-suited for
emulation of the sound chips used video game consoles before the mid-1990s.

Author : Shay Green <hotpop.com@blargg>
Website: http://www.slack.net/~ant/
Forum  : http://groups.google.com/group/blargg-sound-libs
License: GNU Lesser General Public License (LGPL)


Getting Started
---------------
A series of tutorial programs and demos are included. To use a demo, compile
and run a program consisting of the demo's .cpp file, the source files in
player/ or sdl_player/ (as described below), and Blip_Buffer.cpp. The four
numbered demos should be gone through first, since they show the basics.

It is recommended that you use the SDL multimedia library when building the
demos, which enhances them with live display, output, and interactivity. It is
available at http://www.libsdl.org/ and works on most platforms. If you have
SDL, compile the demos with the source files from the sdl_player/ directory. If
you don't have SDL or want the demos to write their output to a wave sound
file, use the source files from the player/ directory

See notes.txt for more information, and Blip_Buffer.h and Blip_Synth.h for
reference. Post to the discussion forum for assistance.


Files
-----
notes.txt               General notes about the library
changes.txt             Changes made since previous releases
LGPL.txt                GNU Lesser General Public License

Blip_Buffer.h           Blip_Buffer and Blip_Synth
Blip_Buffer.cpp

demo/                   Tutorials and demos
  1.waveform.cpp        How to generate a simple waveform
  2.square.cpp          How to make a square wave
  3.clock_rate.cpp      How the clock rate and sample rate work
  4.continuous.cpp      How to generate a continuous square wave
  multiple_waves.cpp    Multiple waves can be added into a buffer
  stereo.cpp            How to generate stereo sound using two Blip_Buffers
  treble_bass.cpp       How treble and bass affect waveform
  buffering.cpp         Three ways of buffering samples in a Blip_Buffer
  external_mixing.cpp   How to mix an external sample buffer into a Blip_Buffer
  delta_synth.cpp       How to use low-level delta mode of Blip_Synth
  sample_formats.cpp    Reading samples in floating-point and unsigned formats
  sdl_audio.cpp         Complete example for programs using SDL sound
  
player/                 Use with demos to write output to wave sound file
  player.h              Demo player and utilities
  player.cpp
  Wave_Writer.h         Wave sound file writer
  Wave_Writer.cpp

sdl_player/             Use with demos to play and show output interactively
  player.cpp            Demo player using SDL
  Audio_Scope.h         Audio scope window
  Audio_Scope.cpp
  Sync_Audio.h          Simple synchronous audio interface for SDL sound
  Sync_Audio.cpp

blip-buffer's People

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.