{"id":19829778,"url":"https://github.com/inevolin/discordearsbot","last_synced_at":"2025-04-05T16:09:08.929Z","repository":{"id":37589872,"uuid":"385371383","full_name":"inevolin/DiscordEarsBot","owner":"inevolin","description":"A speech-to-text framework and bot for Discord. Take control of your Discord server using speech and voice commands. Can also be useful for hearing impaired and deaf people.","archived":false,"fork":false,"pushed_at":"2023-12-29T23:53:50.000Z","size":40436,"stargazers_count":70,"open_issues_count":11,"forks_count":351,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-29T15:10:07.381Z","etag":null,"topics":["discord","discord-bot","discord-js","hearing-aids","hearing-impaired","speech","speech-processing","speech-recognition","speech-synthesis","speech-to-text","stt"],"latest_commit_sha":null,"homepage":"","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/inevolin.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":"2021-07-12T20:12:21.000Z","updated_at":"2025-02-11T05:10:52.000Z","dependencies_parsed_at":"2024-12-23T09:36:36.600Z","dependency_job_id":null,"html_url":"https://github.com/inevolin/DiscordEarsBot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inevolin%2FDiscordEarsBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inevolin%2FDiscordEarsBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inevolin%2FDiscordEarsBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inevolin%2FDiscordEarsBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inevolin","download_url":"https://codeload.github.com/inevolin/DiscordEarsBot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247361691,"owners_count":20926643,"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":["discord","discord-bot","discord-js","hearing-aids","hearing-impaired","speech","speech-processing","speech-recognition","speech-synthesis","speech-to-text","stt"],"created_at":"2024-11-12T11:19:55.380Z","updated_at":"2025-04-05T16:09:08.905Z","avatar_url":"https://github.com/inevolin.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DiscordEarsBot\nA speech-to-text bot for Discord written in NodeJS.\nCan be useful for hearing impaired and deaf people.\n\n## Getting Started:\n\n\n[![Discord Ears Bot Demo](https://img.youtube.com/vi/IKIlnaCDZcI/0.jpg)](https://www.youtube.com/watch?v=IKIlnaCDZcI \"Discord Ears Bot Demo\")\n\n### Installation Tutorial\nYouTube: https://www.youtube.com/watch?v=IKIlnaCDZcI\n\nTry the bot for yourself on our Discord server: https://discord.gg/ApdTMG9\n\n## Developers\n\n### Setup\n\nIn your Discord Developers Bot settings, you need to enable these intents:\n\n![image](https://github.com/inevolin/DiscordEarsBot/assets/53948000/6e926a75-a709-435a-b4f8-e9f8f0226856)\n\n\n### Manual Installation\nYou need nodeJS version +16 with npm on your machine, use `node -v` to check your version.\nExecute the following commands:\n```\ngit clone https://github.com/healzer/DiscordEarsBot.git\ncd DiscordEarsBot\nnpm install\n```\nProvide the Discord API Token using `DISCORD_TOK` Env Variable or in `settings.json`.\n\nFinally run `node index.js`. You can also use pm2 or nodemon to keep the bot running 24/7.\n\n### Heroku\nIf you don't have a linux server/machine then you can use Heroku for hosting your bot 24/7 and it's free.\n1. Fork this GitHub repository\n2. Create Discord Bot, Invite it to your server and get the API Token\n3. Create new Heroku app, use the GitHub method and Deploy DiscordEarsBot\n5. Under \"resources\" disable \"web\" and enable \"worker\" dyno instead.\n6. Provide the DISCORD_TOK Config Var under \"settings\"\n\n## Usage\n\nBy now you have a discord server, the DiscordEarsBot is running and is a part of your server. Make sure your server has a text and voice channel.\n\n1. Enter one of your voice channels.\n2. In one of your text channels type: `*join`, the bot will join the voice channel.\n3. Everything said within that channel will be transcribed into text (as long as the bot is within the voice channel).\n4. Type `*leave` to make the bot leave the voice channel.\n5. Type `*help` for a list of commands.\n\n### notes:\n- When the bot is inside a voice channel it listens to all speech and transcribes audio into text.\n- Each user is a separate audio channel, the bot hears everyone separately.\n- Only when your user picture turns green in the voice channel will the bot receive your audio.\n- A long pause interrupts the audio input.\n- For Google Speech \u0026 WitAI: The duration of a single audio input is limited to 20 seconds, longer audio is not transcribed.\n\n\n## Speech Services\n\n[![Speech to Text Discord Bot](https://img.youtube.com/vi/fQcEZIgw_LA/0.jpg)](https://www.youtube.com/watch?v=fQcEZIgw_LA \"Discord Ears Bot Demo\")\n\nYouTube comparison and tutorial for developers on choosing the right Speech API: https://www.youtube.com/watch?v=fQcEZIgw_LA\n\n### Vosk API\nThis is our default Speech-to-Text method. The Vosk API is a free \u0026 open-source solution that runs locally (offline). By default only `english` is enabled. Developers can change or include more language models from here: https://alphacephei.com/vosk/models\n\n### WitAI\nInstallation:\n1. set SPEECH_METHOD to `witai`\n2. use your Server Access Token for WITAI_TOK\n\nWitAI supports over 120 languages (https://wit.ai/faq), however only one language can be used at a time.\nIf you're not speaking English on Discord, then change your default language on WitAI under \"settings\" for your app.\n\nYou can also change the language using the following bot command: `*lang \u003ccode\u003e` \n`\u003ccode\u003e` should be an ISO 639-1 language code (2 digits): https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\n\n### Google Speech API\nYou can use Google's Speech-to-Text API as follows:\n1. set SPEECH_METHOD to `google`\n2. For non-English transcriptions: open `index.js`, inside the function `transcribe_gspeech` change the value of `languageCode`.\n3. Enable Google Speech API here: https://console.cloud.google.com/apis/library/speech.googleapis.com\n4. Create a new Service Account (or use your existing one): https://console.cloud.google.com/apis/credentials\n5. Create a new Service Account Key (or use existing) and download the json file.\n6. Put the json file inside your bot directory and rename it to `gspeech_key.json`.\n\n### Mozilla DeepSpeech (experimental)\nUsing Mozilla DeepSpeech for speech recognition, [tutorial](https://medium.com/@ilyanevolin/discord-stt-bot-using-mozilla-deepspeech-e77ee28937eb).\n\n\n## Contact\n\nFor enquiries or issues get in touch with me:\n\nName: [Ilya Nevolin](https://www.linkedin.com/in/iljanevolin/)\n\nEmail: ilja.nevolin@gmail.com\n\nDiscord: https://discord.gg/ApdTMG9\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finevolin%2Fdiscordearsbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finevolin%2Fdiscordearsbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finevolin%2Fdiscordearsbot/lists"}