A port of the sfxr sound effect synthesizer to Lua
Go to file
2016-03-05 20:27:09 +01:00
demo LoveFrames doesn't support 0.10.0 2016-03-02 00:37:06 +01:00
doc More documentation stuff 2016-03-05 20:27:09 +01:00
rockspec Added RockSpec; Moved demo application; README fixes 2016-03-01 20:24:35 +01:00
.gitignore Removed docs from .gitignore 2016-03-02 00:40:31 +01:00
.gitmodules Added RockSpec; Moved demo application; README fixes 2016-03-01 20:24:35 +01:00
config.ld Documented everything using LDoc 2016-03-02 00:37:30 +01:00
LICENSE Initial commit 2014-04-11 10:31:10 -07:00
README.md Improved documentation some more 2016-03-05 20:17:58 +01:00
sfxr.lua More documentation stuff 2016-03-05 20:27:09 +01:00

sfxr.lua

A port of the sfxr sound effect synthesizer to pure Lua, designed to be used together with the awesome LÖVE game framework.

Demo

To run the demo application you first need to download 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

These examples should play a randomly generated sound.

With LÖVE:

local sfxr = require("sfxr")

function love.load()
    local sound = sfxr.newSound()
    sound:randomize()
    sound:play()
end

With lao:

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

This project uses 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.