{"id":20685556,"url":"https://github.com/yas-sim/csm_voice_encode_synthesis_python","last_synced_at":"2026-02-12T09:31:35.171Z","repository":{"id":59601735,"uuid":"538100789","full_name":"yas-sim/csm_voice_encode_synthesis_python","owner":"yas-sim","description":"Expermental code for CSM voice synthesis + CSM data generation","archived":false,"fork":false,"pushed_at":"2022-09-19T14:13:10.000Z","size":15205,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-05T19:34:38.088Z","etag":null,"topics":["audio-codec","audio-processing","composite-sinusoidal-modeling","csm","fm-sound","vocoder","voice","voice-synthesis","voice-synthesizer","yamaha","ym2203"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/yas-sim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-09-18T12:22:35.000Z","updated_at":"2025-04-22T05:38:32.000Z","dependencies_parsed_at":"2022-09-19T14:50:50.587Z","dependency_job_id":null,"html_url":"https://github.com/yas-sim/csm_voice_encode_synthesis_python","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yas-sim/csm_voice_encode_synthesis_python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yas-sim%2Fcsm_voice_encode_synthesis_python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yas-sim%2Fcsm_voice_encode_synthesis_python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yas-sim%2Fcsm_voice_encode_synthesis_python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yas-sim%2Fcsm_voice_encode_synthesis_python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yas-sim","download_url":"https://codeload.github.com/yas-sim/csm_voice_encode_synthesis_python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yas-sim%2Fcsm_voice_encode_synthesis_python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29362780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["audio-codec","audio-processing","composite-sinusoidal-modeling","csm","fm-sound","vocoder","voice","voice-synthesis","voice-synthesizer","yamaha","ym2203"],"created_at":"2024-11-16T22:27:51.599Z","updated_at":"2026-02-12T09:31:35.154Z","avatar_url":"https://github.com/yas-sim.png","language":"Jupyter Notebook","readme":"# CSM voice encode / synthesis experimental code  \n\nCSM stands for composite sinusoidal modeling, an algorithm for the speech synthesizer.  \nSome of the YAMAHA FM sound devices support this feature, and several game used this feature to speak in the game application.  \n\n|program|description|\n|-|-|\n|`csm_encoding.ipynb`|Audio to CSM data converter.\u003cbr\u003eReads an audio file and generates a CSM data file.|\n|`csm_synthesis.ipynb`|CSM synthesizer.\u003cbr\u003eReads a CSM data file and synthesis an audio file from the CSM data|\n|`csm_synthesis_rt.py`|Real-time CSM synthesizer.\u003cbr\u003ePerform real-time CSM voice synthesis. You can change the key (frequency) of the playback sound with keyboard. This feature is something like a [vocoder](https://en.wikipedia.org/wiki/Vocoder). This program repeatedly playback the sound until you press 'q' key.|\n\n### csm_synthesis_rt.py run example \n```sh\n\u003epython csm_synthesis_rt.py\n21.82 sec\nmax amplitude: 123.0367660522461\nReal-time CSM audio synthesis.\nKeyboard layout - You can change the key of the playing back sound.\n| s d   g h j   |\n|z x c v b n m ,|\nPress 'q' to quit.\n\n```\n### Audio samples:\n\n[apollo11-original](https://github.com/yas-sim/csm_voice_encode_synthesis_python/blob/main/resources/apollo11_launch.wav?raw=true)  \n\u003caudio controls\u003e\n    \u003csource src=\"https://github.com/yas-sim/csm_voice_encode_synthesis_python/blob/main/resources/apollo11_launch.wav?raw=true\"\u003e\n\u003c/audio\u003e  \n\n[apollo11-csm](https://github.com/yas-sim/csm_voice_encode_synthesis_python/blob/main/resources/apollo11_launch_out.wav?raw=true)\n\n\u003caudio controls\u003e\n    \u003csource src=\"https://github.com/yas-sim/csm_voice_encode_synthesis_python/blob/main/resources/apollo11_launch_out.wav?raw=true\"\u003e\n\u003c/audio\u003e  \n\n### Memo:  \nConvert audio data into mono/32Kbps wav format data.\n\n```sh\nffmpeg\\bin\\ffmpeg.exe -i input.wav -ar 32000 -ac 1 -f wav \"output.wav\"\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyas-sim%2Fcsm_voice_encode_synthesis_python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyas-sim%2Fcsm_voice_encode_synthesis_python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyas-sim%2Fcsm_voice_encode_synthesis_python/lists"}