10 Preview r2571, r2613 - Free Play

Archived development update discussion from past versions
Archived development updates.
Nicholas
Posts: 13135

Post by Nicholas »

PREVIEW r2571
Download from the pink box above.



Changes in r2571 since (official 9) r2495 release:
  • Free Play: experiment with instruments, back-beats, and chords.
  • Title screen news, customized for you.
  • Title screen per-user recently-played songs list.
  • Multi-touch support on Windows 7 and 8. The pinch-to-zoom stuff from the iPad should work on devices like the Surface Pro.
  • Automatic crash reporting for the Windows version means I should be a lot more responsive to very new bugs.
  • Lots of Windows installer/uninstaller improvements that the dev preview release system doesn't really let you guys test. ;)
  • Fixed a bunch of bugs.
Known issues:
  • Chords like "C sus4" are showing up as "F sus2"... which is technically correct, but root position chords should be prioritized over inversions.
  • Right now there aren't any names shown when you are hitting fewer than three notes. It will eventually show note names at 1 key pressed and interval names at 2 keys pressed.
  • In rare cases I've seen the most-recent song fall off the recent history list at the next startup. Still tracking that down.
  • If the title screen loads on a profile that doesn't have a song history and then you switch to a profile that does, the list doesn't show correctly until you leave and re-enter the title screen.
Requested feedback:
  • Mess around with chords in Free Play and let me know if you see any incorrect/bad names there.
  • What do you think of the new video format where I actually talk about things instead of just nebulously move the mouse cursor around?
Happy Holidays! And by that I mean this one was pushed back a couple weeks because of the holidays. :lol: This is just the beginning of a really exciting release cycle. Synthesia 10 is going to be very cool. In the meantime, Free Play is a lot of fun to mess around with. The "customized for you" bit about the title screen news is stuff like if you've already unlocked the Learning Pack, you won't get boring news about Learning Pack sales. And your Synthesia version is taken into account so people using older versions will get "Hey! Go update!" news that up-to-date users won't see. That sort of thing. (I'm not doing it yet, but I can even deliver news based on your current display language.)
Pianotehead
Posts: 325

Post by Pianotehead »

Will the sheet music display not be visible in free play mode?
Nicholas
Posts: 13135

Post by Nicholas »

At this stage, the sheet music generator isn't nearly good enough to handle the completely unquantized input that can happen on that screen. If sheet music had been showing during the few times I hit notes in there, it would have just looked like visual noise. Maybe after the MusicXML revamp makes things a little stronger, but today it would detract more than it would add.

It's also an interesting question of how to show notes of an unknown, increasing duration on sheet music. In falling notes, the note block just grows continuously. In sheet music, the note would have to pop between quarter, dotted quarter, half, etc. as the duration crossed specific thresholds.

In any event, the closest I was thinking to showing sheet was maybe including a tiny one-measure area that would draw the currently detected chord (possibly in all its inversions). That probably has value and is something that could be accomplished today pretty easily.
User avatar
jimhenry
Posts: 1899

Post by jimhenry »

Free play is addictive. You have probably opened a Pandora's box of ideas for building on that feature.

My first of what will probably be many suggestions is to provide a key setting. The chord reporting can be more accurate if you have a key as additional information. Given the key, priority goes to a chord with a root that is part of the diatonic scale for the selected key. You might somehow indicate chords that do not have a root that is part of the selected diatonic scale.

I was surprised and impressed by the comprehensive coverage of extended and altered chords. It is to the point where I'll have to crack open some very detailed music theory references to check this feature. Just off the top of my head it seems like #9 altered chords were missed.

As for the ambiguity between sus2 and sus4 chords, I think sus4 is far more common than sus2. Possibly the ambiguity should always be resolved in favor of sus4.

More interesting is the ambiguity between an augmented chord and the augmented chord with a root a major third higher. That is what led me to the idea of setting a key signature for the chord detection.
Jim Henry
Author of the Miditzer, a free virtual theatre pipe organ
http://www.Miditzer.org/
Nicholas
Posts: 13135

Post by Nicholas »

jimhenry wrote:Free play is addictive. You have probably opened a Pandora's box of ideas for building on that feature.
That was my experience, too. I'm curious to hear what people come up with. For styles, I just threw a handful in there at first, but even that could be extended to a nice big list.
jimhenry wrote:My first of what will probably be many suggestions is to provide a key setting.
I also like the idea of being in the context of a particular key. Then you can say things like "That's a 'iv' chord" on top of their regular names. It opens some possibilities to even show something like a live view of the circle of fifths and where you're playing on it. I'm always looking to capitalize on my insistence all these years for going the low-level hardware acceleration route. Anytime I can introduce cool visualizations, I get to use that particular competitive advantage.
User avatar
jimhenry
Posts: 1899

