{"id":18041970,"url":"https://github.com/camilstaps/gutenberg-cw","last_synced_at":"2025-04-05T02:41:21.319Z","repository":{"id":91511246,"uuid":"85456606","full_name":"camilstaps/Gutenberg-CW","owner":"camilstaps","description":"Generate CW MP3 files from random books from the Gutenberg project, in different languages","archived":false,"fork":false,"pushed_at":"2017-03-31T09:20:18.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-10T10:53:02.887Z","etag":null,"topics":["cw","gutenberg","ham-radio","morse-code"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/camilstaps.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":"2017-03-19T06:48:36.000Z","updated_at":"2018-12-25T15:39:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"aec63e2a-93e9-42c9-8766-1efb9a6c6628","html_url":"https://github.com/camilstaps/Gutenberg-CW","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilstaps%2FGutenberg-CW","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilstaps%2FGutenberg-CW/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilstaps%2FGutenberg-CW/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilstaps%2FGutenberg-CW/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/camilstaps","download_url":"https://codeload.github.com/camilstaps/Gutenberg-CW/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247280176,"owners_count":20912965,"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":["cw","gutenberg","ham-radio","morse-code"],"created_at":"2024-10-30T16:22:20.300Z","updated_at":"2025-04-05T02:41:21.302Z","avatar_url":"https://github.com/camilstaps.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gutenberg CW\n\nThis is a shell script which\n\n1. Fetches books in different languages from [Project Gutenberg][gutenberg]\n2. Selects random lines from the books\n3. Converts these lines to morse code in MP3 format at different speeds\n\nThis is useful for training CW on semi-random text: parts of sentences make\nsense, but language changes continuously and within sentences.\n\n## Just give me the MP3s\n\nPlenty of material on different speeds is available at\nhttps://github.com/camilstaps/Gutenberg-CW/releases.\n[Let me know](mailto:info@camilstaps.nl) if you need more, different settings\nor so, and are unable to generate the files yourself - I will upload some more\nthen.\n\n## Usage\n\nFor the first time, use:\n\n```bash\n./genlib.sh new\n```\n\nThis may take a while. After that, you can remove the `cache` directory (which\ncontains the entire Gutenberg catalogue listing) and simply use:\n\n```bash\n./genlib.sh\n```\n\nThis will use the same books as before, but select different random lines. To\nfetch new books, use `./genlib.sh new` again (which will need to download the\nwhole catalogue again, in case you removed it).\n\n## Configuration\n\nOptions can be set at the top of the script:\n\n### Book Settings\n- `LANGS`: the languages to select books from\n- `FILESPERLANG`: how many books to pick per language\n- `LINECOUNT`: how many lines to select from all the books\n\n### CW Settings\n- `WPMS`: a list of the character speeds to generate\n- `EWPMS`: a list of the effective character speeds (spacing speed)\n- `FREQ`: the frequency tone\n- `DURATION`: the duration per MP3 file in seconds (approximately; the sentence\n  will be finished)\n\n### MP3 Settings\n- `AUTHOR`: the ID3 author tag\n- `ALBUM`: the ID3 album tag (the WPM and EWPM are appended, such that an album\n  title `CW Book` will become e.g. `CW Book (20/12 wpm)`)\n- `TITLE`: the ID3 title tag (the nr. of the file is appended, such that a\n  title `CW Book` will become e.g. `CW Book - 2`)\n- `FILENAME`: the filename (the nr. is appended, such that a filename `book`\n  will become e.g. `book0002.mp3`)\n\n## Acknowledgements\n\nConverting text to CW is done using Fabian Kurz's [ebook2cw][].\n\n## Copyright and license\n\nThis script was written by [Camil Staps][cs] PD7LOL. It is hereby released into\nthe public domain.\n\n[cs]: https://camilstaps.nl\n[ebook2cw]: http://fkurz.net/ham/ebook2cw.html\n[gutenberg]: http://www.gutenberg.org/wiki/Main_Page\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamilstaps%2Fgutenberg-cw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcamilstaps%2Fgutenberg-cw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamilstaps%2Fgutenberg-cw/lists"}