• This repository has been archived on 09/Jun/2019
  • Stars
    star
    962
  • Rank 45,904 (Top 1.0 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 11 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

JavaScript library for objective sound programming

This repository is no longer maintained.

timbre.js

JavaScript library for objective sound programming

Timbre.js provides a functional processing and synthesizing audio in your web apps with modern JavaScript's way like jQuery or node.js. It has many T-Object (Timbre-Object) that connected together to define the graph-based routing for overall audio rendering. It is a goal of this project to approach the next generation audio processing for web.

Project Page

English | ๆ—ฅๆœฌ่ชž

Examples

BeatBox | Chords Work | Gymnopedie | Khoomii | Reich

Supports

Timbre.js runs on modern browsers for Windows/Mac/Linux/iOS/Android or node.js.

Chrome 14.0- Safari 6.0- Firefox 4.0- Opera node.js 0.8-

Installation

browser

Include the timbre.js file. It will install itself as timbre, T under the global namespace.

<script src="timbre.js"></script>
<script>
  T("sin", {freq:880, mul:0.5}).play();
</script>

Flash fallback (for Opera and IE10)

Download an additional file (Right-click and use "Save As")

timbre.swf must be set in the same folder as timbre.js.

node.js

Install via npm: npm install timbre, you can require it as a standard node module.

var T = require("timbre");

T("sin", {freq:880, mul:0.5}).play();

License

MIT

ChangeLog

14.11.25 (356.27KB)

  • Merge: #33 update of the note duration formula to handle more 3 dots
  • Merge: #36 use latest Web Audio API interfaces

14.10.12 (356.28KB)

  • Fixed: Decoding wav file
  • Fixed: Envelope release

14.08.07 (356.19KB)

  • Fixed: Export for CommonJS env #19

14.06.23 (356.14KB)

  • Fixed: #23 fix to work on an iOS device
  • Fixed: fix to work on node.js

14.05.28 (355.91KB)

14.05.15 (355.95KB)

  • Fixed: #15
  • Excluded support of Audio Data API. use Web Audio API instead.

13.08.03 (361.93KB)

13.05.03 (361.93KB)

  • Bugfix: wav decoder. See #3

13.05.01 (361.75KB)

  • Added: T("task")
  • Added: TimbreObject.to()
  • Added: TimbreObject.splice()
  • Added: TimbreObject.postMessage()
  • Updated: T("mml") support multi tracks, command token
  • Updated: TimbreObject support buddies interface
  • Bugfix: T("mouse.x"), T("mouse.y")

13.04.19 (346.63KB)

  • Bugfix: end process of T("params")

13.04.17 (344.94KB)

  • Updated: readable stream api (node.js)

13.04.06 (344.94KB)

  • Fixed: T("pluck) buffer size

13.04.01 (344.95KB)

  • Bugfix: T("buffer").slice()
  • Bugfix: fn.pointer() for Opera
  • Fixed: Flash fallback

13.03.10 (345.41KB)

  • Fixed: Checking Float64Array support. See #2
  • Changed: lame support (default -> optional)
  • updated dependencies in package.json

13.03.01 (355.72KB)

  • Added: T("script")
  • Added: T("waveshaper")
  • Added: T("lag")
  • Added: T("mono")
  • Added: T("delay").cross
  • Added: T("audio.jsonp") to extras
  • Moved: T("keyboard") to extras
  • Moved: T("mouse") to extras
  • Moved: T("cosc) to extras
  • Renamed: T("mml"): mml event listener -> data event listener
  • Fixed: Flash fallback support for Opera, IE9 (changing the installation)
  • make it easier to make a stereo object

13.02.07 (334.61KB)

  • Added T.setup({f64:true}) to use Float64Array instead of Float32Array
  • Added Android/Firefox support
  • Added Flash fallback support for Opera, IE9
  • performance improvements

13.02.06 (337.50KB)

  • workadound for iOS6.1 bug (failure to start processing in a callback of XMLHttpRequest)

13.02.02 (335.97KB)

  • Fixed: decoder for webkit

13.02.01 (335.96KB)

  • Added: T("reverb")
  • Added: T("chorus")
  • Added: T("eq")
  • Added: T("mediastream")
  • Added: T("-"), T("/"), T("min"), T("max")
  • Added: T("WebAudioAPI:recv"), T("WebAudioAPI:send") at extras
  • Added: T("MoogFF") at extras
  • Renamed: T("phaseshift") to T("phaser")
  • Renamed: event names scope, fft to data (T("scope"), T("spectrum"))
  • Fixed: T("osc").phase, T("osc").fb
  • Fixed: T("biquad").plot()
  • Fixed: T("mml").isEnded

13.01.20a (294.82KB)

  • Renamed: T("comp").postGain to T("comp").gain

13.01.20 (294.83KB)

  • Added: T("adshr"), T("ahdsfr")
  • Added: T("comp")
  • Added: T("phaseshift")

13.01.18a (268.71KB)

More Repositories

1

timbre

345
star
2

pico.js

Audio processor for the cross-platform
JavaScript
312
star
3

web-audio-engine

Pure JS implementation of the Web Audio API
JavaScript
242
star
4

CoffeeCollider

Sound Processing Language for Web Audio
JavaScript
216
star
5

gretro

๐ŸŽจ JavaScript graphic library for retro CG
JavaScript
125
star
6

web-audio-scheduler

Event Scheduler for Web Audio API
JavaScript
90
star
7

ciseaux

JavaScript utility to chop an audio buffer
JavaScript
81
star
8

old-neume.js

Neume.js is a Web Audio API library for developing browser music.
JavaScript
79
star
9

subcollider

๐Ÿ‘ท
JavaScript
71
star
10

web-audio-test-api

Web Audio API for CI
JavaScript
67
star
11

inline-worker

JavaScript utility to create a WebWorker from a function
JavaScript
65
star
12

wave-tables

JavaScript
54
star
13

mml-emitter

MML(Music Macro Language) event emitter for Web Audio API.
JavaScript
52
star
14

virtual-midi-keyboard

Electron-based Virtual MIDI Keyboard
JavaScript
52
star
15

web-audio-lesson

JavaScript
49
star
16

virtual-midi-matrix-pad

Electron-based Virtual MIDI Controller that like Novation Launchpad
JavaScript
40
star
17

wav-decoder

promise-based wav decoder
JavaScript
38
star
18

wav-encoder

promise-based wav encoder
JavaScript
36
star
19

adsr-envelope

ADSREnvelope for Web Audio API
JavaScript
36
star
20

web-audio-api-shim

shim for legacy Web Audio API
JavaScript
33
star
21

audio-worker-shim

AudioWorker compatibility shim for legacy Web Audio API
JavaScript
26
star
22

seurat

๐ŸŽจ JavaScript utility to generate a braille text from an image
JavaScript
25
star
23

fm-synth

simple frequency modulation synthesizer
JavaScript
22
star
24

scsynth

JavaScript
20
star
25

mohayonao.herokuapp.com

ใ‚ฆใ‚งใƒ–ๆฅฝๅ™จใจใ‹ใฎใ‚ณใƒผใƒ‰
JavaScript
18
star
26

audio-worker-node

AudioWorkerNode for legacy Web Audio API
JavaScript
18
star
27

pluck-string-node

Pluck String AudioNode for Web Audio API
JavaScript
17
star
28

osc-msg

OSC message decoder/encoder with fault tolerant
JavaScript
17
star
29

launch-control

JavaScript utility for novation LAUNCH CONTROL
JavaScript
17
star
30

stereo-panner-node

StereoPannerNode for legacy Web Audio API
JavaScript
17
star
31

osc-hub

broadcast osc messages over the network
JavaScript
17
star
32

biquad-coeffs

collection of formulae for biquad filter coefficients
JavaScript
16
star
33

MMLEmitter

this package is renamed to mml-emitter
16
star
34

worker-timer

Timer API that works stable in background tabs
JavaScript
14
star
35

wae-cli

web-audio-engine command line
JavaScript
14
star
36

es6-project-boilerplate

JavaScript
13
star
37

the.mohayonao.com

JavaScript
13
star
38

mml-iterator

MML(Music Macro Language) Iterator
JavaScript
13
star
39

midi-device

isomorphic abstract class for MIDI device
JavaScript
12
star
40

promise-decode-audio-data

Promise-based decodeAudioData for legacy Web Audio API
HTML
12
star
41

xs-808

JavaScript
11
star
42

web-audio-api-spec-checker

HTML
11
star
43

waa-lab

HTML
11
star
44

midi-keyboard

JavaScript utility for MIDI keyboard
JavaScript
10
star
45

pseudo-audio-param

Simulate scheduled AudioParam values
JavaScript
10
star
46

web-audio-utils

Utility functions for Web Audio API
JavaScript
10
star
47

stereo-analyser-node

JavaScript
10
star
48

get-float-time-domain-data

getFloatTimeDomainData for legacy Web Audio API
JavaScript
10
star
49

synthdef-json-decoder

Decode SuperCollider Synth Definition File Format and convert to JSON
JavaScript
9
star
50

xs-seq

minimum sequencer with React/Redux
JavaScript
9
star
51

virtual-midi-knob-knob-pad

Electron-based Virtual MIDI Controller that like Novation Launch Control
JavaScript
9
star
52

sushi-repl

Yet Another JavaScript REPL
JavaScript
9
star
53

MutekiTimer

A stable timer that run in the background
CoffeeScript
9
star
54

web-midi-test-api

Web MIDI API for CI
JavaScript
8
star
55

CnvUI

A tiny UI base on HTMLCanvasElement
JavaScript
8
star
56

react-code-reading

8
star
57

perlin-noise

simple 1d perlin noise generator
JavaScript
8
star
58

SCScript

JavaScript port of SuperCollider
JavaScript
8
star
59

script-synthesizer

Script Syntesizer with timbre.js and WebMidiLink
JavaScript
8
star
60

prominence

Call a callback-based function as ES6 Promise
JavaScript
8
star
61

cubic-sequencer

JavaScript
7
star
62

duolet

2 layered architecture for sound programming in JavaScript
JavaScript
7
star
63

web-music-hackathon-04

project for web music hackathon 04
JavaScript
7
star
64

seq-emitter

EventEmitter for Web Audio API sequencer
JavaScript
6
star
65

start-web-audio

JavaScript
6
star
66

mimi-grep

auralization grep command
JavaScript
6
star
67

ksdn808

้–ข่ฅฟ้›ปๆฐ—ไฟๅฎ‰ๅ”ไผšใƒชใ‚บใƒ ใƒžใ‚ทใƒผใƒณ
JavaScript
6
star
68

white-noise-node

WhiteNoiseNode for Web Audio API
HTML
6
star
69

launch-pad-color

color code of Novation LaunchPad
JavaScript
6
star
70

libogg.js

JavaScript port to the libogg 1.3.0
JavaScript
6
star
71

triolet

3 layered architecture for sound programming in JavaScript
JavaScript
5
star
72

tickable-timer

Manual ticking timer API
JavaScript
5
star
73

fetch-as-audio-buffer

util function to fetch audio buffer
JavaScript
5
star
74

is-zero

is ยฑ0 ?
JavaScript
5
star
75

brown-noise-node

BrownNoiseNode for Web Audio API
HTML
5
star
76

json-touch-patch

Immutable JSON Patch implementation based on RFC 6902
JavaScript
5
star
77

worker-builder

WorkerBuilder builds a WebWorker from a funtion
JavaScript
5
star
78

web-audio-sound-examples

JavaScript
4
star
79

envelope

simple envelope
JavaScript
4
star
80

web-music-hack0913

JavaScript
4
star
81

drunk-timer

Staggering timer API
JavaScript
4
star
82

pico.driver

audio driver for sound programming in JavaScript
JavaScript
4
star
83

biquad-filter-kernel

collection of biquad filter kernel
JavaScript
4
star
84

xs-key

minimum keyboard with React/Redux
JavaScript
4
star
85

ouroboros-worker

WebWorker to share the code of the main thread
JavaScript
4
star
86

pink-noise-node

PinkNoiseNode for Web Audio API
JavaScript
4
star
87

web-audio-mock-api

mock API which implements the Web Audio API's interfaces only
JavaScript
4
star
88

GLISTAGRAM

glitched instagram viewer
JavaScript
3
star
89

ableton-live-utils

JavaScript utility for ableton live
JavaScript
3
star
90

thisis

็ฟ’ไฝœ
JavaScript
3
star
91

web-audio-test-api-2

Web Audio API for CI
JavaScript
3
star
92

request-midi-access

requestMIDIAccess for all
JavaScript
3
star
93

dorilasound

JavaScript
3
star
94

chai-deep-closeto

deep.closeTo for chai
JavaScript
3
star
95

gretro-text

JavaScript
3
star
96

virtual-midi-device

๐Ÿ‘ท Utils for Virtual MIDI Device
JavaScript
3
star
97

audiodata

definition of audio data interface
JavaScript
3
star
98

constant-source-node

ConstantSourceNode for legacy Web Audio API
JavaScript
3
star
99

power-audio-node

enhance the connecting interface of AudioNode for custom AudioNode
JavaScript
3
star
100

freqr

Compute the frequency response of a digital filter.
JavaScript
3
star