{"id":13734245,"url":"https://github.com/not-fl3/quad-snd","last_synced_at":"2025-04-09T18:53:30.342Z","repository":{"id":38317320,"uuid":"236412785","full_name":"not-fl3/quad-snd","owner":"not-fl3","description":"Cross-platform audio for Rust","archived":false,"fork":false,"pushed_at":"2025-04-05T20:23:18.000Z","size":18083,"stargazers_count":116,"open_issues_count":11,"forks_count":32,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-05T21:24:46.825Z","etag":null,"topics":["audio","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/not-fl3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"patreon":"fedorgames","github":"not-fl3"}},"created_at":"2020-01-27T03:21:48.000Z","updated_at":"2025-04-05T20:23:22.000Z","dependencies_parsed_at":"2025-04-05T21:21:09.390Z","dependency_job_id":null,"html_url":"https://github.com/not-fl3/quad-snd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/not-fl3%2Fquad-snd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/not-fl3%2Fquad-snd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/not-fl3%2Fquad-snd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/not-fl3%2Fquad-snd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/not-fl3","download_url":"https://codeload.github.com/not-fl3/quad-snd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248093543,"owners_count":21046700,"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","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":["audio","rust"],"created_at":"2024-08-03T03:00:53.819Z","updated_at":"2025-04-09T18:53:30.310Z","avatar_url":"https://github.com/not-fl3.png","language":"Rust","funding_links":["https://patreon.com/fedorgames","https://github.com/sponsors/not-fl3"],"categories":["Libraries"],"sub_categories":["Libraries: Plugins"],"readme":"# quad-snd\n\nHigh-level, light-weight, and opinionated audio library.\n\n- [x] Web: WebAudio  \n- [x] Android: OpenSLES  \n- [x] Linux: Alsa  \n- [x] macOS: CoreAudio  \n- [x] Windows: Wasapi\n- [X] iOS: CoreAudio\n\nBeing high-level enough allows `quad-snd` to use very different approaches to each backend. For example, for WebAudio all the playback and mixing is based on Audio nodes, while in OpenSLES `quad-snd` itself is responsible for mixing.\n\n`quad-snd` lacks lots of features and the best way to use the library - either fork a repo and fine-tune it for your needs or just copy-paste some code from certain audio backends.\n\nBiggest difference from any other sound library in rust:  \n`quad-snd` is small. Each backend implementation is ~300LoC code and is self sufficient - you can copy-paste the whole thing and run it, (almost)no common code, dependencies or anything like that would be required.\n\nThe only dependency is `audrey`. `audrey` helps backends that do not have file parsing functionality (all the platforms but web) to get bytes out of encoded .wav/.ogg. When web is not required - getting rid of `audrey` and use anything else(or nothing at all) for audio decoding is a super easy fix.\n\n## Attribution\n\nWhile building `quad-snd` I looked into the implementation of the following libraries:\n\nhttps://github.com/floooh/sokol/blob/master/sokol_audio.h  \nhttps://github.com/norse-rs/audir  \nhttps://github.com/unrust/uni-snd  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnot-fl3%2Fquad-snd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnot-fl3%2Fquad-snd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnot-fl3%2Fquad-snd/lists"}