{"id":37083478,"url":"https://github.com/zakuro-ai/asr","last_synced_at":"2026-04-20T09:05:51.382Z","repository":{"id":39800410,"uuid":"216464726","full_name":"zakuro-ai/asr","owner":"zakuro-ai","description":"ASRDeepspeech x Sakura-ML (English/Japanese)  with deepspeech2 model in pytorch with support from Zakuro AI.","archived":false,"fork":false,"pushed_at":"2022-11-03T03:31:16.000Z","size":401197,"stargazers_count":69,"open_issues_count":5,"forks_count":11,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-24T00:48:09.492Z","etag":null,"topics":["asr","audio","deep-learning","japanese","python","sakura","sakura-ml","speech-recognition","zakuro","zakuro-ai"],"latest_commit_sha":null,"homepage":"","language":"Python","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/zakuro-ai.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}},"created_at":"2019-10-21T02:51:45.000Z","updated_at":"2025-11-19T11:20:33.000Z","dependencies_parsed_at":"2022-08-29T10:01:21.514Z","dependency_job_id":null,"html_url":"https://github.com/zakuro-ai/asr","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/zakuro-ai/asr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakuro-ai%2Fasr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakuro-ai%2Fasr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakuro-ai%2Fasr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakuro-ai%2Fasr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zakuro-ai","download_url":"https://codeload.github.com/zakuro-ai/asr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakuro-ai%2Fasr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32040364,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["asr","audio","deep-learning","japanese","python","sakura","sakura-ml","speech-recognition","zakuro","zakuro-ai"],"created_at":"2026-01-14T10:11:07.579Z","updated_at":"2026-04-20T09:05:51.365Z","avatar_url":"https://github.com/zakuro-ai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg src=\"https://drive.google.com/uc?id=17SeD6ijR7DV_EnZGJqavHxVbNHs8n4EQ\"\u003e\n  \u003cbr\u003e\n    ASRDeepspeech x Sakura-ML \n    (English/Japanese)\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#modules\"\u003eModules\u003c/a\u003e •\n  \u003ca href=\"#code-structure\"\u003eCode structure\u003c/a\u003e •\n  \u003ca href=\"#installing-the-application\"\u003eInstalling the application\u003c/a\u003e •\n  \u003ca href=\"#makefile-commands\"\u003eMakefile commands\u003c/a\u003e •\n  \u003ca href=\"#environments\"\u003eEnvironments\u003c/a\u003e •\n  \u003ca href=\"#dataset\"\u003eDataset\u003c/a\u003e•\n  \u003ca href=\"#running-the-application\"\u003eRunning the application\u003c/a\u003e•\n  \u003ca href=\"#notes\"\u003eNotes\u003c/a\u003e•\n\u003c/p\u003e\n\n\nThis repository offers a clean code version of the original repository from SeanNaren with classes and modular\ncomponents (eg trainers, models, loggers...).\n\nI have added a configuration file to manage the parameters set in the model. You will also find a pretrained model in japanese performing a `CER = 34` on JSUT test set .\n\n# Modules\n\nAt a granular level, ASRDeepSpeech is a library that consists of the following components:\n\n| Component | Description |\n| ---- | --- |\n| **asr_deepspeech** | Speech Recognition package |\n| **asr_deepspeech.data** | Data related module |\n| **asr_deepspeech.data.dataset** | Build the dataset |\n| **asr_deepspeech.data.loaders** | Load the dataset |\n| **asr_deepspeech.data.parsers** | Parse the dataset |\n| **asr_deepspeech.data.samplers** | Sample the dataset |\n| **asr_deepspeech.decoders** | Decode the generated text |\n| **asr_deepspeech.loggers** | Loggers |\n| **asr_deepspeech.modules** | Components of the network |\n| **asr_deepspeech.parsers** | Arguments parser |\n| **asr_deepspeech.tests** | Test units |\n| **asr_deepspeech.trainers** | Trainers |\n\n\n# Code structure\n```python\nfrom setuptools import setup\nfrom asr_deepspeech import __version__\n\nsetup(\n    name=\"asr_deepspeech\",\n    version=__version__,\n    short_description=\"ASRDeepspeech (English / Japanese)\",\n    long_description=\"\".join(open(\"README.md\", \"r\").readlines()),\n    long_description_content_type=\"text/markdown\",\n    url=\"https://github.com/zakuro-ai/asr\",\n    license=\"MIT Licence\",\n    author=\"CADIC Jean-Maximilien\",\n    python_requires=\"\u003e=3.8\",\n    packages=[\n        \"asr_deepspeech\",\n        \"asr_deepspeech.audio\",\n        \"asr_deepspeech.data\",\n        \"asr_deepspeech.data.dataset\",\n        \"asr_deepspeech.data.loaders\",\n        \"asr_deepspeech.data.manifests\",\n        \"asr_deepspeech.data.parsers\",\n        \"asr_deepspeech.data.samplers\",\n        \"asr_deepspeech.decoders\",\n        \"asr_deepspeech.etl\",\n        \"asr_deepspeech.loggers\",\n        \"asr_deepspeech.models\",\n        \"asr_deepspeech.modules\",\n        \"asr_deepspeech.parsers\",\n        \"asr_deepspeech.tests\",\n        \"asr_deepspeech.trainers\",\n    ],\n    include_package_data=True,\n    package_data={\"\": [\"*.yml\"]},\n    install_requires=[r.rsplit()[0] for r in open(\"requirements.txt\")],\n    author_email=\"git@zakuro.ai\",\n    description=\"ASRDeepspeech (English / Japanese)\",\n    platforms=\"linux_debian_10_x86_64\",\n    classifiers=[\n        \"Programming Language :: Python :: 3.8\",\n        \"License :: OSI Approved :: MIT License\",\n    ],\n)\n\n```\n\n\n# Installing the application\nTo clone and run this application, you'll need the following installed on your computer:\n- [Git](https://git-scm.com)\n- Docker Desktop\n   - [Install Docker Desktop on Mac](https://docs.docker.com/docker-for-mac/install/)\n   - [Install Docker Desktop on Windows](https://docs.docker.com/desktop/install/windows-install/)\n   - [Install Docker Desktop on Linux](https://docs.docker.com/desktop/install/linux-install/)\n- [Python](https://www.python.org/downloads/)\n\nInstall bpd:\n```bash\n# Clone this repository and install the code\ngit clone https://github.com/zakuro-ai/asr\n\n# Go into the repository\ncd asr\n```\n\n\n# Makefile commands\nExhaustive list of make commands:\n```\npull                # Download the docker image\nsandbox             # Launch the sandox image \ninstall_wheels      # Install the wheel\ntests               # Test the code\n```\n# Environments\nWe are providing a support for local or docker setup. However we recommend to use docker to avoid any difficulty to run\n the code. \nIf you decide to run the code locally you will need python3.6 with cuda\u003e=10.1.\nSeveral libraries are needed to be installed for training to work. I will assume that everything is being installed in\nan Anaconda installation on Ubuntu, with Pytorch 1.0.\nInstall [PyTorch](https://github.com/pytorch/pytorch#installation) if you haven't already.\n\n## Docker\n\n\u003e **Note**\n\u003e \n\u003e Running this application by using Docker is recommended.\n\nTo build and run the docker image\n```\nmake pull\nmake sandbox\n```\n\n## PythonEnv\n\n\u003e **Warning**\n\u003e \n\u003e Running this application by using PythonEnv is possible but *not* recommended.\n```\nmake install_wheels\n```\n\n## Test\n```\nmake tests\n```\nYou should be able to get an output like\n```python\n=1= TEST PASSED : asr_deepspeech\n=1= TEST PASSED : asr_deepspeech.data\n=1= TEST PASSED : asr_deepspeech.data.dataset\n=1= TEST PASSED : asr_deepspeech.data.loaders\n=1= TEST PASSED : asr_deepspeech.data.parsers\n=1= TEST PASSED : asr_deepspeech.data.samplers\n=1= TEST PASSED : asr_deepspeech.decoders\n=1= TEST PASSED : asr_deepspeech.loggers\n=1= TEST PASSED : asr_deepspeech.modules\n=1= TEST PASSED : asr_deepspeech.parsers\n=1= TEST PASSED : asr_deepspeech.test\n=1= TEST PASSED : asr_deepspeech.trainers\n```\n\n# Datasets\n\nBy default we process the JSUT dataset. See the `config` section to know how to process a custom dataset.\n```python\nfrom gnutools.remote import gdrive\nfrom asr_deepspech import  cfg\n\n# This will download the JSUT dataset in your /tmp\ngdrive(cfg.gdrive_uri)\n```\n## ETL\n\n```\npython -m asr_deepspeech.etl\n```\n\n# Running the application\n\n## Training a Model\n\nTo train on a single gpu\n```bash\nsakura -m asr_deepspeech.trainers\n```\n\n## Pretrained model\n```bash\npython -m asr_deepspeech\n```\n\n\n# Notes\n\u003cli\u003e Clean verbose during training \n\n```\n================ VARS ===================\nmanifest: clean\ndistributed: True\ntrain_manifest: __data__/manifests/train_clean.json\nval_manifest: __data__/manifests/val_clean.json\nmodel_path: /data/ASRModels/deepspeech_jp_500_clean.pth\ncontinue_from: None\noutput_file: /data/ASRModels/deepspeech_jp_500_clean.txt\nmain_proc: True\nrank: 0\ngpu_rank: 0\nworld_size: 2\n==========================================\n```\n\u003cli\u003e Progress bar\n\n```\n...\nclean - 0:00:46 \u003e\u003e 2/1000 (1) | Loss 95.1626 | Lr 0.30e-3 | WER/CER 98.06/95.16 - (98.06/[95.16]): 100%|██████████████████████| 18/18 [00:46\u003c00:00,  2.59s/it]\nclean - 0:00:47 \u003e\u003e 3/1000 (1) | Loss 96.3579 | Lr 0.29e-3 | WER/CER 97.55/97.55 - (98.06/[95.16]): 100%|██████████████████████| 18/18 [00:47\u003c00:00,  2.61s/it]\nclean - 0:00:47 \u003e\u003e 4/1000 (1) | Loss 97.5705 | Lr 0.29e-3 | WER/CER 100.00/100.00 - (98.06/[95.16]): 100%|████████████████████| 18/18 [00:47\u003c00:00,  2.66s/it]\nclean - 0:00:48 \u003e\u003e 5/1000 (1) | Loss 97.8628 | Lr 0.29e-3 | WER/CER 98.74/98.74 - (98.06/[95.16]): 100%|██████████████████████| 18/18 [00:50\u003c00:00,  2.78s/it]\nclean - 0:00:50 \u003e\u003e 6/1000 (5) | Loss 97.0118 | Lr 0.29e-3 | WER/CER 96.26/93.61 - (96.26/[93.61]): 100%|██████████████████████| 18/18 [00:49\u003c00:00,  2.76s/it]\nclean - 0:00:50 \u003e\u003e 7/1000 (5) | Loss 97.2341 | Lr 0.28e-3 | WER/CER 98.35/98.35 - (96.26/[93.61]):  17%|███▊                   | 3/18 [00:10\u003c00:55,  3.72s/it]\n...\n```\n\n\u003cli\u003e Separated text file to check wer/cer with histogram on CER values (best/last/worst result)\n\n```\n================= 100.00/34.49 =================\n----- BEST -----\nRef:良ある人ならそんな風にに話しかけないだろう\nHyp:用ある人ならそんな風にに話しかけないだろう\nWER:100.0  - CER:4.761904761904762\n----- LAST -----\nRef:すみませんがオースチンさんは5日にはです\nHyp:すみませんがースンさんは一つかにはです\nWER:100.0  - CER:25.0\n----- WORST -----\nRef:小切には内がみられる\nHyp:コには内先金地つ作みが見られる\nWER:100.0  - CER:90.0\nCER histogram\n|###############################################################################\n|███████████                                                           6  0-10  \n|███████████████████████████                                          15  10-20 \n|███████████████████████████████████████████████████████████████████  36  20-30 \n|█████████████████████████████████████████████████████████████████    35  30-40 \n|██████████████████████████████████████████████████                   27  40-50 \n|█████████████████████████████                                        16  50-60 \n|█████████                                                             5  60-70 \n|███████████                                                           6  70-80 \n|                                                                      0  80-90 \n|█                                                                     1  90-100\n=============================================\n```\n\n\n## Acknowledgements\n\nThanks to [Egor](https://github.com/EgorLakomkin) and [Ryan](https://github.com/ryanleary) for their contributions!\n\nThis is a fork from https://github.com/SeanNaren/deepspeech.pytorch. The code has been improved for the readability only.\n\nFor any question please contact me at j.cadic[at]protonmail.ch\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzakuro-ai%2Fasr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzakuro-ai%2Fasr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzakuro-ai%2Fasr/lists"}