{"id":15823158,"url":"https://github.com/liuw5367/recorder","last_synced_at":"2025-04-01T07:18:52.885Z","repository":{"id":229268921,"uuid":"773218946","full_name":"liuw5367/recorder","owner":"liuw5367","description":"A simple browser recording tool. Functions for simple processing of PCM and WAV data.","archived":false,"fork":false,"pushed_at":"2024-04-04T11:25:18.000Z","size":109,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-12T08:43:59.457Z","etag":null,"topics":["audio","pcm","recorder","typescript","wav","webaudioapi"],"latest_commit_sha":null,"homepage":"https://liuw5367.github.io/recorder","language":"TypeScript","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/liuw5367.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":"2024-03-17T03:52:20.000Z","updated_at":"2024-08-31T03:31:20.000Z","dependencies_parsed_at":"2024-03-23T06:24:47.677Z","dependency_job_id":"082282f4-fe9a-495e-b05f-8b61297c03d8","html_url":"https://github.com/liuw5367/recorder","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"a923e7494945a41df733cbaa1ab07d4f5cb147eb"},"previous_names":["liuw5367/recorder"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuw5367%2Frecorder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuw5367%2Frecorder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuw5367%2Frecorder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liuw5367%2Frecorder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liuw5367","download_url":"https://codeload.github.com/liuw5367/recorder/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246598190,"owners_count":20802975,"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","pcm","recorder","typescript","wav","webaudioapi"],"created_at":"2024-10-05T08:05:29.637Z","updated_at":"2025-04-01T07:18:52.870Z","avatar_url":"https://github.com/liuw5367.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n\n  \u003ch1\u003eRecorder\u003c/h1\u003e\n\n  \u003cp\u003e\n    A simple browser recording tool.\n    Functions for simple processing of PCM and WAV data.\n  \u003c/p\u003e\n\n\u003c!-- Badges --\u003e\n\n[![npm version][npm-version-src]][npm-version-href]\n[![bundle][bundle-src]][bundle-href]\n[![JSDocs][jsdocs-src]][jsdocs-href]\n[![License][license-src]][license-href]\n[![contributors][contributors-src]][contributors-href]\n[![last-commit][last-commit-src]][last-commit-href]\n[![issues-commit][issues-src]][issues-href]\n[![forks-commit][forks-src]][forks-href]\n[![stars-commit][stars-src]][stars-href]\n\n\u003c!-- [![npm downloads][npm-downloads-src]][npm-downloads-href] --\u003e\n\n\u003c!-- [![-commit][-src]][-herf] --\u003e\n\n\u003ch4\u003e\n    \u003ca href=\"https://liuw5367.github.io/recorder/\"\u003eView Demo\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://www.jsdocs.io/package/@lw6/recorder\"\u003eDocumentation\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/liuw5367/recorder/issues/\"\u003eReport Bug\u003c/a\u003e\n  \u003cspan\u003e · \u003c/span\u003e\n    \u003ca href=\"https://github.com/liuw5367/recorder/issues/\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/h4\u003e\n\u003c/div\u003e\n\n### Features\n\n- Support recording via the browser.\n- Support for specifying recording devices.\n- Functions for simple processing of PCM and WAV data.\n- Support for multi-channel PCM data and WAV conversion.\n\n## Getting Started\n\n```bash\npnpm add @lw6/recorder\n```\n\n## Usage\n\n```typescript\nimport { Recorder, getAudioInputDevices } from '@lw6/recorder'\n\nconst devices = await getAudioInputDevices();\n\nconst recorder = new Recorder({\n  numberOfChannels: 1,\n  // \"undefined\" represents using the system default device.\n  // deviceId: devices[0].deviceId,\n  deviceId: undefined,\n})\n\nrecorder.open()\n    .then(([sampleRate, channels]) =\u003e {\n      console.log('channels:', channels, 'sampleRate:', sampleRate)\n    })\n    .catch((error) =\u003e {\n      alert(error)\n    })\n\nrecorder.pause();\nrecorder.resume();\n\nrecorder.stop();\nrecorder.getDuration();\n```\n\n## Roadmap\n\n- [ ] Speech To Text\n\n## Contributing\n\n\u003ca href=\"https://github.com/liuw5367/recorder/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=liuw5367/recorder\" /\u003e\n\u003c/a\u003e\n\n\u003c!-- Contributions are always welcome! --\u003e\n\n\u003c!-- See `contributing.md` for ways to get started. --\u003e\n\n## License\n\n[MIT](./LICENSE)\n\n## Contact\n\nEmail: liuw5367@gmail.com\n\nProject Link: [https://github.com/liuw5367/recorder](https://github.com/liuw5367/recorder)\n\n\u003c!-- Badges --\u003e\n\n[npm-version-src]: https://img.shields.io/npm/v/@lw6/recorder?style=flat\u0026colorA=080f12\u0026colorB=1fa669\n[npm-version-href]: https://npmjs.com/package/@lw6/recorder\n[npm-downloads-src]: https://img.shields.io/npm/dm/@lw6/recorder?style=flat\u0026colorA=080f12\u0026colorB=1fa669\n[npm-downloads-href]: https://npmjs.com/package/@lw6/recorder\n[bundle-src]: https://img.shields.io/bundlephobia/minzip/@lw6/recorder?style=flat\u0026colorA=080f12\u0026colorB=1fa669\u0026label=minzip\n[bundle-href]: https://bundlephobia.com/result?p=@lw6/recorder\n[license-src]: https://img.shields.io/github/license/liuw5367/recorder.svg?style=flat\u0026colorA=080f12\u0026colorB=1fa669\n[license-href]: https://github.com/liuw5367/recorder/blob/main/LICENSE\n[jsdocs-src]: https://img.shields.io/badge/jsdocs-reference-080f12?style=flat\u0026colorA=080f12\u0026colorB=1fa669\n[jsdocs-href]: https://www.jsdocs.io/package/@lw6/recorder\n[contributors-src]: https://img.shields.io/github/contributors/liuw5367/recorder\n[contributors-href]: https://github.com/liuw5367/recorder/graphs/contributors\n[last-commit-src]: https://img.shields.io/github/last-commit/liuw5367/recorder\n[last-commit-href]: https://github.com/liuw5367/recorder\n[forks-src]: https://img.shields.io/github/forks/liuw5367/recorder\n[forks-href]: https://github.com/liuw5367/recorder/network/members\n[stars-src]: https://img.shields.io/github/stars/liuw5367/recorder\n[stars-href]: https://github.com/liuw5367/recorder/stargazers\n[issues-src]: https://img.shields.io/github/issues/liuw5367/recorder\n[issues-href]: https://github.com/liuw5367/recorder/issues/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliuw5367%2Frecorder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliuw5367%2Frecorder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliuw5367%2Frecorder/lists"}