{"id":21762818,"url":"https://github.com/joyarzun/speeech","last_synced_at":"2026-05-17T13:01:23.491Z","repository":{"id":57367306,"uuid":"98078928","full_name":"joyarzun/speeech","owner":"joyarzun","description":"Speech recognition with hotword offline detection for nodejs","archived":false,"fork":false,"pushed_at":"2017-08-21T05:33:31.000Z","size":87,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-26T10:03:03.651Z","etag":null,"topics":["google-speech-recognition","nodejs","speech-recognition","wit-ai","witai"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/joyarzun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-23T06:22:16.000Z","updated_at":"2020-11-24T02:57:18.000Z","dependencies_parsed_at":"2022-08-23T20:11:07.287Z","dependency_job_id":null,"html_url":"https://github.com/joyarzun/speeech","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyarzun%2Fspeeech","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyarzun%2Fspeeech/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyarzun%2Fspeeech/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joyarzun%2Fspeeech/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joyarzun","download_url":"https://codeload.github.com/joyarzun/speeech/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244739940,"owners_count":20501990,"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":["google-speech-recognition","nodejs","speech-recognition","wit-ai","witai"],"created_at":"2024-11-26T12:13:14.917Z","updated_at":"2026-05-17T13:01:18.437Z","avatar_url":"https://github.com/joyarzun.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CircleCI](https://circleci.com/gh/joyarzun/speeech/tree/master.svg?style=shield\u0026circle-token=d392313a1920dda8d1b000c0a1e3c9b7a16bba93)](https://circleci.com/gh/joyarzun/speeech/tree/master)\n# Speeech\nAlexa style's speech recognition with hotword offline support detection for nodejs. Hotword recognition it's offline then you can use an online service streaming like Google Speech or Wit.ai.\n\n**Important: This is an Work in Progress**\n\n## Installation\n\n```\nnpm install --save speeech\n```\n\n## Requirements\n\nYou need to have [SoX](http://sox.sourceforge.net) installed.\n\n#### Debian and derivatives:\n```\nsudo apt-get install sox libsox-fmt-all\n```\n#### Arch Linux:\n```\nyaourt sox cblas\n```\n#### MacOS:\n```\nbrew install sox\n```\n\nOnce SoX it's installed you can try with:\n```\nrec new-file.wav\n```\n\n## Usage\n\nInside of examples folder you can find templates for each service.\nCheck out the comments for install others dependencies.\n\n### Google Speech\n```\nconst speeech = require(\"speeech\");\n\nconst serviceConfig = {\n  auth: {\n    projectId: \"streaming-speech-sample\",\n    keyFilename: \"./keyfile.json\"\n  },\n  streaming: {\n    config: {\n      encoding: \"LINEAR16\",\n      sampleRateHertz: 16000,\n      languageCode: \"en-US\"\n    },\n    singleUtterance: true,\n    interimResults: true\n  }\n};\n\nspeeech.emit(\"start\", speeech.googleService(serviceConfig));\nspeeech.on(\"result\", result =\u003e console.log(\"result\", result));\n\n```\n\nYou need to download a keyfile from google console.\n\n### Wit.ai\n```\nconst speeech = require(\"speeech\");\n\nconst serviceConfig = require(\"./witkeyfile.json\");\n\nspeeech.emit(\"start\", speeech.witService(serviceConfig));\nspeeech.on(\"result\", result =\u003e console.log(\"result\", result));\n\n```\n\nwitkeyfile.json:\n```\n{\n  \"witToken\": \"XXXXXXXXXXXXXXXXXXX\"\n}\n```\n\n### Api.api\n\nApi.ai use a webhook to comunicate with external services. Inside of example you can use `apiaiWebhook.js` as template for service.\nFor the speech logic you can use `googleApiAiExample.js`\n\naccukeyfile.json looks like:\n```\n{\n  \"apikey\": \"XXXXXXXXXXXXXXX\",\n  \"language\": \"es-cl\"\n}\n```\n\napiAikeyfile.json:\n```\n{\n  \"apiAiToken\": \"XXXXXXXXXXXXXXX\"\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyarzun%2Fspeeech","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoyarzun%2Fspeeech","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoyarzun%2Fspeeech/lists"}