{"id":19840638,"url":"https://github.com/joaocnh/react-native-android-voice","last_synced_at":"2025-04-07T16:18:11.848Z","repository":{"id":56617785,"uuid":"49716074","full_name":"JoaoCnh/react-native-android-voice","owner":"JoaoCnh","description":"react-native-android-voice is a speech-to-text library for React Native for the Android Platform.","archived":false,"fork":false,"pushed_at":"2024-08-15T18:26:20.000Z","size":33,"stargazers_count":103,"open_issues_count":8,"forks_count":32,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-31T14:12:47.724Z","etag":null,"topics":["android","android-platform","react","react-native","speech-recognizer","voice"],"latest_commit_sha":null,"homepage":"","language":"Java","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/JoaoCnh.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":"2016-01-15T11:51:27.000Z","updated_at":"2024-12-24T16:10:19.000Z","dependencies_parsed_at":"2025-01-04T04:10:43.794Z","dependency_job_id":"d5a8d725-5d77-48f6-956e-520a7bbb6443","html_url":"https://github.com/JoaoCnh/react-native-android-voice","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoaoCnh%2Freact-native-android-voice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoaoCnh%2Freact-native-android-voice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoaoCnh%2Freact-native-android-voice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoaoCnh%2Freact-native-android-voice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JoaoCnh","download_url":"https://codeload.github.com/JoaoCnh/react-native-android-voice/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247685628,"owners_count":20979085,"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":["android","android-platform","react","react-native","speech-recognizer","voice"],"created_at":"2024-11-12T12:27:37.149Z","updated_at":"2025-04-07T16:18:11.818Z","avatar_url":"https://github.com/JoaoCnh.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# react-native-android-voice\n\n[![DUB](https://img.shields.io/dub/l/vibe-d.svg?style=flat-square)](https://github.com/JoaoCnh/react-native-android-voice#license)\n[![npm version](https://badge.fury.io/js/react-native-android-voice.svg)](https://badge.fury.io/js/react-native-android-voice)\n\nreact-native-android-voice is a speech-to-text library for [React Native](https://facebook.github.io/react-native/) for the Android Platform.\n\n##Any Feedback and Ideas are welcome! please use the [Issues](https://github.com/JoaoCnh/react-native-android-voice/issues) section above\n\n## Documentation\n- [Complete Docs](https://github.com/JoaoCnh/react-native-android-voice/wiki)\n- [Install](https://github.com/JoaoCnh/react-native-android-voice#install)\n- [Usage](https://github.com/JoaoCnh/react-native-android-voice#usage)\n- [Example](https://github.com/JoaoCnh/react-native-android-voice#example)\n- [Methods](https://github.com/JoaoCnh/react-native-android-voice#methods)\n- [Available Locales](https://github.com/JoaoCnh/react-native-android-voice#locales)\n- [Error Handling](https://github.com/JoaoCnh/react-native-android-voice#errors)\n- [TODO](https://github.com/JoaoCnh/react-native-android-voice#todo)\n- [License](https://github.com/JoaoCnh/react-native-android-voice#license)\n\n## Install\n\n```shell\nnpm install --save react-native-android-voice\n```\n## Usage\n### Linking the Library\n### Add it to your android project\n\n* In `android/settings.gradle`\n\n```gradle\n...\ninclude ':VoiceModule', ':app'\nproject(':VoiceModule').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-android-voice')\n```\n\n* In `android/app/build.gradle`\n\n```gradle\n...\ndependencies {\n    ...\n    compile project(':VoiceModule')\n}\n```\n* Register Module (in MainApplication.java)\n\n```java\nimport com.wmjmc.reactspeech.VoicePackage;  // \u003c--- import\n\npublic class MainApplication extends Application implements ReactApplication {\n...\n    @Override\n    protected List\u003cReactPackage\u003e getPackages() {\n      return Arrays.\u003cReactPackage\u003easList(\n        new MainReactPackage(),\n        new VoicePackage()); // \u003c--- added here\n    }\n}\n```\n## Example\n\n```javascript\nimport SpeechAndroid from 'react-native-android-voice';\n\n...\nasync _buttonClick(){\n    try{\n        //More Locales will be available upon release.\n        var spokenText = await SpeechAndroid.startSpeech(\"Speak yo\", SpeechAndroid.GERMAN);\n        ToastAndroid.show(spokenText , ToastAndroid.LONG);\n    }catch(error){\n        switch(error){\n            case SpeechAndroid.E_VOICE_CANCELLED:\n                ToastAndroid.show(\"Voice Recognizer cancelled\" , ToastAndroid.LONG);\n                break;\n            case SpeechAndroid.E_NO_MATCH:\n                ToastAndroid.show(\"No match for what you said\" , ToastAndroid.LONG);\n                break;\n            case SpeechAndroid.E_SERVER_ERROR:\n                ToastAndroid.show(\"Google Server Error\" , ToastAndroid.LONG);\n                break;\n            /*And more errors that will be documented on Docs upon release*/\n        }\n    }\n}\n...\n```\n\nThis will automatically start recognizing and adjusting for the German Language.\nOn release I'll update these docs with every single Locale available.\n\n## Methods\n\n### startSpeech(prompt, locale)\nInitializes the voice recognition activity and returns what you spoke in text.\n\n__Arguments__\n- prompt: String for the text to be displayed by the SpeechRecognizer dialog;\n- locale: String for the SpeechRecognizer to set itself for the given Locale; (Accessible through constants. see below available locales)\n\n## Locales:\n\n### DEFAULT\n```javascript\nSpeechAndroid.DEFAULT\n```\nThis will set the SpeechRecognizer to the default locale of your Android smartphone.\n***\n### Portugal / Portuguese\n```javascript\nSpeechAndroid.PT /*or*/ SpeechAndroid.PORTUGUESE\n```\n***\n### Brazil / Portuguese\n```javascript\nSpeechAndroid.BR /*or*/ SpeechAndroid.PORTUGUESE_BRAZIL\n```\n***\n### Bulgarian\n```javascript\nSpeechAndroid.BULGARIAN\n```\n***\n### Canada / English\n```javascript\nSpeechAndroid.CANADA\n```\n***\n### Canada / French\n```javascript\nSpeechAndroid.CANADA_FRENCH\n```\n***\n### Czech\n```javascript\nSpeechAndroid.CZECH\n```\n***\n### Croatian\n```javascript\nSpeechAndroid.CROATIAN\n```\n***\n### Chinese\n```javascript\nSpeechAndroid.CHINA /*or*/ SpeechAndroid.CHINESE /*or*/\nSpeechAndroid.SIMPLIFIED_CHINESE /*or*/ SpeechAndroid.TRADITIONAL_CHINESE\n```\n***\n### Netherlands / Dutch\n```javascript\nSpeechAndroid.DUTCH\n```\n***\n### Belgium / Dutch\n```javascript\nSpeechAndroid.DUTCH_BELGIUM\n```\n***\n### English\n```javascript\nSpeechAndroid.ENGLISH\n```\n***\n### UK / English\n```javascript\nSpeechAndroid.UK\n```\n***\n### US / English\n```javascript\nSpeechAndroid.US\n```\n***\n### Australia / English\n```javascript\nSpeechAndroid.AUSTRALIA\n```\n***\n### New Zealand / English\n```javascript\nSpeechAndroid.NEW_ZEALAND\n```\n***\n### Singapore / English\n```javascript\nSpeechAndroid.SINGAPORE\n```\n***\n### India / English\n```javascript\nSpeechAndroid.ENGLISH_INDIA\n```\n***\n### Ireland / English\n```javascript\nSpeechAndroid.ENGLISH_IRELAND\n```\n***\n### Zimbabwe / English\n```javascript\nSpeechAndroid.ENGLISH_ZIMBABWE\n```\n***\n### Egypt / Arabic\n```javascript\nSpeechAndroid.ARABIC_EGYPT\n```\n***\n### Israel / Arabic\n```javascript\nSpeechAndroid.ARABIC_ISRAEL\n```\n***\n### France / French\n```javascript\nSpeechAndroid.FRANCE /*or*/ SpeechAndroid.FRENCH\n```\n***\n### Belgium / French\n```javascript\nSpeechAndroid.FRENCH_BELGIUM\n```\n***\n### Switzerland / French\n```javascript\nSpeechAndroid.FRENCH_SWITZERLAND\n```\n***\n### Finnish\n```javascript\nSpeechAndroid.FINNISH\n```\n***\n### Danish\n```javascript\nSpeechAndroid.DANISH\n```\n***\n### Germany / German\n```javascript\nSpeechAndroid.GERMANY /*or*/ SpeechAndroid.GERMAN\n```\n***\n### Switzerland / German\n```javascript\nSpeechAndroid.GERMAN_SWITZERLAND\n```\n***\n### Greek\n```javascript\nSpeechAndroid.GREEK\n```\n***\n### Hebrew\n```javascript\nSpeechAndroid.HEBREW\n```\n***\n### Hindi\n```javascript\nSpeechAndroid.HINDI\n```\n***\n### Hungarian\n```javascript\nSpeechAndroid.HUNGARIAN\n```\n***\n### Italy / Italian\n```javascript\nSpeechAndroid.ITALY /*or*/ SpeechAndroid.ITALIAN\n```\n***\n### Switzerland / Italian\n```javascript\nSpeechAndroid.ITALIAN_SWITZERLAND\n```\n***\n### Indonesian\n```javascript\nSpeechAndroid.INDONESIAN\n```\n***\n### Latvian\n```javascript\nSpeechAndroid.LATVIAN\n```\n***\n### Lithuanian\n```javascript\nSpeechAndroid.LITHUANIAN\n```\n***\n### Norwegian\n```javascript\nSpeechAndroid.NORWEGIAN\n```\n***\n### Japan\n```javascript\nSpeechAndroid.JAPAN /*or*/ SpeechAndroid.JAPANESE\n```\n***\n### Polish\n```javascript\nSpeechAndroid.POLISH\n```\n***\n### Russian\n```javascript\nSpeechAndroid.RUSSIAN\n```\n***\n### Romanian\n```javascript\nSpeechAndroid.ROMANIAN\n```\n***\n### Spanish\n```javascript\nSpeechAndroid.SPANISH\n```\n***\n### Catalan\n```javascript\nSpeechAndroid.CATALAN\n```\n***\n### US / Spanish\n```javascript\nSpeechAndroid.SPANISH_US\n```\n***\n### Serbian\n```javascript\nSpeechAndroid.SERBIAN\n```\n***\n### Slovak\n```javascript\nSpeechAndroid.SLOVAK\n```\n***\n### Slovenian\n```javascript\nSpeechAndroid.SLOVENIAN\n```\n***\n### Swedish\n```javascript\nSpeechAndroid.SWEDISH\n```\n***\n### Korea\n```javascript\nSpeechAndroid.KOREA /*or*/ SpeechAndroid.KOREAN\n```\n***\n### Taiwan\n```javascript\nSpeechAndroid.TAIWAN\n```\n***\n### Philippines / Tagalog\n```javascript\nSpeechAndroid.TAGALOG_PHILIPPINES\n```\n***\n### Thai\n```javascript\nSpeechAndroid.THAI\n```\n***\n### Turkish\n```javascript\nSpeechAndroid.TURKISH\n```\n***\n### Ukrainian\n```javascript\nSpeechAndroid.UKRAINIAN\n```\n***\n### Vietnamese\n```javascript\nSpeechAndroid.VIETNAMESE\n```\n***\n\n## Errors\n\n### E_ACTIVITY_DOES_NOT_EXIST\n```javascript\nSpeechAndroid.E_ACTIVITY_DOES_NOT_EXIST\n```\nGeneric error on current Activity not existing.\n***\n### E_VOICE_CANCELLED\n```javascript\nSpeechAndroid.E_VOICE_CANCELLED\n```\nVoice Recognizer was cancelled\n***\n### E_FAILED_TO_SHOW_VOICE\n```javascript\nSpeechAndroid.E_FAILED_TO_SHOW_VOICE\n```\nVoice Recognizer failed to initialize\n***\n### E_AUDIO_ERROR\n```javascript\nSpeechAndroid.E_AUDIO_ERROR\n```\nVoice Recognizer encountered some error with the Audio received\n***\n### E_NETWORK_ERROR\n```javascript\nSpeechAndroid.E_NETWORK_ERROR\n```\nNetwork error while attempting connection with Google's Servers\n***\n### E_NO_MATCH\n```javascript\nSpeechAndroid.E_NO_MATCH\n```\nVoice Recognizer did not find any match\n***\n### E_SERVER_ERROR\n```javascript\nSpeechAndroid.E_SERVER_ERROR\n```\nGoogle's Servers encountered an error while processing the request\n***\n\n## License\n\nThe MIT License (MIT)\n=====================\n\nCopyright © `2015` [João Cunha](https://github.com/JoaoCnh)\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the “Software”), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaocnh%2Freact-native-android-voice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoaocnh%2Freact-native-android-voice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaocnh%2Freact-native-android-voice/lists"}