Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Zulko/pianoputer
Use your computer keyboard as a "piano".
https://github.com/Zulko/pianoputer
Last synced: 3 days ago
JSON representation
Use your computer keyboard as a "piano".
- Host: GitHub
- URL: https://github.com/Zulko/pianoputer
- Owner: Zulko
- License: other
- Created: 2014-06-09T11:43:36.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-03-22T04:52:12.000Z (8 months ago)
- Last Synced: 2024-04-14T05:54:03.957Z (7 months ago)
- Language: Python
- Homepage: http://zulko.github.io/blog/2014/03/29/soundstretching-and-pitch-shifting-in-python/
- Size: 2.68 MB
- Stars: 319
- Watchers: 8
- Forks: 92
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Pianoputer
This library lets you to play your computer keyboard like a piano. Here is a [video](https://www.youtube.com/watch?v=z410eauCnHc) of it in action on a French azerty keyboard.
## Play!
Pianoputer only works in python3 so make sure you are using python3
```
pip install pianoputer
pianoputer
```After a few seconds, the below image will appear in a window, indicating that the program is ready.
The cyan key is the key that the sample wav file is assigned to. By default this is c4, [the piano middle C at 261.6 hz](https://en.wikipedia.org/wiki/Piano_key_frequencies)
All white and black keys are transposed up and down from the anchor cyan key.![qwerty keyboard layout, c4 is cyan](https://raw.githubusercontent.com/Zulko/pianoputer/master/pianoputer/keyboards/qwerty_piano.jpg "qwerty keyboard layout, c4 is cyan")
## Changing the sound file
You can provide your own sound file with
```
pianoputer --wav my_sound_file.wav
```
For example:
```
pianoputer -w audio_files/bowl_c6.wav
```
All white and black keys are transposed up and down from the anchor cyan key.## Changing the keyboard layout
Note that the default keyboard configuration (stored in file `keyboards/qwerty_piano.txt`) is for the most commonly used QWERTY keyboards. You can change the configuration so that it matches your keyboard, for instance using the alternative `keyboards/azerty_typewriter.txt`:
```
pianoputer -k keyboards/azerty_typewriter.txt
```
![azerty typewriter](https://raw.githubusercontent.com/Zulko/pianoputer/master/pianoputer/keyboards/azerty_typewriter.jpg "azerty typewriter keyboard layout")
These `.txt` files simply contain a sequence of key names and are easy to edit. For convenience this repository also provides a `make_kb_file.py` program:
```
python make_kb_file.py
```This will let you press the keys in the order that you want, and create a new keyboard configuration file, by default `my_keyboard.kb` (just follow the instructions). You can then use the custom keyboard file with the --keyboard argument
## Local Installation
```
python3 -m venv venv
source venv/bin/activate
# if you want to edit the program and have pianoputer use your edits
pip install -e .
# to install pianoputer separately in your virtual environment
pip install .
pianoputer
```## Attributions
- c4 piano sample from https://en.wikipedia.org/wiki/File:Middle_C.mid## Changelog
https://github.com/Zulko/pianoputer/tree/master/CHANGELOG.md