gzweigle / open-hybrid-piano

Building a hybrid MIDI digital piano
https://www.youtube.com/@gzpiano88
GNU General Public License v3.0
44 stars 1 forks source link

Hybrid MIDI Digital Piano

Also known as stem piano

alt text

How to Build A Hybrid Piano

Go straight to the pianos/ directory!

But first, please read the WARNINGS and HELP files that are located in this root directory.

See the STATUS file for status of the project and repository.

If you would like to contribute hardware, software, mechanical, or firmware to the project, see the CONTRIBUTING file.

If you build a piano, please share about it in the Show & Tell Discussions of this repository.

Overview

A hybrid piano combines the physical action of an acoustic piano with MIDI, sound generation, and other features of a digital keyboard. Some piano manufacturers sell hybrid pianos.

This project ("stem piano") is an open-source hybrid digital piano.

The qualifier digital is important. It means that signals are sampled with an analog-to-digital converter (ADC) and then all processing is with a microprocessor. Therefore, once the hardware is installed all algorithms, improvements, and new features are with software or firmware.

The repository includes schematics, printed circuit board layouts, firmware source files for the real-time processing, optional software source files for Ethernet connected features, and lists of required hardware components.

A physical piano action, or other instrument, is required. The electronics and code (stem piano) will work with a grand or upright piano action. Mechanical suggestions are included but not detailed mechanical instructions.

The platform and code could also adapt to building a range of other unique and innovative musical instruments.

Directory Organization

The components required to build a piano are located in the firmware/, hardware/, mechanical/ and software/ directories. In each directory is a research subdirectory and a releases subdirectory.

Each research subdirectory contains code and hardware for work in progress. It could have major bugs. It could be incomplete.

Each releases subdirectory contains code and hardware ready for use. The material in releases could partially duplicate material in one or more research subdirectories. However, the requirement is that anything in releases is well-tested, complete, and ready-to-use.

More details on each directory:

design/

Designs and engineering analysis. To keep the repository small, associated data may be located in the separate Piano-Data repository.

documentation/

High level documentation.

Includes documentation/video_documentation.md for historical, how-to, and other documentation in video form.

pianos/

Building a complete piano requires firmware, hardware, mechanical, and sometimes software. The pianos/ directory provides information on everything needed to build a specific version of a musical instrument.

Best place to start for learning the firmware, software, mechanical, and hardware.

firmware/

Real-time code running on custom hardware from hardware/ directory.

hardware/

All printed circuit boards and related parts and design. A separate open-source license for the hardware is in this directory and applies to all hardware.

mechanical/

Anything to physically build a piano. A separate open-source license for mechanical is in this directory and applies to anything mechanical.

software/

Code running on a standard computer or Raspberry Pi connected to the piano over Ethernet or MIDI.

Repositories

(1) Original

This "DIY" repository. Organized per above.

(2) Stem Piano

https://github.com/stem-piano

Experimenting with a GitHub organization. The documentation and links for building individual pianos is here. Links are back to this original "DIY" repository.

May or may not migrate all files in the future. To be decided in the future.

Related Projects:

Work was inspired, in part, by https://github.com/ekumanov/cybrid

See also:

"stem piano" because?