{"id":21181635,"url":"https://github.com/utility-code/chordgenplay","last_synced_at":"2025-03-14T19:28:23.669Z","repository":{"id":91712966,"uuid":"293576407","full_name":"utility-code/ChordGenPlay","owner":"utility-code","description":"Script audio. Or generate vast quantities for deep learning.","archived":false,"fork":false,"pushed_at":"2020-09-10T17:28:35.000Z","size":9,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-21T12:23:24.048Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/utility-code.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":"2020-09-07T16:19:08.000Z","updated_at":"2022-01-10T13:04:12.000Z","dependencies_parsed_at":"2023-03-22T18:06:17.254Z","dependency_job_id":null,"html_url":"https://github.com/utility-code/ChordGenPlay","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/utility-code%2FChordGenPlay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utility-code%2FChordGenPlay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utility-code%2FChordGenPlay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utility-code%2FChordGenPlay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/utility-code","download_url":"https://codeload.github.com/utility-code/ChordGenPlay/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243634783,"owners_count":20322824,"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":[],"created_at":"2024-11-20T17:51:42.099Z","updated_at":"2025-03-14T19:28:23.646Z","avatar_url":"https://github.com/utility-code.png","language":"Python","readme":"- [ChordGenPlay](#chordgenplay)\n  - [Why?](#why)\n  - [What can this bad boy do?](#what-can-this-bad-boy-do)\n  - [How do I use this madness?](#how-do-i-use-this-madness)\n  - [Supported parameters](#supported-parameters)\n  - [Examples](#examples)\n  - [Future plans (Contributions welcome :))](#future-plans-contributions-welcome-)\n\n# ChordGenPlay\n\n- Take an arbitrary combination of audio files (eg: chords)\n- Write down a simple line defining it (eg: \"g\\*3;a\\*4;am\"). Or leave it blank if you want randomness.\n- Have generated audio :)\n\n  \n## Why?\n\n- Experiment with audio\n- Use it if you want to fast track your creative process\n- Interested in **deep learning** with audio?? Generate infinite data (yayyy)\n- Maybe make cool sound effects just by the power of script\n\n## What can this bad boy do?\n\n- Mini language of sorts to define any arbitrary audio pattern\n- Repeat an many times as you want by adding a * (eg: g*3 will repeat g.wav 3 times)\n- You get one track at the end with the entire combinations. Repeated or whatever you want\n- Generate n clips\n- Generate n random clips from the audio. (customize the randomgen function if you need it)\n- Batch generator / randomness (Cuz Deep Learning4life)\n\n## How do I use this madness?\n\n- Get python\n- Install librosa, numpy, scipy, tqdm. (I will be adding a requirements.txt soon)\n- Make a folder called music/ pass your folder as an argument\n- Rename your audio files to usable ones. (eg: a.wav, g.wav). This is not required but it will save you typing\n- python3 runner.py --dir \"music/\" --rate 22040 --order \"g*3;a*2\" --fname \"outputs\" --random 0 --n 10\n\n## Supported parameters\n\n```py\npython3 runner.py --dir \"music/\" --rate 22040 --order \"g*3;a*2;a+*5\" --fname \"outputs\" --random 1 --n 20 --rep 3 --maxlen 10\n```\n\n1. \"-d\", \"--dir\" : Choose the folder to take the music from\n2. \"-r\", \"--rate\" : Rate of audio generated\n3. \"-o\", \"--order\" : File order and repetition\n4. \"-f\", \"--fname\" : Output file name\n5. \"-ran\", \"--random\" : 1 or 0 =\u003e Randomly pick audio/ shuffle given order or preserve order\n6. \"-n\", \"--number\" : How many audio files you want\n7. \"-m\", \"--rep\" : How many times should each file be repeated (maximum)\n8. \"-l\", \"--maxlen\" : Maximum audio size . Aka max number of files picked \n\n## Examples\n\n1. Generate 20 songs with random combinations from the file and repeat each audio a maximum of 3 times. Max length should be 10\n```py\npython3 runner.py --dir \"music/\" --rate 22040 --order \"g*3;a*2;a+*5\" --fname \"outputs\" --random 1 --n 20 --rep 3 --maxlen 10\n```\n\n## Future plans (Contributions welcome :)) \n\n- Repeat entire sequences. (Code done. Have to think of a syntax)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futility-code%2Fchordgenplay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Futility-code%2Fchordgenplay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futility-code%2Fchordgenplay/lists"}