All Projects → BShakhovsky → PianoTranscription_Windows

BShakhovsky / PianoTranscription_Windows

Licence: other
MIDI parser (Juce library is used) + "PianoFingering_CalcModule" + "PianoAudioToMidi" + "PianoKeyboard" + WinAPI GUI

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to PianoTranscription Windows

PolyphonicPianoTranscription
Recurrent Neural Network for generating piano MIDI-files from audio (MP3, WAV, etc.)
Stars: ✭ 146 (+180.77%)
Mutual labels:  piano-transcription, audio-to-midi
hackthepiano
Learn reading notes on the fly fast and easy
Stars: ✭ 18 (-65.38%)
Mutual labels:  midi, piano
guitar-tabs-to-MIDI
A program that converts Guitar Tabs into MIDI files.
Stars: ✭ 38 (-26.92%)
Mutual labels:  midi, piano
multipiano
A vuejs application which allow users to play piano with friends!
Stars: ✭ 33 (-36.54%)
Mutual labels:  midi, piano
tune
Make xenharmonic music and create synthesizer tuning files for microtonal scales.
Stars: ✭ 73 (+40.38%)
Mutual labels:  midi, piano
PlayPiano
Implement and simulate piano on web page.
Stars: ✭ 16 (-69.23%)
Mutual labels:  piano, piano-fingering
rtmidi2
python bindings to rtmidi allowing to listen to multiple ports simultaneously
Stars: ✭ 16 (-69.23%)
Mutual labels:  midi
MusicManipulations.jl
Manipulate music data, humanize, quantize and analyze music performances with Julia
Stars: ✭ 41 (-21.15%)
Mutual labels:  midi
jamhub
low-latency jamming space for musicians
Stars: ✭ 29 (-44.23%)
Mutual labels:  midi
MiDispositivoMIDI V3
Open source Arduino MIDI controller.
Stars: ✭ 49 (-5.77%)
Mutual labels:  midi
Sweet-Sixteen
Sweet Sixteen eurorack module by Tesseract Modular
Stars: ✭ 28 (-46.15%)
Mutual labels:  midi
midi-m300
Tool for converting MIDI tracks to M300 speaker gcode for 3D printers
Stars: ✭ 57 (+9.62%)
Mutual labels:  midi
midi2pico
Midi to PICO-8 converter
Stars: ✭ 51 (-1.92%)
Mutual labels:  midi
PianoKeyboard
Piano keyboard view for iOS, in Swift
Stars: ✭ 105 (+101.92%)
Mutual labels:  piano
godot-midi-input-example
Example of MIDI Input handling (e.g keyboard/controller) for the Godot game engine.
Stars: ✭ 35 (-32.69%)
Mutual labels:  midi
midi-recorder
🎹 The easiest way to record MIDI. No install. Automatically records.
Stars: ✭ 38 (-26.92%)
Mutual labels:  midi
mt32-pi-control
MT32-PI.EXE/MT32-PI.TTP/mt32-pi-ctl is a control program for the mt32-pi MIDI synthesizer available for DOS PCs, Atari ST and Amiga computers as well as modern systems running Linux and Windows.
Stars: ✭ 22 (-57.69%)
Mutual labels:  midi
microfreak-reader
An application to read and display the presets stored in the Arturia MicroFreak memory.
Stars: ✭ 32 (-38.46%)
Mutual labels:  midi
VSLilyPond
VSCode Extension for LilyPond
Stars: ✭ 59 (+13.46%)
Mutual labels:  midi
midi
An Observable based library for the use of Web MIDI API with Angular
Stars: ✭ 35 (-32.69%)
Mutual labels:  midi

Update (2021 May)

There is also version for Android 4.4 KitKat (API level 19) or higher, for it click on the following screenshot:

or get it on Google Play:

