I recently composed this new piano piece, called INTENSO. Here it is:
I am pretty happy about the result, but not so much about the performance. I noticed that after I finished composing a new piece, I really can't be bothered about studying it properly. I have spent so much with it, and generally the last days of working on it are so intense (eh), that when the last notes are written on the paper I just want it to be done. But, since I want people to listen to it, I also have to push it under my hands and do a decent recording.
Anyway, I plan to play this piece in a public performance in May at the Bristol Music Club, together with a couple of other pieces of mine.
The piece is rhythmically unstable, but not in the way some of Ligeti's piano pieces are rhythmically unstable. And I think the harmonies are interesting. I try to make it melodically compelling, and violent at times. I am not following any particular style, just trying to compose stuff that I like. I am particularly proud of the part at 3'40''.
Now that I am getting more confident with piano composition in terms of piano writing and harmonic progressions, I am realizing that the most difficult thing is the structure. In my previous longish piece, the Little Rhapsodic Waltz, the structure was completely missing. In this one, I tried to have something resembling a Chopin's Ballade form, but I can see that I haven't totally succeeded, and the piece still loses its thread at times. Nevermind, I'll do better next time.
Another word: this piece is really fun to play. It sounds quite difficult, but it's not really, and any pianists with some dexterity can do it without much fuss. It's fun because it requires some keys hammering and some head slamming, and how can that not be fun?
Around the beginning of this year, I started composing at the piano. Before that, I composed a piano piece "away" from the piano (also on Youtube, for now) which does not represent my idea of composing properly modern classical music. My first composition at the piano does. Even though it suffers from a lack of proper structure, I am still really happy about it.
After composing, I learnt to play it properly, and I performed it (reasonably good) in a concert in June. However, I am only an amateur pianist, and my execution would never be comparable to that of my friend Aldo Roberto Pessolano, a real pianist (better: a pianistic genius).
I consider this a piece of classical music. My definition of classical music is music that presents complex harmonic structures. I strongly believe that this is one of the best way of capturing the different between what people normally refer to "classical music" and other genre.
Anyway, here it is: my Valzerino Rapsodico (Little Rhapsodic Waltz). Enjoy.
Head Tilting Detection (or Automatic Page Turner for Pianists, still undecided about the name 😛 ) is a simple software that emits a Page Down/Up keypress when the user is tilting the head.
Since I started learning piano, more than 10 years ago, I had the problem of turning pages. Turning pages is one of the most annoying thing for a pianist: it forces you to waste seconds, interrupt the flow of music, and it affects the way we learn the pieces (e.g. by making the connection between pages really poor, since we usually stop from a page to the next). Several alternatives exist for turning pages automatically, but they are clumsy and inefficient. Recently I thought about applying my programming knowledge to this purpose.
As more and more pianists are switching from paper to digital scores, it is possible to use a machine learning approach. I designed a simple software that detects when you are tilting your head right/left, and "scroll" down the page accordingly by simulating a page down/up keypress, with in most software will scroll the window down/up - in Adobe PDF, if you "fill one full-page to window", you will turn a whole page (to next/previous one).
Update 28/03/2016: New version for Linux released. You can now rotate/flip your webcam viewer. The sound now works on Windows machine.
WINDOWS 32/64bit (tested on Windows 7, Windows 8, Windows 8.1)
LINUX (tested on Ubuntu 15.10)
open folder in terminal and type sudo ./HeadTiltingDetection.sh. This bash file will download and install xdotool if not installed already) and the software will be executed.
Open the software, wait for the your face to be detected (a green rectangle around your face should appear), then wait for your eyes to be detected (red squares).
At this point select the application you want to send the keypress (for example, a pdf file).
When you tilt the head on one side, the corresponding arrow key signal will be emitted. A green circle should appear on the corresponding side of the camera view, and you should hear a specific sound for the direction you are tilting your head (you can disable the sound).
Adjust the threshold from the slider, disable the sound, or pause the detection from the user interface.
The software is not perfect. Unfortunately, I do not have many hours to dedicate to it. I plan to keep work on it, but not consistently. I'll probably add to this post any minor updates, and create new posts only if there is a major improvement. If you want to collaborate with me for this project, feel free to contact me!
The software uses OpenCV (for the computer vision part) and Qt. It was very nice working with Qt again after so long, and discovering OpenCV was also very interesting. I have a very good opinion about both in terms of usability and capability. Managing to merge both systems was an excellent experience for me.
This is a little thing that I have done some time ago and never really got time to polish and publish the way I wanted, but it is still nice to put it out there.
This scripts generates X decision processes with some parameters and transform them in music. This just answer to the question that, for sure, every one of you is asking himself: how does a diffusion process sound like? And the answer is: horribly! As expected 😉
To code it, I used the nice library of Ken Schutte to read and write MIDI in MATLAB.
In the code, you can change the number of "voices" used (the num. of diff. processes), or the distribution of drift rate, starting tone , starting time, and length for each voice. Play around with this parameter and try to see if you can come up with anything reasonable. I couldn't!
The script also generate a figure representing the resulting voices (still thanks to Ken library), that may look like this:
As usual, you can download the file from here.