sndkit

A read-only mirror of https://git.kyotam.com/sigrid. It updates only from there.

Sigrid Solveig HaflínudóttirPlan 9 port (only the executable for now)41ce78a5 years agoHistory
NameLast commit messageLast commit date
_figweewiki: initial implementation5 years ago
_imginitial export working6 years ago
docadded initial words on normalized range5 years ago
dspPlan 9 port (only the executable for now)5 years ago
examplescreated siren C example5 years ago
lilPlan 9 port (only the executable for now)5 years ago
nodesPlan 9 port (only the executable for now)5 years ago
patchwerkPlan 9 port (only the executable for now)5 years ago
worglePlan 9 port (only the executable for now)5 years ago
.gitignoreinitial export working6 years ago
algos.orglinked envelope page to weewiki5 years ago
COPYINGupdated licensing information6 years ago
core.orgPlan 9 port (only the executable for now)5 years ago
curated.orgadded curated page6 years ago
fig.janetbezier: initial implementation6 years ago
index.orgremoved curated page mention from index for now6 years ago
keys2dbupdate keys2db to use tabs instead of semicolons5 years ago
keywords.janetadded keywords page6 years ago
keywords.orgadded keywords page6 years ago
LICENSE.CC0updated licensing information6 years ago
LICENSE.MITupdated licensing information6 years ago
main.cmissing file5 years ago
MakefileMakefile: add -lm5 years ago
mkdb.janetlinked envelope page to weewiki5 years ago
mkfilePlan 9 port (only the executable for now)5 years ago
README.mdfor5 years ago
UNLICENSEupdated licensing information6 years ago
update_db.shinitial weewiki structure6 years ago
weewiki.janetbezier: initial implementation6 years ago
wiki_index.janetadded wiki index6 years ago
wiki_index.orgadded wiki index6 years ago
README.md

sndkit

sndkit is a sonic toolkit for everyone. It is a collection of DSP algorithms written in a literate style placed in the public domain. When tangled, the algorithms produce C89 code. When woven, they turn into a self-contained wiki, which can be found here and here.

I don't see any code here?

The C code is actually contained inside of the org files in the repository. This is how the literate programming style works! It exists in this intermediate markup format, where it can either be tangled into code, or woven into HTML.

Generating Tangled Code

Code in sndkit is tangled using worgle. For convenience, a local copy of worgle is provided so you don't need install this.

To tangle all the code, run make tangle. This will compile worgle, then run worgle on all the org documents.

Typically, each algorithm will generate one C file and one header file, such as "osc.c" and "osc.h". These are designed self-contained. These shouldn't need to rely on any other files or external libraries (well, other than the standard C library), unless very explicitely stated.

Example Usage

Many sndkit algorithms already exist pre-tangled in Soundpipe. Have a look at that for some real-world usage.

It is highly encouraged to read the woven output, as they will document proper usage.

Weaving the Wiki

Wiki Weaving is done via weewiki, so that needs to be installed.

The weewiki database can be generated with make db.

From there, it can be locally run with weewiki server, where it can be browsed from localhost:8080.

To export to HTML, run make export.

Licensing

The text in this wiki is licensed under the Creative Commons Zero license, otherwise known as "CC0".

The tangled output is dual-licensed under MIT or the Unlicense.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t