{"id":16721029,"url":"https://github.com/prior99/rust-samplerate","last_synced_at":"2026-03-06T02:14:30.431Z","repository":{"id":46465660,"uuid":"154905204","full_name":"Prior99/rust-samplerate","owner":"Prior99","description":"High level Rust bindings for libsamplerate.","archived":false,"fork":false,"pushed_at":"2023-09-15T09:44:32.000Z","size":25,"stargazers_count":16,"open_issues_count":5,"forks_count":16,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-27T16:17:34.812Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Prior99.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}},"created_at":"2018-10-26T23:35:29.000Z","updated_at":"2024-12-13T06:27:08.000Z","dependencies_parsed_at":"2024-06-21T15:44:52.711Z","dependency_job_id":"43c8f2ef-1730-46e0-85cc-92235b1d9e37","html_url":"https://github.com/Prior99/rust-samplerate","commit_stats":{"total_commits":30,"total_committers":3,"mean_commits":10.0,"dds":"0.23333333333333328","last_synced_commit":"70d1ad0330c386cce525da8aa083c2d26c0a7729"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prior99%2Frust-samplerate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prior99%2Frust-samplerate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prior99%2Frust-samplerate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prior99%2Frust-samplerate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Prior99","download_url":"https://codeload.github.com/Prior99/rust-samplerate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243835959,"owners_count":20355613,"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":[],"created_at":"2024-10-12T22:28:07.707Z","updated_at":"2026-03-06T02:14:30.389Z","avatar_url":"https://github.com/Prior99.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Samplerate\n\n[![Build Status](https://travis-ci.org/Prior99/rust-samplerate.svg?branch=master)](https://travis-ci.org/Prior99/rust-samplerate)\n[![Docs](https://docs.rs/samplerate/badge.svg)](https://docs.rs/samplerate/)\n\nA samplerate conversion library for Rust.\nThis library provides a high-level API for [libsamplerate-sys](https://github.com/Prior99/libsamplerate-sys) and hence is built on top of [libsamplerate](http://www.mega-nerd.com/SRC/api.html).\n\n# Example\n\n```rust\nextern crate samplerate;\nextern crate hound;\n\nuse samplerate::{convert, ConverterType};\nuse hound::{WavSpec, WavWriter, SampleFormat};\n\nfn main() {\n    // Generate a 880Hz sine wave for 1 second in 44100Hz with one channel.\n    let freq = std::f32::consts::PI * 880f32 / 44100f32;\n    let input: Vec\u003cf32\u003e = (0..44100 * 5).map(|i| (freq * i as f32).sin()).collect();\n\n    // Resample the input from 44100Hz to 48000Hz.\n    let resampled = convert(44100, 48000, 1, ConverterType::SincBestQuality, \u0026input).unwrap();\n\n    // Write the resampled pcm data to disk.\n    let mut writer = WavWriter::create(\"resampled.wav\", WavSpec {\n        channels: 1,\n        sample_rate: 48000,\n        bits_per_sample: 32,\n        sample_format: SampleFormat::Float,\n    }).unwrap();\n    resampled.iter().for_each(|i| writer.write_sample(*i).unwrap());\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprior99%2Frust-samplerate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprior99%2Frust-samplerate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprior99%2Frust-samplerate/lists"}