{"id":50490546,"url":"https://github.com/oxide-byte/sound-recorder","last_synced_at":"2026-06-02T02:07:08.754Z","repository":{"id":357895251,"uuid":"1235720478","full_name":"oxide-byte/sound-recorder","owner":"oxide-byte","description":"Playing with sound recording / Playing with Github Speckit","archived":false,"fork":false,"pushed_at":"2026-05-30T11:14:49.000Z","size":763,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-30T13:07:50.534Z","etag":null,"topics":["audio","ratatui","rust","rust-lang","speckit"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/oxide-byte.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-11T15:34:49.000Z","updated_at":"2026-05-30T11:14:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/oxide-byte/sound-recorder","commit_stats":null,"previous_names":["oxide-byte/sound-recorder"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oxide-byte/sound-recorder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxide-byte%2Fsound-recorder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxide-byte%2Fsound-recorder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxide-byte%2Fsound-recorder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxide-byte%2Fsound-recorder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oxide-byte","download_url":"https://codeload.github.com/oxide-byte/sound-recorder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxide-byte%2Fsound-recorder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33802206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"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":["audio","ratatui","rust","rust-lang","speckit"],"created_at":"2026-06-02T02:07:08.211Z","updated_at":"2026-06-02T02:07:08.748Z","avatar_url":"https://github.com/oxide-byte.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sound Recorder\n\n`sound-recorder` is a Rust TUI audio application.\n\nCurrent user workflow is TUI-first:\n\n- app startup opens the TUI directly,\n- the UI provides `Record`, `Monitor`, `Play`, `Delete`, `Amplify`, and `Stop` actions,\n- the UI shows a list of stored `WAV` files,\n- each `Record` → `Stop` cycle creates one new `WAV` file,\n- `Delete` removes the selected recording from disk,\n- `Amplify` scales the volume of the selected recording by 2x.\n\nDetailed target behavior is documented in specs:\n- [001-terminal-audio-recorder-player](specs/001-terminal-audio-recorder-player/spec.md)\n- [002-tui-recorder-ui](specs/002-tui-recorder-ui/spec.md)\n- [003-continuous-recording](specs/003-continuous-recording/spec.md)\n- [004-audio-format-compression](specs/004-audio-format-compression/spec.md)\n\n## Features\n\n- Launches directly into the TUI on startup.\n- Supports end-to-end recording with `Record` and `Stop` actions.\n- Supports playback of stored `WAV` files via the `Play` action ('p' key).\n- Supports cycling playback modes (Single, Continuous, Loop) by pressing 'p' during playback.\n- Supports deleting recordings via the `Delete` action ('d' key).\n- Supports amplifying recordings (2x volume) via the `Amplify` action ('a' key).\n- Displays and refreshes the recordings list in the UI.\n- Continuous (sound-activated) capture via the `Monitor` action.\n- Configurable output audio format and compression profile via `config/audio.conf`.\n\n## Audio output profile\n\nDefaults for new recordings live in `config/audio.conf`:\n\n```\nformat=wav\ncompression=pcm16\n```\n\nSupported values:\n\n| Key           | Allowed values                                |\n|---------------|-----------------------------------------------|\n| `format`      | `wav`                                         |\n| `compression` | `pcm8`, `pcm16`, `pcm24`, `float32`           |\n\nIf the file is missing the app falls back to `wav` + `pcm16` and notes this in\nthe status bar. If it is present but invalid the app refuses to record or\nmonitor until it is fixed. Existing recordings are never modified when the\nconfig file changes.\n\n## Development\n\nThis project is based on SSD(Spec Driven Development), see: https://github.com/github/spec-kit\n\nThe development workflow follows these phases using Speckit commands:\n\n### 1. Specification Phase\nCreate or update a feature specification from a natural language description.\n```bash\n/speckit.specify \"description of the feature\"\n```\n\n### 2. Planning Phase\nGenerate technical design artifacts (research, data model, contracts) based on the specification.\n```bash\n/speckit.plan\n```\n\n### 3. Task Phase\nBreak down the implementation plan into actionable tasks.\n```bash\n/speckit.tasks\n```\n\n### 4. Implementation Phase\nExecute the tasks and implement the feature.\n```bash\n/speckit.implement\n```\n\n## Build\n\n```bash\ncargo build\n```\n\n## Look\n\n![screenshot.png](doc/screenshot.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxide-byte%2Fsound-recorder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foxide-byte%2Fsound-recorder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxide-byte%2Fsound-recorder/lists"}