4 ms·
Piano Emulator in Your Terminal
- JNRowe 3y agoSomewhat related: textual-paint¹ which uses the same interaction library, and was recently discussed here². I'm noting this purely because I'm enjoying the increasing frequency of rich³/textual⁴ posts, it hints at a latent desire for computing closer to how I enjoy it ;) ¹ https://github.com/1j01/textual-paint https://github.com/1j01/textual-paint ² https://news.ycombinator.com/item?id=36859880 https://news.ycombinator.com/item?id=36859880 ³ https://github.com/textualize/rich https://github.com/textualize/rich ⁴ https://textual.textualize.io/ https://textual.textualize.io/
- eliasdorneles 3y agoHello, the app creator here > it hints at a latent desire for computing closer to how I enjoy it ;) Agreed, same here!! If you like this, you might also like my solitaire clone for the terminal: https://github.com/eliasdorneles/usolitaire https://github.com/eliasdorneles/usolitaire =)
- tomduncalf 3y agoNeat UI, kind of reminded me of the Soundblaster Intelligent Organ for DOS! https://www.youtube.com/watch?app=desktop&v=nAt1rWF-kqE https://www.youtube.com/watch?app=desktop&v=nAt1rWF-kqE
- imiric 3y ago> Note that since the terminal doesn't really support key press and release events (it receives a stream of characters instead), there is no way to support two key playing at the same time with the computer keyboard only. Great project, but this seems like a major limitation. Why insist on doing this inside a terminal, when there are many other environments where this is not a problem?
- eliasdorneles 3y agoHello, UPiano creator here =) > Why insist on doing this inside a terminal... ? Simple: because it's fun!
- herewulf 3y agoSo you can play piano over SSH obviously! Okay, yes, there's X11 forwarding but this is a lot simpler, right?
- eliasdorneles 3y ago> So you can play piano over SSH obviously! Oh yeah, you can call some friends to login to the same server and play a concert over SSH!
- lostgame 3y ago>> Why insist on doing this inside a terminal, when there are many other environments where this is not a problem? Welcome to HN, where we make overcomplicated; obscure projects for the sheer passion and curiosity of it. Is this your first day? XD
- purpleidea 3y agoAIUI you need to open your terminal in raw mode if you want to get the full keypress/keydown events. But you'll have to parse the scancodes yourself. Very doable and kind of necessary if you want to do a terminal app here =D There's probably a library that can help you. Good luck!
- eliasdorneles 3y agoInteresting, thanks, i'll have to check out how that works =)
- ale42 3y agoFunny, reminds me of the old (~1990) MS-DOS based "FM Intelligent Organ" distributed with Sound Blaster cards (cf. http://www.vgmpf.com/Wiki/index.php?title=File:Sound_Blaster_-_DOS_-_FM_Organ.png http://www.vgmpf.com/Wiki/index.php?title=File:Sound_Blaster...). Nice to see people doing things in terminals :-)
- eliasdorneles 3y agoso cool! thanks for sharing that!
- growingkittens 3y agoMemory unlocked. Thank you!
- deleted 3y ago[deleted]
- amelius 3y agoDoes it support keyboard expression (velocity sensitivity, etc.)?
- ink_13 3y agoDo your mouse or (computer) keyboard offer those things? I am genuinely curious about how you think that would work.
- lostgame 3y agoCouldn’t this application theoretically support MIDI input? I haven’t looked to see if it does, but if it does; velocity is a simple enough feature to implement with even just a simple volume curve.
- eliasdorneles 3y agoHello, author here Not just yet, MIDI input is the next big feature I want to add! =) ("dang it!" protested a voice "i wanted this to be a surprise!! now, you've ruined it, announcing on HN...", "rhoo, it will be fine!" reassured another)
- amelius 3y agoSome keyboard switches (e.g. Hall-sensor based) could support this to some extent.
- eliasdorneles 3y agoAs far as I have explored the subject, the support for playing with the computer keyboard will probably be restricted to "simple plucking" (no support for "press and hold", and no velocity). For keyboard expression, it will be simpler to just use MIDI input.
- Jeff_Brown 3y agoI was hoping this was an open-source physical model of a piano. Pianoteq has been around for 17 years -- as long as patents last! -- and yet open source still seems to have nothing that comes close.
- RobbieGM 3y agoThere are some really good piano samples available for free--why put in the work for the physical modeling approach?
- mh- 3y agoIn (very) short: the resonance (notes interacting with one another), combined with the analog nature of varying velocity (how hard keys are pressed), combined with pedaling modifying both of the above. The resulting combinatorial explosion means that the number of samples you need to capture, in order to have a high-fidelity reproduction of a physical piano, is enormous. Putting aside the practicality of capturing all of this, you're still looking at tens to hundreds of gigabytes of raw samples per piano. (Great question, by the way.)
- phatskat 3y agoModeling also allows you to create an infinite number of instruments much more easily, and could allow someone to fine tune an instrument to just their liking
- yboris 3y agoGot an error trying to run upiano after installing FluidSynth via brew (brew install fluidsynth) Had to use this technique to make it work: https://stackoverflow.com/a/75339618/5017391 https://stackoverflow.com/a/75339618/5017391 Worked beautifully after.
- djmips 3y agoI know it's terminal graphics but is it possible to improve the piano keyboard graphic? Just wondering.
- kzrdude 3y agoBecause of Linus Åkesson's recent blogs and videos I want to make a piano app that plays using "his" accordion style keyboard layout for the notes. http://linusakesson.net/commodordion/index.php http://linusakesson.net/commodordion/index.php