{"id":25608034,"url":"https://github.com/liubomyr123/speech-recognition-assistant","last_synced_at":"2026-05-16T09:33:24.173Z","repository":{"id":278649665,"uuid":"935345080","full_name":"liubomyr123/speech-recognition-assistant","owner":"liubomyr123","description":"A simple speech recognition system using PocketSphinx that converts audio input into text and executes basic voice commands.","archived":false,"fork":false,"pushed_at":"2025-02-20T22:37:13.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-20T23:27:07.547Z","etag":null,"topics":["audio-processing","c-language","linux","linux-development","makefile","memory-management","pocketsphinx","pointers","real-time-processing","speech-recognition","speech-to-text","voice-command"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liubomyr123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-02-19T09:46:36.000Z","updated_at":"2025-02-20T22:37:16.000Z","dependencies_parsed_at":"2025-02-20T23:37:11.073Z","dependency_job_id":null,"html_url":"https://github.com/liubomyr123/speech-recognition-assistant","commit_stats":null,"previous_names":["liubomyr123/speech-recognition-assistant"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liubomyr123%2Fspeech-recognition-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liubomyr123%2Fspeech-recognition-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liubomyr123%2Fspeech-recognition-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liubomyr123%2Fspeech-recognition-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liubomyr123","download_url":"https://codeload.github.com/liubomyr123/speech-recognition-assistant/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240079642,"owners_count":19744727,"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-processing","c-language","linux","linux-development","makefile","memory-management","pocketsphinx","pointers","real-time-processing","speech-recognition","speech-to-text","voice-command"],"created_at":"2025-02-21T20:17:48.920Z","updated_at":"2026-05-02T23:30:17.271Z","avatar_url":"https://github.com/liubomyr123.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PocketSphinx Speech Recognition\n\n## Overview\n\nThis project implements a basic speech recognition system using [PocketSphinx](https://github.com/cmusphinx/pocketsphinx). Currently, it serves as a template that captures audio input, converts it into text, and demonstrates command execution using recognized speech.\n\n## Installation\n\nFollow these steps to install and build the project:\n\n1. Clone the repository:\n\n   ```sh\n   cd ~\n   git clone https://github.com/cmusphinx/pocketsphinx.git\n   ```\n\n2. Install dependencies:\n\n   ```sh\n   sudo apt install \\\n        ffmpeg \\\n        libasound2-dev \\\n        libportaudio2 \\\n        libportaudiocpp0 \\\n        libpulse-dev \\\n        libsox-fmt-all \\\n        portaudio19-dev \\\n        sox\n   ```\n\n3. Build and install PocketSphinx:\n\n   ```sh\n   mkdir build\n   cd build\n   cmake ..\n   cmake --build .\n   sudo cmake --build . --target install\n   ```\n\n## Build and Run\n\n### Build the Program\n\n```sh\nmake\n```\n\n### Build with other languages: RU/DE\n\n```sh\nmake MODEL_DE=1\n\n# or\n\nmake MODEL_RU=1\n```\n\n### Run the Program\n\n```sh\n./live\n```\n\n### Clean the Build\n\n```sh\nmake clean\n```\n\n## Features\n\n- Uses PocketSphinx for speech recognition.\n- Captures audio input via SoX.\n- Converts speech to text.\n- Demonstrates command execution using recognized phrases.\n- Example commands:\n  - Saying \"browser\" opens a web browser.\n  - Saying \"browser exit\" closes the browser.\n- The system is designed as a foundation for further development and testing of voice commands.\n\n## Dependencies\n\n- [PocketSphinx](https://github.com/cmusphinx/pocketsphinx)\n- SoX (for audio capture)\n- PortAudio (for real-time audio processing)\n\n## Additional Resources\n\n- **Github**: [https://github.com/cmusphinx/pocketsphinx](https://github.com/cmusphinx/pocketsphinx)\n- **Official documentation**: [https://cmusphinx.github.io](https://cmusphinx.github.io)\n- **Documentation for C language**: [https://cmusphinx.github.io/doc/pocketsphinx/index.html](https://cmusphinx.github.io/doc/pocketsphinx/index.html)\n- **Acoustic and Language Models**: [https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/](https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/)\n\n## Language models\nGo to **Acoustic and Language Models** website and download language models:\n   - 'language model'\n      Examples: `cmusphinx-voxforge-de.lm.bin` `ru.lm`\n   - 'dictionary':\n      Examples: `cmusphinx-voxforge-de.dic` `ru.dic`\n   - 'hidden markov model':\n      Examples: `voxforge.cd_ptm_5000` `zero_ru.cd_cont_4000`\n\nSave them in one of the folders: `MODEL_DE`, `MODEL_RU`, `MODEL_UA`...\n\nYou can also find these models here: [https://drive.google.com/drive/folders/1UAlBpDFsMTmH69C1u_6yrGoLEp1GN9ov](https://drive.google.com/drive/folders/1UAlBpDFsMTmH69C1u_6yrGoLEp1GN9ov)\n\nThen rename them into `dictionary.dic`, `hmm`, `language_model.lm` or if some of them are binary: `dictionary.dic.bin`, `language_model.lm.bin`.\n\nThen use them inside `load_modals()` function like this:\n\n```c\n#ifdef MODEL_UA\n    printf(\"\\n\");\n    printf(\"✅ MODEL_UA flag is defined.\\n\");\n    if (check_models_files(\u0026is_run_default_setup, \"MODEL_UA\") == 1)\n    {\n        printf(\"Loading...\\n\");\n    }\n    printf(\"\\n\");\n#endif\n\n#ifdef MODEL_DE\n    printf(\"\\n\");\n    printf(\"✅ MODEL_DE flag is defined.\\n\");\n    if (check_models_files(\u0026is_run_default_setup, \"MODEL_DE\") == 1)\n    {\n        printf(\"Loading...\\n\");\n    }\n    printf(\"\\n\");\n#endif\n```\n\nHere instead of `Loading...`:\n```c\n  printf(\"Loading...\\n\");\n```\n\nLoad real models:\n```c\n  ps_config_set_str(speech_config, \"hmm\", \"MODEL_DE/hmm\");\n  ps_config_set_str(speech_config, \"lm\", \"MODEL_DE/language_model.lm.bin\");\n  ps_config_set_str(speech_config, \"dict\", \"MODEL_DE/dictionary.dic\");\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliubomyr123%2Fspeech-recognition-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliubomyr123%2Fspeech-recognition-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliubomyr123%2Fspeech-recognition-assistant/lists"}