Post by jimhenry »

Nicholas wrote:
jimhenry wrote:Free play is addictive. You have probably opened a Pandora's box of ideas for building on that feature.
That was my experience, too. I'm curious to hear what people come up with. For styles, I just threw a handful in there at first, but even that could be extended to a nice big list.
My hope is that the rhythms are just short MIDI files that are looped. That would allow the addition of your own rhythms and the use of rhythms with more than just drums. Hopefully there will be support for categories as the number of rhythms could be quite large. I think that when the rhythm is turned on there should be measure lines on the display. Maybe lighter beat lines too.
Nicholas wrote:
jimhenry wrote:My first of what will probably be many suggestions is to provide a key setting.
I also like the idea of being in the context of a particular key. Then you can say things like "That's a 'iv' chord" on top of their regular names.
I like the idea of showing both the actual chord and the key independent Roman numeral representation. Being able to think in terms of Roman numeral harmony is a useful skill to acquire.
Jim Henry
Author of the Miditzer, a free virtual theatre pipe organ
http://www.Miditzer.org/
Nicholas
Posts: 13135

Post by Nicholas »

jimhenry wrote:My hope is that the rhythms are just short MIDI files that are looped.
They are. Although I hadn't really thought to allow custom rhythms. I'll have to think of any easy way that might be able to work. I think the only real requirement for the files would be that they don't use MIDI channel 1, because that's the channel the user's input (and instrument selections) use.
jimhenry wrote:I think that when the rhythm is turned on there should be measure lines on the display.
This was something I wanted to do in this preview but decided it was time to get it out the door before more time went by. It's on the list for the next preview.
Pianotehead
Posts: 325

Post by Pianotehead »

Nicholas wrote:It's also an interesting question of how to show notes of an unknown, increasing duration on sheet music. In falling notes, the note block just grows continuously. In sheet music, the note would have to pop between quarter, dotted quarter, half, etc. as the duration crossed specific thresholds.
I was thinking about a fixed length, regardless of note on time, though I haven't thought it out completely. A quarter note would be a good compromise, since most time signatures reflect the number of quarter notes.
Nicholas wrote: In any event, the closest I was thinking to showing sheet was maybe including a tiny one-measure area that would draw the currently detected chord (possibly in all its inversions). That probably has value and is something that could be accomplished today pretty easily.
I think that's just about what I had in mind. Something similar to the sheet display of the Yamaha EZ-220 and some other keyboards at that level. No key signature, no time signature or it may be considered as C major key signature by default. By including this feature the user would be learning not only the chords, but how they look in sheet music and thereby increasing his or her sight reading abilities.

There is no reason to reflect the exact note holding time in free play, unless you are recording and if I'm not mistaken about Synthesia and your future development ideas for it, that is not an intended purpose of the software.
User avatar
jimhenry
Posts: 1899

Post by jimhenry »

Pianotehead wrote:No key signature, no time signature or it may be considered as C major key signature by default. By including this feature the user would be learning not only the chords, but how they look in sheet music and thereby increasing his or her sight reading abilities.
If you don't have the key signature, then you aren't learning much about how the chords look in sheet music. The key signature is highly determinative of what chords are likely to be used. The fact that the chords used have no accidentals in their basic forms and have the particular accidentals they do in their extended and altered forms is all important to understanding the music.

You might think it is convenient to see chords written out with the accidentals so you aren't having to refer to the key signature to figure out the pitches. I thought that for a long, long time. Now that I am studying music more seriously, and I thought I was pretty serious before, I have realized that you need to think in terms of a scale being used, not all the keys on the keyboard. Then you think of where a note or harmony fits within the scale.

If you are playing in a major diatonic scale, the most common scale (e.g. C Major scale = c d e f g a b), then your most likely chords are built on the first (root), the fourth, and the fifth. (In C Major, on C, F, and G.) The triads built on these notes using the notes of the major diatonic scale are all major triads. (c-e-g, f-a-c, and g-b-d) Regardless of the key signature, this relationship is always true. Your I, IV, and V chords (major chords built on notes 1, 4, and 5 of the scale) never have accidentals regardless of the key. So a C# Major chord (c#-e#-g#) looks just like a C Major chord (c-e-g) but the key signature tells you that the notes are a half step higher. Seeing a C# Major chord in the key of C Major would be unusual except as a passing chord, e.g. a C -> C# -> Dmin harmonic progression.

