{"id":13440087,"url":"https://github.com/chrisdonahue/ddc","last_synced_at":"2025-04-13T11:09:43.681Z","repository":{"id":23810946,"uuid":"92370461","full_name":"chrisdonahue/ddc","owner":"chrisdonahue","description":"Dance Dance Convolution dataset tools and models","archived":false,"fork":false,"pushed_at":"2022-03-23T14:54:30.000Z","size":23199,"stargazers_count":225,"open_issues_count":8,"forks_count":43,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-13T11:09:40.195Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/chrisdonahue.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-25T06:04:01.000Z","updated_at":"2025-04-13T04:15:40.000Z","dependencies_parsed_at":"2022-07-27T04:17:23.164Z","dependency_job_id":null,"html_url":"https://github.com/chrisdonahue/ddc","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisdonahue%2Fddc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisdonahue%2Fddc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisdonahue%2Fddc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisdonahue%2Fddc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrisdonahue","download_url":"https://codeload.github.com/chrisdonahue/ddc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248703199,"owners_count":21148118,"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-07-31T03:01:19.686Z","updated_at":"2025-04-13T11:09:43.657Z","avatar_url":"https://github.com/chrisdonahue.png","language":"Python","funding_links":[],"categories":["Python","语音识别与合成_其他"],"sub_categories":["网络服务_其他"],"readme":"# Dance Dance Convolution\n\nDance Dance Convolution is an automatic choreography system for Dance Dance Revolution (DDR), converting raw audio into playable dances.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"docs/fig1.png\" width=\"650px\"/\u003e\n\u003c/p\u003e\n\nThis repository contains the code used to produce the dataset and results in the [Dance Dance Convolution paper](https://arxiv.org/abs/1703.06891). You can find a live demo of our system [here](https://ddc.chrisdonahue.com) as well as an example [video](https://www.youtube.com/watch?v=yUc3O237p9M).\n\nThe `Fraxtil` and `In The Groove` datasets from the paper are amalgamations of three and two StepMania \"packs\" respectively. Instructions for downloading these packs and building the datasets can be found below.\n\nWe are in the process of reimplementing this code (under branch `master_v2`), primarily to add on-the-fly feature extraction and remove the essentia dependency. However, you can get started with `master` if you are eager to dance.\n\nPlease email me with any issues: cdonahue \\[@at@\\] ucsd \\(.dot.\\) edu\n\n## Attribution\nIf you use this dataset in your research, cite via the following BibTex:\n\n```\n@inproceedings{donahue2017dance,\n  title={Dance Dance Convolution},\n  author={Donahue, Chris and Lipton, Zachary C and McAuley, Julian},\n  booktitle={Proceedings of the 34th International Conference on Machine Learning},\n  year={2017},\n}\n```\n\n# Requirements\n\n* tensorflow \u003e1.0\n* [essentia 2.1 beta 3](https://github.com/MTG/essentia/releases/tag/v2.1_beta3)\n* numpy\n* tqdm\n* scipy\n\n# Directory description\n\n* `dataset/`: code to generate the dataset from StepMania files\n* `infer/`: code to run [demo](http://deepx.ucsd.edu/ddc) locally\n* `learn/`: code to train step placement (onset) and selection (sym) models\n* `scripts/`: shell scripts to build the dataset (`smd_*`) and train (`sml_*`)\n\n# Running demo locally\n\nThe demo (unfortunately) requires tensorflow 0.12.1 and essentia. `virtualenv` recommended\n\n1. Install [tensorflow 0.12.1](https://www.tensorflow.org/versions/r0.12/get_started/os_setup)\n1. Run server: `./ddc_server.sh`\n1. Send server choreography requests: `python ddc_client.py $ARTIST_NAME $SONG_TITLE $FILEPATH`\n\n# Building dataset\n\n1. Make a directory named `data` under `~/ddc` (or change `scripts/var.sh` to point to a different directory)\n1. Under `data`, make directories `raw`, `json_raw` and `json_filt`\n1. Under `data/raw`, make directories `fraxtil` and `itg`\n1. Under `data/raw/fraxil`, download and unzip:\n    * [(Fraxtil) Tsunamix III](https://fra.xtil.net/simfiles/data/tsunamix/III/Tsunamix%20III%20[SM5].zip)\n    * [(Fraxtil) Fraxtil's Arrow Arrangements](https://fra.xtil.net/simfiles/data/arrowarrangements/Fraxtil's%20Arrow%20Arrangements%20[SM5].zip)\n    * [(Fraxtil) Fraxtil's Beast Beats](https://fra.xtil.net/simfiles/data/beastbeats/Fraxtil's%20Beast%20Beats%20[SM5].zip)\n1. Under `data/raw/itg`, download and unzip:\n    * [(ITG) In The Groove](http://stepmaniaonline.net/downloads/packs/In%20The%20Groove%201.zip)\n    * [(ITG) In The Groove 2](http://stepmaniaonline.net/downloads/packs/In%20The%20Groove%202.zip)\n1. Navigate to `scripts/`\n1. Parse `.sm` files to JSON: `./all.sh ./smd_1_extract.sh`\n1. Filter JSON files (removing mines, etc.): `./all.sh ./smd_2_filter.sh`\n1. Split dataset 80/10/10: `./all.sh ./smd_3_dataset.sh`\n1. Analyze dataset (e.g.): `./smd_4_analyze.sh fraxtil`\n\n# Running training\n\n1. Navigate to `scripts/`\n1. Extract features: `./all.sh ./sml_onset_0_extract.sh`\n1. Generate chart `.pkl` files (this may take a while): `./all.sh ./sml_onset_1_chart.sh`\n1. Train a step placement (onset detection) model on a dataset: `./sml_onset_2_train.sh fraxtil`\n1. Train a step selection (symbolic) model on a dataset: `./sml_sym_2_train.sh fraxtil`\n1. Train and evaluate a Laplace-smoothed 5gram model on a dataset: `./sml_sym_2_mark.sh fraxtil 5`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisdonahue%2Fddc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisdonahue%2Fddc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisdonahue%2Fddc/lists"}