0.0.3 • Published 8 months ago

bobbi-lisp-audio v0.0.3

Weekly downloads
-
License
-
Repository
-
Last release
8 months ago

bobbi-lisp-audio

Audio engine for bobbi-lisp based on the Web Audio API

API

playSong -> (notes, tempo)

notes

notes is a vector of maps which must have the following keys:

instrument: The audio sample file to be played.

pitch: A midi number, an integer representing the frequency. Middle C is 60.

time: The beat number at which the note is to occur.

tempo

Tempo is an integer representing the number of beats per minute.

Example

This would play a major scale:

[{:instrument "1.mp3" :pitch 60 :time 0}
 {:instrument "1.mp3" :pitch 62 :time 1}
 {:instrument "1.mp3" :pitch 64 :time 2}
 {:instrument "1.mp3" :pitch 65 :time 3}
 {:instrument "1.mp3" :pitch 67 :time 4}
 {:instrument "1.mp3" :pitch 69 :time 5}
 {:instrument "1.mp3" :pitch 71 :time 6}
 {:instrument "1.mp3" :pitch 72 :time 7}]

Of course it would be very tedious to write music that way. Fortunately we have all the power of function composition to generate them. See demo.clj for a complete arrangement, and SimLispy for an example of how to use it in your project. Visit https://www.youtube.com/watch?v=giPlacLrC5g to see and hear it if you are so able.

0.0.3

8 months ago

0.0.2

8 months ago

0.0.1

8 months ago