Comments (7)
Is there such a stenography layout for a piano? It sounds like you want a dvorak layout but for most common piano keys or intervals. That sounds possible and like it may be a niche usage. How hard would it be to learn? Can you clarify what you were thinking here?
You are welcome to submit a new keyboard layout in a PR if you want.
If I don't hear from you in a couple of weeks I will close this issue as it is very old.
from pianoputer.
I made one in Java a while back, but the tone generators wouldn't die fast enough, which caused a memory overload in the browser. Here's the link: https://codepen.io/ki4jgt/pen/vrLgPy
Doing this would allow people to play a chord by holding down 3 keys in a row. It's why I came up with the idea in the first place. It's literally a full-fledged piano.
from pianoputer.
Ah, I kind of understand what you did. Your layout allows for playing music which does not contain any sharps orflats. It uses 8 keys for the left hand, 8 for the right hand and you use modifier keys to shift octaves.
If you want to submit a PR with this layout you are welcome to.
Some things to consider:
- you are mapping directly to from a keyboard key to a note value. our current keyboard file assumes that a keyboard is in ascending semitones. For yours to work, you will probably need to add a new format variant like
[key_name] [letter_key_value]
. We already allow lines like that but only to set where the anchor key whose audio is not transposed. - would you want your modifiers to work only when held down and a key is pressed like shift? Or like caps lock where when a persistent modifier is triggered everything is triggered. It would be helpful to add a modifiers section to the keyboard file describing these modifier keys
- pianoputer would need to be updated to understand and use the modifier keys
- to show the state of the modifier keys (active/inactive) you could use the update_key method to render the modifier key in a different color when it is active like yellow
- also, it would be nice to describe to the user what the modifier keys are, like '+1octave' and maybe label the notes that are played 'A B C D E F G' when the keys are pressed. To do that you could update the separate keyboardlayout package to allow the overrides argument to include updated label text info for a key. To be consistent with the rest of that package, the argument could be called txt_info.
from pianoputer.
In stenography, your fingers go between the keys of the top row, and the bottom row, so you can press all the keys on the keyboard at once by pressing down in the middle. Your thumbs sit between the AO and EU keys. So one should theoretically be able to hold down any combination of keys, without the need for them to be sticky.
The issue is quite old, so I cannot remember my plans for the layout, but I believe I was going to use the number bar (a long modifier key at the top of all steno machines, which changes the base keys into numbers, instead of words, to play sharps and flats. On a regular keyboard it would actually be the strip of numbers.
I had this idea because of Plover, an open source program which allows one to convert an NKRO keyboard into a stenography machine.
I'm actually trying to build my own now. For some reason, your response has awoken the desire to redo this project in Pyglet. I just don't know how to generate the tones, and keep them going from keydown to keyup.
from pianoputer.
Ah. If you want to build it separately keyboardlayout may still be useful to you. What do you think about adding a pyglet graphics backend to https://github.com/spacether/keyboardlayout?
from pianoputer.
I love this, and may actually use it. I was looking to overlay a keyboard onto my Stiano (I actually built this idea yesterday) project: https://github.com/ki4jgt/Stiano for new users to visualize what they're doing.
Just found out Pyglet has synth, so I'm going to be removing the Notes folder tonight. And transitioning to a pure synth sound. And then I'm thinking of using a 7z file format, but changing the extension for displaying sheet music onscreen.
But yeah, I'd love to incorporate your keyboard into my project.
from pianoputer.
Is it okay if I close this ticket? It sounds like you are building your suggestion in a different project.
from pianoputer.
Related Issues (20)
- Nothing happens?
- not supporting two-channel wave files HOT 2
- value error HOT 6
- Direction on the input audio file for the azerty keyboard HOT 2
- PYGAME 2 , SDL2: fix mixer errors, mixer.init(..., allowchanges=0) #861 HOT 7
- Running in background HOT 4
- video effect when playing pianoputer HOT 3
- Can't save KB file HOT 2
- Publishing to pypi HOT 3
- Cannot build/run from source HOT 2
- AttributeError: 'Event' object has no attribute 'key' HOT 6
- 跪拜大佬牛年福星高照 (Kneel down to the big man, the year of the ox???) HOT 2
- 请教您键盘布局图是怎么绘制的?(Ask you how to draw the keyboard layout) HOT 7
- Can i install this with python 3.11? HOT 1
- License
- pitch_shift() takes 1 positional argument but 2 positional arguments (and 1 keyword-only argument) were given HOT 1
- hey why doesnt this thing get fixed
- Harpsichord more than a PianoForte?? HOT 2
- Unable to Transpond Sound File HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pianoputer.