Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

JavaScript Library for Objective Sound Programming

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 build
Octocat-spinner-32 documents
Octocat-spinner-32 draft
Octocat-spinner-32 examples
Octocat-spinner-32 src
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 Makefile
Octocat-spinner-32 README.md
Octocat-spinner-32 timbre.js
Octocat-spinner-32 timbre.min.js
README.md

Timbre.js

JavaScript Library for Objective Sound Programming

Project PageDocumentationExample01Example02Example03

System Requirements

  • Chrome 14.0- (Web Audio API)
  • Safari 6.0- (Web Audio API)
  • Firefox 4.0- (Audio Data API)

Usage

Download the minified library and include it in your html.

<script src="timbre.min.js"></script>

Timbre.js is so easy.

// generate a 523Hz(C4) sine
T("sin", 523.25).play();

It's useful and powerful.

// generate a chord C-major 
T("+", T("sin", 523.35),
       T("sin", 659.25),
       T("sin", 783.99)).set({mul: 0.25}).play();

Looks a bit like CUI Max/MSP??? SuperCollider??

// tremolo & decay  
T("*", T("+", T("sin", 523.35),
              T("sin", 659.25),
              T("sin", 783.99)).set({mul: 0.25}),
       T("+tri", 2),
       T("adsr", 100, 2500).bang()).play();

License

MIT

ChangeLog

2012 09 21 - v12.09.21 (342.43 KB, minified:122.46 KB)

  • Fix: for iOS6

2012 07 24 - v12.07.23 (342.42 KB, minified:122.46 KB)

  • Fix T("adsr", ..., onended)
  • Add T("mml") synthpoly property

2012 07 23 - v12.07.23 (341.36 KB, minified:122.06 KB)

  • Fix timing control of audioprocessing for Firefox/Linux

2012 07 22 - v12.07.22 (340.72 KB, minified:121.92 KB)

  • Fix T("mml") segno cannot jump correct
  • Improve T("mml") selected property

2012 07 18 - v12.07.18 (334.32 KB, minified:120.13 KB)

  • Note: Change the version format (Ubuntu style version numbering)
  • Add T("mml") mml scheduler
  • Add T("fnoise") frequency noise
  • Add T("aux")
  • Add T("efx.comp") compressor
  • Add T("efx.reverb) reverb
  • Improved T("noise"), T("pink") add mul argument for constructor
  • Improved T("adsr"), T("ease"), T("glide) add ar-mode
  • Improved T("osc") add wave shaping

2012 07 08 - v0.3.7 (294.64 KB, minified:110.66 KB)

  • Add T("-") subtract signals
  • Add T("/") divide signals
  • Add T("%") modulo signals
  • Add T("math") math functions
  • Improved T("audio").src accept a [File Object]

2012 06 21 - v0.3.6 (272.25 KB, minified:103.22 KB)

  • Added T("pink") pink noise generator
  • Added T("pong) signal folding
  • Added T("s&h") sample & hold
  • Improved T("adsr"), T("perc") arguments for constructor

2012 06 20 - v0.3.5 (257.92 KB, minified:98.90 KB)

  • Improved T("audio") by selecting audio sources(*.ogg, *.mp3, *.wav)

2012 06 20 - v0.3.4 (257.07 KB, minified:98.58 KB)

  • Safari 6

2012 06 19 - v0.3.3 (256.87 KB, minified:98.52 KB)

  • Added T("clip"), T("pwm")
  • Improved T("adsr), T("perc") by adding envelope curves.
  • Removed timbre.fn.doEvent that is an inline-expands function

2012 06 17 - v0.3.2 (292.79 KB, minified:107.25 KB)

  • Update compiler.coffee for Inline-expands functions, improve performance??

2012 06 14 - v0.3.1

  • Improved T("schedule")

2012 06 12 - v0.3.0 (241.66 KB, minified:94.13 KB)

  • Added T("schedule"), T("scale")

2012 06 07 - v0.2.1

  • Added timbre.setup() that the initial configuration

2012 06 04 - v0.2.0 (217.75 KB, minified:84.00 KB)

  • Added T("phasor"), T("oscx")
  • Added T().isUndefined property

2012 06 02 - v0.1.0 (206.26 KB, minified:79.67 KB)

  • Initial release of Timbre.js
Something went wrong with that request. Please try again.