{"id":21305270,"url":"https://github.com/squishy47/schroeder-all-pass-filter","last_synced_at":"2026-03-02T15:46:12.760Z","repository":{"id":123369771,"uuid":"123204591","full_name":"Squishy47/Schroeder-All-Pass-Filter","owner":"Squishy47","description":"Basic Implimentation of a Schroeder All-Pass Filter","archived":false,"fork":false,"pushed_at":"2020-05-21T14:51:00.000Z","size":8,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-27T05:23:13.665Z","etag":null,"topics":["allpass","audio","audio-data","audio-effect","audio-effects","audio-library","audio-processing","data-processing","filter","filters","processing","schroeder","signal","signal-processing"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Squishy47.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2018-02-28T00:11:33.000Z","updated_at":"2025-02-09T09:18:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"582232ae-e285-48c9-ba30-d6e199fb5de4","html_url":"https://github.com/Squishy47/Schroeder-All-Pass-Filter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Squishy47/Schroeder-All-Pass-Filter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Squishy47%2FSchroeder-All-Pass-Filter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Squishy47%2FSchroeder-All-Pass-Filter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Squishy47%2FSchroeder-All-Pass-Filter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Squishy47%2FSchroeder-All-Pass-Filter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Squishy47","download_url":"https://codeload.github.com/Squishy47/Schroeder-All-Pass-Filter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Squishy47%2FSchroeder-All-Pass-Filter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000706,"owners_count":26082837,"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-08T02:00:06.501Z","response_time":56,"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":["allpass","audio","audio-data","audio-effect","audio-effects","audio-library","audio-processing","data-processing","filter","filters","processing","schroeder","signal","signal-processing"],"created_at":"2024-11-21T16:17:31.800Z","updated_at":"2025-10-08T21:40:39.370Z","avatar_url":"https://github.com/Squishy47.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Schroeder-All-Pass-Filter\nBasic Implimentation of a Schroeder All-Pass Filter\n\nInitialisation\nCreate a new instance of the filter for every channel of audio data you wish to process. \n\nThe first constructor value is the delay length of the filter, the second is the feedback gain of the filter.\n\n    SchroederAllPass ap{10, 0.707};\n\nTo process a block of samples at once call the process function with:\n  1: a pointer to where the audio data is stored.\n  2: the size of the audio block/buffer.\n  \n    ap.process(audioDataPointer, bufferSize);\n    \nprocessSingleSample(audioData) will return a single processed sample. pass in the each element of the data you want processed.\n\n    audioData[i] = ap.processSingleSample(audioData[i]);\n    \n    \nTo change the filter feedback gain, call setFeedback(), with a float between 0.0 and 1.0;\n\n    ap.setFeedback(0.707);\n    \nTo Change the delay length of the filter, call setDelayLength(), with a float between 1.0 and beyond...\n\n    ap.setDelayLength(100);\n    \ngetFeedback() and getDelayLength() return float values for the respective values.    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquishy47%2Fschroeder-all-pass-filter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquishy47%2Fschroeder-all-pass-filter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquishy47%2Fschroeder-all-pass-filter/lists"}