# Rory
Learn Piano using MIDI files and a MIDI Keyboard<br/>
[](https://travis-ci.com/github/quintinfsmith/rory)
[](https://pypi.org/project/rory/)
[](https://pypi.org/project/rory/)
[](https://github.com/quintinfsmith/rory/blob/master/LICENSE)
<img src="https://raw.githubusercontent.com/quintinfsmith/rory/master/res/sample.svg" />
## Installation
```bash
pip install rory
```
## Usage
```bash
rory path/to/midi.mid [-t steps_to_transpose]
```
The song will only scroll upon hitting the correct key combinations.
*indicators*
- red: 'wrong note'
- green: 'correct note', but there are others needed
- orange: 'correct note' but you need to release and press again.
### Controls
'q': Quit<br/>
'h': Bring up help window<br/>
'j': Next State<br/>
'k': Previous state<br/>
'[': set loop start<br/>
']': set loop end<br/>
'/': stop looping<br/>
[number] 'i': ignore channel [number]<br/>
[number] 'p': jump to state [number]<br/>
### Notes
- Terminal needs to be 106+ characters wide.
- I've generated some scale excercises in scales/*.mid
Raw data
{
"_id": null,
"home_page": "https://github.com/quintinfsmith/rory",
"name": "rory",
"maintainer": "",
"docs_url": null,
"requires_python": "~=3.7",
"maintainer_email": "",
"keywords": "",
"author": "Quintin Smith",
"author_email": "smith.quintin@protonmail.com",
"download_url": "https://files.pythonhosted.org/packages/a5/e7/94a18f82740ef7e59765a05a9321ee36405df313c8427d8d6c2880856760/rory-0.3.5.tar.gz",
"platform": null,
"description": "# Rory\nLearn Piano using MIDI files and a MIDI Keyboard<br/>\n[](https://travis-ci.com/github/quintinfsmith/rory)\n[](https://pypi.org/project/rory/)\n[](https://pypi.org/project/rory/)\n[](https://github.com/quintinfsmith/rory/blob/master/LICENSE)\n\n<img src=\"https://raw.githubusercontent.com/quintinfsmith/rory/master/res/sample.svg\" />\n\n## Installation\n```bash\npip install rory\n```\n\n## Usage\n```bash\nrory path/to/midi.mid [-t steps_to_transpose]\n```\n\nThe song will only scroll upon hitting the correct key combinations.\n*indicators*\n- red: 'wrong note'\n- green: 'correct note', but there are others needed\n- orange: 'correct note' but you need to release and press again.\n\n### Controls\n'q': Quit<br/>\n'h': Bring up help window<br/>\n'j': Next State<br/>\n'k': Previous state<br/>\n'[': set loop start<br/>\n']': set loop end<br/>\n'/': stop looping<br/>\n[number] 'i': ignore channel [number]<br/>\n[number] 'p': jump to state [number]<br/>\n\n### Notes\n- Terminal needs to be 106+ characters wide.\n- I've generated some scale excercises in scales/*.mid\n\n\n\n",
"bugtrack_url": null,
"license": "GPL-2.0",
"summary": "Play along to MIDI files in console",
"version": "0.3.5",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "5c7bc9053efe94560d1e9e4b5db1339e",
"sha256": "a45c5df6737de55613391cb9dacee7d32767b6f04318e9e77081c981316ecdfc"
},
"downloads": -1,
"filename": "rory-0.3.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5c7bc9053efe94560d1e9e4b5db1339e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "~=3.7",
"size": 28944,
"upload_time": "2022-05-14T18:12:12",
"upload_time_iso_8601": "2022-05-14T18:12:12.192731Z",
"url": "https://files.pythonhosted.org/packages/73/ec/7dcf3ba326db5382f77c4cf44dda0e7b407605248bbd7aaa5e5a0c21a2b1/rory-0.3.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "003466d7c33207726a58505c915f7785",
"sha256": "07e4dd2cedc0343575a21152a462a5ef9f92ddb517d0391b94f3e0a9c9697c75"
},
"downloads": -1,
"filename": "rory-0.3.5.tar.gz",
"has_sig": false,
"md5_digest": "003466d7c33207726a58505c915f7785",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "~=3.7",
"size": 27851,
"upload_time": "2022-05-14T18:12:13",
"upload_time_iso_8601": "2022-05-14T18:12:13.803204Z",
"url": "https://files.pythonhosted.org/packages/a5/e7/94a18f82740ef7e59765a05a9321ee36405df313c8427d8d6c2880856760/rory-0.3.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-05-14 18:12:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "quintinfsmith",
"github_project": "rory",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"lcname": "rory"
}