2022 our 25th year online!

Welcome to the Piano World Piano Forums
Over 3 million posts about pianos, digital pianos, and all types of keyboard instruments.
Over 100,000 members from around the world.
Join the World's Largest Community of Piano Lovers (it's free)
It's Fun to Play the Piano ... Please Pass It On!

SEARCH
Piano Forums & Piano World
(ad)
Who's Online Now
62 members (AndyOnThePiano2, benkeys, brennbaer, APianistHasNoName, AlkansBookcase, Charles Cohen, BillS728, 12 invisible), 1,867 guests, and 322 robots.
Key: Admin, Global Mod, Mod
Previous Thread
Next Thread
Print Thread
Hop To
#3078271 02/04/21 09:19 AM
Joined: Oct 2018
Posts: 422
N
Full Member
OP Offline
Full Member
N
Joined: Oct 2018
Posts: 422
Hello fellow pianists. To improve my actual play on the Piano, I've built something that you can use to track your Piano-Play. It's still an early draft / version. Actively working on it.

All you need is a copy of PianoTeq, provide the tool the path for the MIDI, and a little local or webserver.

For Windows, it would be subsystem for Linux, cause you need find, awk, etc at the moment.

For Linux, it's easy, just follow the instructions.

Hope you guys enjoy smile


https://github.com/zDEFz/PianoteqMIDI-Statistics/

[Linked Image]

Last edited by nicknameTaken; 02/04/21 09:20 AM.
Joined: Aug 2017
Posts: 1,676
O
1000 Post Club Member
Offline
1000 Post Club Member
O
Joined: Aug 2017
Posts: 1,676
That's really neat! Will check it out. Thanks for sharing.

I wish Pianoteq would integrate a functionality like that in their software.

Osho


Mason & Hamlin BB
Kawai Novus NV10 + VST + Genelec 8050B monitors.
Current VST favorites (in the order of preference): Pianoteq 7/VSL Synchron Concert D//Garritan CFX/Embertone Walker D Full

[Linked Image]
Joined: Oct 2018
Posts: 422
N
Full Member
OP Offline
Full Member
N
Joined: Oct 2018
Posts: 422
Originally Posted by Osho
That's really neat! Will check it out. Thanks for sharing.

I wish Pianoteq would integrate a functionality like that in their software.

Osho

Yea, me too. But someone must do the start smile
Glad you like it. You always can visit the working example here https://stat.def0.de/

Joined: Aug 2017
Posts: 1,676
O
1000 Post Club Member
Offline
1000 Post Club Member
O
Joined: Aug 2017
Posts: 1,676
You should also post this in Modartt forums (unless you have already done this).

Osho


Mason & Hamlin BB
Kawai Novus NV10 + VST + Genelec 8050B monitors.
Current VST favorites (in the order of preference): Pianoteq 7/VSL Synchron Concert D//Garritan CFX/Embertone Walker D Full

[Linked Image]
Joined: Oct 2018
Posts: 422
N
Full Member
OP Offline
Full Member
N
Joined: Oct 2018
Posts: 422
Originally Posted by Osho
You should also post this in Modartt forums (unless you have already done this).

Osho



I have, but, due to the cluttered thread, no one looks at it seriously. https://forum.modartt.com/viewtopic.php?pid=973582#p973582

Joined: Sep 2009
Posts: 14,439
Yikes! 10000 Post Club Member
Offline
Yikes! 10000 Post Club Member
Joined: Sep 2009
Posts: 14,439
Is this specific to Pianoteq?
Rather, it seems specific to Linux.

Joined: Oct 2018
Posts: 422
N
Full Member
OP Offline
Full Member
N
Joined: Oct 2018
Posts: 422
@MacMacMac, it is PianoTeq specific and it is built for Linux, but can be used on any Windows OS. The commands used for CSV generation are Linux specific.
It's really a "set it and forget it" thing. It's so great.
By the way, I absolutely dislike Windows, because I cannot keep my data safe there. There are a lot technical reasons, such as the NTFS filesystem itself.

However, you can use Linux Subsystem for Windows or simply a raspberry, or a virtual machine.
Linux Subsystem for Windows lets you run Linux commands under Windows.

Alternatively, you can work on replicating those commands specifically on Windows native, using PowerShell. Then all you need is https://www.apachefriends.org/ or the likes to host your HTML on, locally.

#!/usr/bin/bash

find /root/MIDI/ -name "*.mid" | sed '/debris/d' | awk '{notes[$1] += $4; seconds[$1] += $6} END{for (i in notes) print i"""" ", """seconds[i]/3600""}' | sort | sed 's#.*/##' | sed 's/$//' | sed -e '1i"DateTime", "Hours"' > /var/www/stat/out.csv

find /root/MIDI/ -name "*.mid" | sed '/debris/d' | awk 'BEGIN{;} {match($1, /[0-9]*-[0-9]*/); str=substr($1,RSTART, RLENGTH); time[str]+=$6;} END{for (i in time) printf("%s,%.2g\n", i, time[i]/3600)}' | sed '/debris/d' > /var/www/stat/out_m.csv

Sample output:

http://stat.def0.de/out.csv
http://stat.def0.de/out_m.csv


