{"id":24409376,"url":"https://github.com/paulbatchelor/sndkit","last_synced_at":"2025-10-10T04:44:40.472Z","repository":{"id":49788994,"uuid":"316636940","full_name":"PaulBatchelor/sndkit","owner":"PaulBatchelor","description":"A collection of highly portable audio DSP algorithms, written in ANSI C using literate programming.","archived":false,"fork":false,"pushed_at":"2025-01-23T01:08:46.000Z","size":744,"stargazers_count":134,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-06T02:41:28.839Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://paulbatchelor.github.io/sndkit","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PaulBatchelor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-28T01:55:03.000Z","updated_at":"2025-08-30T17:51:43.000Z","dependencies_parsed_at":"2025-02-12T15:12:37.531Z","dependency_job_id":"54bfafb8-25ad-40cf-8b00-185d9134c934","html_url":"https://github.com/PaulBatchelor/sndkit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PaulBatchelor/sndkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulBatchelor%2Fsndkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulBatchelor%2Fsndkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulBatchelor%2Fsndkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulBatchelor%2Fsndkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PaulBatchelor","download_url":"https://codeload.github.com/PaulBatchelor/sndkit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaulBatchelor%2Fsndkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002668,"owners_count":26083442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-20T05:57:48.894Z","updated_at":"2025-10-10T04:44:40.441Z","avatar_url":"https://github.com/PaulBatchelor.png","language":"C","readme":"# sndkit\n\nsndkit is a sonic toolkit for everyone. It is a collection\nof DSP algorithms written in a literate style placed in the\npublic domain. When tangled, the algorithms produce C89\ncode. When woven, they turn into a self-contained wiki,\nwhich can be found [here](https://pbat.ch/sndkit) and\n[here](paulbatchelor.github.io/sndkit).\n\n## I don't see any code here?\n\nThe C code is actually contained inside of the org files in\nthe repository. This is how the literate programming style\nworks! It exists in this intermediate markup format, where\nit can either be *tangled* into code, or *woven* into HTML.\n\nCode in sndkit is tangled using [worgle](https://pbat.ch/proj/worgle).\nFor convenience, a local copy of worgle is provided so you\ndon't need install this.\n\nTypically, each algorithm will generate one C file and one\nheader file, such as \"osc.c\" and \"osc.h\". These are designed\nself-contained. These shouldn't need to rely on any other\nfiles or external libraries (well, other than the standard\nC library), unless very explicitely stated.\n\nTo tangle all the code, run `make tangle`. This will compile\nworgle, then run worgle on all the org documents.\n\n## Building and Installing\n\nsndkit for the most part aims to be fairly self-contained.\nA standard C compiler with Make should be all that is\nneeded.\n\nRunning \"make\" without any arguments will build\nlibsndkit.a and the sndkit executable, which is an\ninterpreter for LIL, with added sndkit functions.\n\nTo install, run \"sudo make install\".\n\n## Example Usage\n\nMany sndkit algorithms already exist pre-tangled in\n[Soundpipe](https://pbat.ch/proj/soundpipe.html). Have a\nlook at that for some real-world usage.\n\nIt is highly encouraged to read the\n[woven output](https://pbat.ch/sndkit/algos), as they will\ndocument proper usage.\n\n## Weaving the Wiki\n\nWiki Weaving is done via [weewiki](https://pbat.ch/wiki/weewiki),\nso that needs to be installed.\n\nThe weewiki database can be generated with `make db`.\n\nFrom there, it can be locally run with `weewiki server`,\nwhere it can be browsed from `localhost:8080`.\n\nTo export to HTML, run `make export`.\n\n## Licensing\n\nThe text in this wiki is licensed under the\n[Creative Commons Zero](https://creativecommons.org/share-your-work/public-domain/cc0/) license, otherwise\nknown as \"CC0\".\n\nThe tangled output is dual-licensed under MIT or\nthe [Unlicense](https://unlicense.org/).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulbatchelor%2Fsndkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulbatchelor%2Fsndkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulbatchelor%2Fsndkit/lists"}