sfxr.lua ======== A port of the sfxr sound effect synthesizer to pure Lua, designed to be used together with the *awesome* [LÖVE](https://love2d.org) game framework. Demo ---- To run the demo application you first need to download [LoveFrames](https://github.com/NikolaiResokav/LoveFrames) as a submodule: ``` git submodule update --init love demo ``` Note: Due to LoveFrames only supporting LÖVE 0.9.x, this dependency is inherited by the demo. A move to a new GUI framework is pending. Example usage ------------- The following code examples demonstrate how to play a randomly generated sound: With [LÖVE](http://love2d.org): ```lua local sfxr = require("sfxr") function love.load() local sound = sfxr.newSound() sound:randomize() local sounddata = sound:generateSoundData() local source = love.audio.newSource(sounddata) source:play() end ``` With [lao](https://github.com/TheLinx/lao): ```lua require("ao") local sfxr = require("sfxr") local driverId = ao.defaultDriverId() local device = ao.openLive(driverId, {bits = 16, rate = 44100, channels = 1}) local sound = sfxr.newSound() sound:randomize() local buffer = sound:generateString() device:play(buffer, #buffer) ``` Documentation ------------- [**The latest documentation build is available here**](http://nucular.github.io/sfxrlua/) This project uses [LDoc](http://stevedonovan.github.io/ldoc/) for autogenerated API documentation. (Note to self: `ldoc . && git subtree push --prefix doc origin gh-pages`) The old documentation is still available on the [Project Wiki](https://github.com/nucular/sfxrlua/wiki).