The thing is, they are generated from all file paths in the PianoTeq MIDI folder that end on *.mid and are not a debris folder. Cause PianoTeq didn't had another way of fetching those values.

Last edited by nicknameTaken; 02/04/21 07:44 PM.
Joined: Sep 2009
Posts: 14,439
Yikes! 10000 Post Club Member
Offline
Yikes! 10000 Post Club Member
Joined: Sep 2009
Posts: 14,439
I have WSL on Windows. But I don't see a means to read MIDI data from there.

Joined: Aug 2017
Posts: 1,756
E
1000 Post Club Member
Offline
1000 Post Club Member
E
Joined: Aug 2017
Posts: 1,756
Mac, just out of curiosity, which WSL version?

FWIW, I installed WSL version 2 on another laptop to run docker for a software development project.

When it got to the point where I needed to run linux dd command to create an installer on a USB stick, I found this.

Unfortunately I did not try the steps in that page as I ran out of time and drive to do it (I had the development environment already running on a VM with a performance good enough).

Of course, that guide is for enabling USB stick; it involves recompiling the WSL kernel, which I have done, BTW - it is very straightforward. I suppose it should be possible to have the USB MIDI running, but I would not hold my breadth. smile


Kawai ES8, Roland RD2000, Yamaha AG06 mixer, Presonus Eris E5 monitors, Sennheiser HD598SR phones.
Joined: Nov 2018
Posts: 1,797
N
1000 Post Club Member
Offline
1000 Post Club Member
N
Joined: Nov 2018
Posts: 1,797
Originally Posted by MacMacMac
I have WSL on Windows. But I don't see a means to read MIDI data from there.

I was quite puzzled by this as well.

The answer to this question is that nicknameTaken is absolutely not parsing MIDI data.

nicknameTaken is parsing filenames for the data.

This is an example filename that is generated by Pianoteq in eternal archive mode:

Code
2020-12-27 1637 (Sunday) 461 notes, 226 seconds.mid

So nicknameTaken is able to deduce date, time, number of notes, and seconds played, purely from the filename. Then, chart them.

Clever.

Originally Posted by nicknameTaken
By the way, I absolutely dislike Windows, because I cannot keep my data safe there. There are a lot technical reasons, such as the NTFS filesystem itself.

Sadly, this is true for MacOS as well. It writes garbage directories/files everywhere, updates metadata unprompted, obfuscates and hides important files in "packages" or "libraries", and is quite good at corrupting stuff.

Joined: Oct 2018
Posts: 422
N
Full Member
OP Offline
Full Member
N
Joined: Oct 2018
Posts: 422
@navindra, thanks for clarifying this for me. I'm not very good in communicating (shrugs)

Yea, I currently basically just sync my files from macOS machine to linux-server (VPS), so that I can access it anywhere / show everybody.

I just thought about it, and I think you can make it also work on macOS, but for that, we may have to adjust the syntax a bit.
But currently, I'm not yet up for that task. Handling those commands on Linux is easier... I just don't know why the same command doesn't run on macOS in the same syntax.

>So nicknameTaken is able to deduce date, time, number of notes, and seconds played, purely from the filename. Then, chart them.


Yes, although I have removed number of notes from the output. I just couldn't make sense charting that. Although, I could chart it. Maybe as tooltip?
But what good would it be to know how many notes you had played each day?

Joined: Oct 2018
Posts: 422
N
Full Member
OP Offline
Full Member
N
Joined: Oct 2018
Posts: 422
Hey guys smile
Wanted to push here, so that it won't be forgotten.

The incentive was, that it becomes popular in some way, so that Modartt integrates something comparable into their software.

I mean, the current "solution", I have stated, works both on desktop and mobile, whereever I am...
You could be on your gig, having PianoTeq on as 'listener', to archive what was played, come back home and it's all there...

Last edited by nicknameTaken; 02/07/21 11:47 AM.

Link Copied to Clipboard
What's Hot!!
Piano World Has Been Sold!
--------------------
Forums RULES, Terms of Service & HELP
(updated 06/06/2022)
---------------------
Posting Pictures on the Forums
(ad)
(ad)
New Topics - Multiple Forums
Estonia 1990
by Iberia - 04/16/24 11:01 AM
Very Cheap Piano?
by Tweedpipe - 04/16/24 10:13 AM
Practical Meaning of SMP
by rneedle - 04/16/24 09:57 AM
Country style lessons
by Stephen_James - 04/16/24 06:04 AM
How Much to Sell For?
by TexasMom1 - 04/15/24 10:23 PM
Forum Statistics
Forums43
Topics223,390
Posts3,349,223
Members111,632
Most Online15,252
Mar 21st, 2010

Our Piano Related Classified Ads
| Dealers | Tuners | Lessons | Movers | Restorations |

Advertise on Piano World
| Piano World | PianoSupplies.com | Advertise on Piano World |
| |Contact | Privacy | Legal | About Us | Site Map


Copyright © VerticalScope Inc. All Rights Reserved.
No part of this site may be reproduced without prior written permission
Powered by UBB.threads™ PHP Forum Software 7.7.5
When you purchase through links on our site, we may earn an affiliate commission, which supports our community.