Android version also has the real-time transcription feature which may help you to learn the MIDI chords on your real piano. The app will recognize the notes you play and highlight them. Once you correctly play all the notes of the chord simultaneously, it will proceed to the next MIDI chord, and so on.

Description

3D-piano, with an option of advising on which fingers to use to press each piano key, accuracy of finger numbers is around 75%.

It is not possible to play on this piano using mouse nor keyboard, it only plays audio files (and it can also extract audio-stream of some video formats). Not only MIDI-files are supported, but also MP3, WAV, etc. Polyphonic piano transcription feature will generate MIDI from audio/video.

No instrument information is extracted, and all transcribed notes get combined into one part. So, "Fingering" option would not be applicable in this case, as it requires to have 2 separate MIDI-tracks for left and right hands. The accuracy depends on the complexity of the song, and is obviously higher for solo piano pieces. Currently, accuracy for piano pieces is around 75%.

How to Install

Download the latest zip-archive

No installation is required, just open file "Piano Transcription 3D.exe".

System Requirements

Windows 7 or later.

Supported File Types

Not only *.mid (MIDI) or *.kar (Karaoke) files are now supported, but also most common audio formats. The program will automatically transcribe audio into midi.

Want to transcribe some piano piece from YouTube? You can google for websites that will convert video from YouTube to MP3. You then can open downloaded MP3 in my program.

About Midi/Karaoke Files

You can find plenty of them over the internet. Those *.mid or *.kar files usually consist of several tracks, including percussion. You probably would not want to play percussion-tracks on piano, because their "MIDI-notes" do not overload correctly on piano-notes. So, in the most cases, you may choose any kind of tracks, but percussions (like "Drums", "Rhythms", "Hit", "Blow", "Strike", "Clash", etc.) will be disabled.

Troubleshooting

1. Missing DLL's

If you encounter errors about missing DLL's like below:

or error about missing audio device like below:

or the following strange error:

then try to reinstall the latest possible DirectX (even if you already have it):

https://www.microsoft.com/en-us/download/details.aspx?id=35

If there is still some error, then sorry, you are screwed 😞

2. Polyphonic audio to MIDI conversion: not all media file formats supported

For video-files it may work, or it may not 😞 Not all audio/video formats have been tested, e.g. for some reason it does not work correctly for MP4 videos and returns strange results. So, if something is wrong, try to convert the file to MP3, and then feed this MP3 into my program.

How to Use

  1. Drag-and-drop any MIDI- or Karaoke-file onto the application.

  2. Or alternatively, most common audio formats are now supported (such as MP3, WAV, etc.). The program will automatically transcribe audio and save as a MIDI-file. However, no instrument information is extracted, and all transcribed notes get combined into one part. The accuracy depends on the complexity of the song, and is obviously higher for solo piano pieces. Accuracy for piano pieces is around 75%. Also see Troubleshooting

  3. Select appropriate track for left hand, and another track for right hand (not applicable for MIDI generated from audio/video, because there will be just one track). Finger numbers for left hand will be drawn with blue color, for right hand - with red. Accuracy of finger numbers is around 75%. If you are not interested in finger numbers, you can skip this step.

  4. Select any additional tracks in "Remaining Tracks" list, if you want. Finger numbers for those additional tracks will not be calculated or drawn. Percussion-tracks (like "Drums", "Rhythms", "Hit", "Blow", "Strike", "Clash", etc.) will be disabled.

  5. If you want to go forward or backwards chord-by-chord, you can use scroll-bar left or right button. Or if you want just to play the song in real time, press "Play" button. For smoother performance, try not to move mouse over the program while playing in 3D-mode.

  6. By default, each note is being played with different volume. If you want all notes to be played with the same maximal loudness, check "Normalize volume" box.

  7. Use left mouse button to rotate, middle (or press mouse wheel) to move, scroll mouse wheel to zoom, double-click on mouse wheel to fit the piano inside the window. Right click --> choose context menu to restore the default 3D-piano position.

  8. Enjoy 😄

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].