If you see a C chord (c-e-g), you need to instinctively know that it is a major chord if it is the I, IV, or V chord of the key (for a C chord that would be C Major, G Major, and F Major). C will be a minor chord if it is the ii, iii, or vi chord (Bb Major, Ab Major, and Eb Major). In those three scales, c and g are natural and e is flat. C will be a diminished chord when it is the VIIdim chord (Db major). In those 7 scales the C chords all look the same but their character--major, minor, or diminished--is determined by the key signature. A C chord does not occur naturally in the other keys (D, A, E, B, F#, and C#) because those scales have a C#. In those scales when you see the C chord notes you would be playing C# Major (c#-e#-g#) in C# Major or F# Major (I or V), C# minor (c#-e-g#) in B, A, or E (ii, iii, or vi), or C#dim (c#-e-g) in D Major (VIIdim). So what you see in the sheet music (c-e-g) can mean many different things depending on the key signature. It probably is fair to say that it is more important to learn to read the key signatures than the chords if you want to read sheet music fluently.

In other words, you want to get used to seeing chords in their natural key signature settings because that is what you need to be able to recognize at a glance to read sheet music.
Jim Henry
Author of the Miditzer, a free virtual theatre pipe organ
http://www.Miditzer.org/
Pianotehead
Posts: 325

Post by Pianotehead »

You have a point, it would be almost necessary to add key signature to that one measure sheet display. If Nicholas agrees, he's the one who has to do the work. :D The full grown sheet display can read in which key a MIDI is, so maybe it's not much extra effort.

One other thing, isn't it more common to talk about the C# major chord as a Db major chord (Db F Gb) and in the key of Db major?
User avatar
jimhenry
Posts: 1899

Post by jimhenry »

Pianotehead wrote:One other thing, isn't it more common to talk about the C# major chord as a Db major chord (Db F Gb) and in the key of Db major?
Yes. I only went there because if the key is C# Major (which could just as well be Db Major), the C# major triad looks the same as a C major triad. I am guessing that one might use C# Major in preference to Db Major if you were modulating to a key where C# made more sense as the destination.
Jim Henry
Author of the Miditzer, a free virtual theatre pipe organ
http://www.Miditzer.org/
Nicholas
Posts: 13135

Post by Nicholas »

Pianotehead wrote:The full grown sheet display can read in which key a MIDI is, so maybe it's not much extra effort.
Yeah, including a key signature in the little one-measure sheet area won't be too hard. And that feels like the right way to go for all the reasons you and Jim covered.
Birdman87
Posts: 61

Post by Birdman87 »

This is pretty cool, but how about adding some sort of record button for this that automatically creates a midi file in something like synthesia/freeplay folder and when you stop the recording the file is completed, would be helpful if you have an amazing improvisation and want to see it played back.
Nicholas
Posts: 13135

Post by Nicholas »

As predicted. ;)

I'll definitely have to consider recording support, even if it's just a really minimal bauble (like, single-memory playback, no saving to disk).
Birdman87
Posts: 61

Post by Birdman87 »

Well if possible the option of saving to disk would be nice as well in case we wanna share our compositions.
613Skier
Posts: 49

Post by 613Skier »

Saving to disk would be Key ;)

Can't wait to try out the new update. The vid looked good I'll post some feedback soon.
Korados
Posts: 64

Post by Korados »

I'm glad that the Synthesia 10 Preview is there! I really like the idea of Free Play! However, I have to confess that I'm not very fond
of the new start screen. I liked it much more when the buttons were in the middle of the screen. Furthermore, the start screen appears
so dark now.

One other important thing: The Virtual Synthesia Piano doesn't work on other keyboard layouts than the English one! As
I'm here in Germany, I can't use it properly. Z and Y are switched and the semicolon and apostrophe are the letters Ö and Ä in the German layout.
Is it possible for you to incorporate other layouts?
Last edited by Korados on 01-13-14 9:33 am, edited 2 times in total.
Nicholas
Posts: 13135

Post by Nicholas »

Korados wrote:Is it possible for you to incorporate other layouts?
This is still kind of a power-user feature (unfortunately), but you can adjust the software keyboard manually using the information in this post.
Korados
Posts: 64

Post by Korados »

Ok, I'll try that, thank you. It's not that much of a problem for me as I rather listen to music than playing.

Now, concerning this instrument change bug I had with the MIDI of the Saint-Saens piece: Synthesia now plays the organ parts correctly
and not as brass section, however, Synthesia now changes the Trombones to Piano!
Nicholas
Posts: 13135

Post by Nicholas »

Korados wrote:... Synthesia now changes the Trombones to Piano!
Hmm, I just tried it again and the one Trombone track (with all the others muted and hidden) seemed to play fine as the correct instrument the whole song. If you don't rewind (or click in the timeline) at all, does that work for you too?
Locked