Synthesia 0.8.2

Archived development update discussion from past versions
Archived development updates.
Pianotehead
Posts: 325

Post by Pianotehead »

Let me get this straight. Are you talking about a 14 cents fee per download to the parties concerned (the artist, record company, whatever) for distribution of copyrighted songs as MIDI files?

From what I've read here, there is a huge demand among piano practicers for MIDIs for various songs. I would buy a MIDI for a song I want to learn for 14 cents, plus some fee for web hosting At least that's far from the 3 - 5 dollars per songs, that websites like sheetmusicdirect.com and musicnotes.com charge.
Nicholas
Posts: 13137

Post by Nicholas »

So, to be a little more specific, someone that wants to sell a MIDI file of a song needs to first obtain a mechanical license (we think). MIDI files probably fall under that type of license, though it's hard to find examples for or against their belonging to that category.

The good news is, mechanical licenses are compulsory. So long as you can find the right place to send the money, you can be sure you're allowed to license it. In the US at least, the prices are also fixed.

With all that said... that's what the seller would have to pay the artist. Where the seller obtains the MIDI (arranged themselves, purchasing an arrangement from someone else for a fixed-cost, purchasing it for a small royalty per-download) can still influence the cost. That was where my hypothetical 5 cents came from earlier.

And beyond all that, the seller still gets to choose a price they'd like to sell the MIDI for. Typically you see $1-2. So, 10% of their income off the top goes to the license. The other 90% is for stuff like hosting, the effort it takes to list it in the storefront, any other value-adds they might include like finger hints in Synthesia's case, and all that. Anything left after that is profit. (I haven't seen the $3-5 prices before. That's a little exorbitant. If anything, sheet music is a much smaller burden for things like hosting and bandwidth than something like an MP3.)

Because this is all hairy stuff, I have stayed away from it so far, but it is my understanding that something similar is how NewTempo Piano was going to be operating in a perfectly legal fashion. The compulsory nature of the license means you really can just re-make whatever song you like (Lady Gaga, anyone? :D ) and keep sending those 9 cents at a time to the Harry Fox Agency (see links above), and everything will be squared away.

I'm not planning to do anything like that for a while... mostly because I am a terrible music arranger ( :D ) and I'm more focused on making Synthesia do cool stuff than making content at the moment.
Pianotehead
Posts: 325

Post by Pianotehead »

I meant selling musical arrangements from others, like Hal Leonard. But if there are others doing that, there's no need. I just thought this platform you have - marketing a popular piano playing software - would be an opportunity for some arrangement companies to get their products out. Synthesia users are a big (I assume) market group.

Well I took one random song (well not entirely random, Beatles - I'll follow the sun) on sheetmusicdirect.com and the price was $5.25. That's why I buy sheet books and make my own MIDIs. A lot of work, but I get there in the end.

If anyone knows about other sites with $1 - $2 per song, please let me know. This NewTempo Piano seems to be down. Has anybody tried the HDpiano song pack?
Nicholas
Posts: 13137

Post by Nicholas »

Pianotehead wrote:This NewTempo Piano seems to be down. Has anybody tried the HDpiano song pack?
Yeah, that's strange. It was supposed to come out of beta near the end of last month. Instead, it sort of went dark and I haven't heard anything from Marcus since then, who was -- up until that point -- giving me pretty regular updates about how things were going. A day or two ago, going to the site led to a simply blank page. Now it's a missing server. Strange.

Regarding the HD Piano song pack, I haven't heard one way or the other about whether Sean is doing the licensing thing or if he's just selling some stuff he recorded and hoping for the best. ;) From the absolutely-legal standpoint I try to take, those files are questionable until I hear otherwise.
Pianotehead
Posts: 325

Post by Pianotehead »

Nicholas wrote:From the absolutely-legal standpoint I try to take, those files are questionable until I hear otherwise.
Agree with you on this.
User avatar
DC64
Posts: 830

Post by DC64 »

I hae noticed that any song in a minor key, is named as C Major.
Can this be fixed?
"And now for something completely different."
Nicholas
Posts: 13137

Post by Nicholas »

That sounds like a bug report. Why are you talking about it here? :lol:

Go make a new post someplace and attach the MIDIs that are misbehaving. I'll take a look.
Nicholas
Posts: 13137

Post by Nicholas »

Busy ripping huge swaths of code out of one place and jamming it into others. The oldest code at that! (Most-likely introducing dozens of new bugs! :D )

In addition to devices being "sticky" (being remembered as your first choice the next time they're seen), both the device bounds and the lighted key settings will be stored for each device. All of this work is taking me a lot closer to multiple input/output devices than I thought I'd be getting this soon.

So, it might be easier to make a case for that feature (if only so you can still output to a VST/soft-synth but have the lighted keys still working on your own keyboard) sooner than I was expecting.

EDIT: It works and it's really cool. Even just switching between input devices and then popping open the keyboard size window: each keyboard size is stored independently.
Oldrich
Posts: 61

Post by Oldrich »

Could you please add more options for the metronome volume? Even the quiet one is still too loud for me. Thanks
Nicholas
Posts: 13137

Post by Nicholas »

Oldrich wrote:Could you please add more options for the metronome volume? Even the quiet one is still too loud for me. Thanks
In the Configuration tool, click "Changed Advanced Settings Manually", find "Metronome.Velocity" in the list, and change the number to something smaller than 48. (48 is the "Quiet" setting in the game.)

Then, so long as you don't click anything in the metronome volume menu in the game, that volume setting should stick and it'll always be as quiet as you like.
phiktion
Posts: 47

Post by phiktion »

love the mac updates keep em coming nicholas
Nicholas
Posts: 13137

Post by Nicholas »

Most of the Mac stuff will be the dev preview after next. Right now I've been knee-deep in SQLite code for the past few days trying to get this song library in order. ;)

Should be a couple new library features for everyone, but largely (hopefully) this should solve the problems you huge-library people are having. We'll see. I'm getting close to being able to test it against a live library.
Nicholas
Posts: 13137

Post by Nicholas »

Early results on this SQLite stuff are pretty awesome. I'm working with a test library of 50,000 MIDI files (1.3GB of data).

Differences with huge libraries include:
  • The library screen shows the "live" contents of the in-memory database. No more waiting to repopulate when you come back from a different screen.
  • Initial population (during the hard-drive scan) is much smoother. No hiccups or frame-rate drops on the library screen.
  • Annoying slow-down during filter changes or sorting changes are completely gone.
  • Neat new searching capabilities like "composer:Gilbert" or "title:Zelda" or "tags:NES" along with all the subtraction stuff that was already there.
  • Somehow the memory footprint is even smaller than it was before. The process was using maybe 170MB instead of 250MB with those 50k songs.
The only semi-negative consequence is that on HUGE data sets, the free-scrolling speed is a little slower than it used to be (100ms instead of 5ms). The good news is that with the way more responsive searching/sorting, hopefully you won't ever be looking at more than a thousand pages of results.

50k songs is the pathological case that would grind things to a halt and be basically unusable before. Now it's usable.

The "power user" 2-5k song case has near-instant performance for every operation now. That's the big win I was looking for.

Casual (100 or so) song users will see no difference, except coming back to the library after playing a song will no longer produce a little shudder in the list as it (no longer) repopulates.

So yeah. Success! :D

... now it's time to actually add new features to the library. ;)
Nicholas
Posts: 13137

Post by Nicholas »

Hey, check this out... little flags you can assign for your own purposes. Since no one wants to talk about SQLite, maybe this will get a conversation going. ;) (I bet Lemo is already imagining the skinning possibilities. :D )

Anyway, the next preview will be soon. Just a couple more little things to add.
songFlags.png
songFlags.png (53.56 KiB) Viewed 15802 times
MostlyHuman
Posts: 46

Post by MostlyHuman »

It's really cool that you got SQLite integrated but in my opinion it should also be used to manage your progress in the game [you already have icons for this but only show in the scoreboard and not in the library]:
- clearer songs (were you got level A or better)
- learn-in-progress (level B or worse, but played)
- not tried yet
- "pointless" (songs you don't want to play anyway)

I guess this could be merged with the tags system.

You should also have a few customizable "favorite searches buttons/list", so I could just press the "work in progress query" and get that list automatically, without having to retype it every time.

That circular menu looks really cool, btw!

Edit: you forgot to add a tool-tip with the name of the symbol so you can write it in the query, such as "tag:crescentstar" etc.
(and I understand that you might not want to add the scores to the same DB as the library right now, but the usefulness of having SQLite kind of begs to also be able to do those more advanced queries)
Raymond
Posts: 528

Post by Raymond »

Nicholas wrote:...Since no one wants to talk about SQLite...
Sence you are now using SQLite. Could I use MySQL and then have a few different computers linked to it? (Only over LAN)
Or maybe a SQLite file can have more than one program writing to it? (Over different computers)

I don't currently have any immediate plans to use it but I'd think it would be useful. (If I where to get a second keyboard+midi adaptor.)


Oh and I remember you saying you where going to make a program to get the hash codes. Are you still planning on doing that? (If I get enough free time I'll try to make it.)
Ellis
Posts: 8

Post by Ellis »

and what about the sheet music?
Nicholas
Posts: 13137

Post by Nicholas »

MostlyHuman wrote:You should also have a few customizable "favorite searches buttons/list", so I could just press the "work in progress query" and get that list automatically, without having to retype it every time.
That's actually a neat idea. My little UI infrastructure doesn't have anything that would make an auto-complete drop-down (like Google or whatever) very easy... but that's never stopped me before. :D I might have to add that to the list for the future...
MostlyHuman wrote:you forgot to add a tool-tip with the name of the symbol so you can write it in the query, such as "tag:crescentstar" etc.
You can't search flags yet (for the reason you mentioned). The database doesn't know their names. Still... you can sort by them. Should still be pretty easy to find what you're looking for.
MostlyHuman wrote:... I understand that you might not want to add the scores to the same DB as the library right now, but the usefulness of having SQLite kind of begs to also be able to do those more advanced queries...
You are absolutely correct. This was a (huge) first step that took way more effort for the results I ended up with than it should have... but now that the power is there, I can exploit it! I've got some awesome 0.8.3 plans to do something like what you're suggesting here.
Raymond wrote:Since you are now using SQLite. Could I use MySQL and then have a few different computers linked to it? (Only over LAN)
Not at all. :D

I'm using the database engine in the code... but I'm not actually writing a database file anywhere. It's (still) constructed in-memory each time Synthesia runs. Again, this was a transitional process this time. It was already a lot of work getting as far as I did. 0.8.3 will see some more. Though shared-between-computer libraries will always be tricky and a really rare case, so I don't expect I'll make plans to support that any time soon.
Raymond wrote:Oh and I remember you saying you where going to make a program to get the hash codes. Are you still planning on doing that?
I thought of a neat way to partially include that tool right in Synthesia and then just extend the metadata editor so it can extract them into a .synthesia file. Imagine something incredibly similar to the finger hint process. In fact, the menu-item in the metadata editor is going to be merged with this new one into a sort of "Import from Synthesia" item.

That tool will be the final dev preview before 0.8.2 is finished. And speaking of dev previews...
Ellis wrote:and what about the sheet music?
On the agenda we've got the following dev previews before 0.8.2 is finished:
  • Bug cleanup / device rework (complete!)
  • Song library revamp (almost finished)
  • Mac quality-of-life updates
  • The sheet music pass
  • User-defined input
  • ConfigHash tool I just talked about above
So, I'll begin working on the sheet music as soon as the Mac stuff is done. (0.8.2 is pretty ambitious this time around. ;) )
Lemo
Posts: 313

Post by Lemo »

Nicholas wrote:I bet Lemo is already imagining the skinning possibilities
Well I may have to indeed...not sure I want Synthesia to look like that :lol:
Image
Stuff & experiments for Synthesia: Gramp v0.2SkinboxFireSynthVideoWebradio
Nicholas
Posts: 13137

Post by Nicholas »

No way, those are totally from WoW... well, minus the skull. ;)

... and their star was way too much like their diamond.

All different shapes so they're color-blind friendly instead of the usual flags you see in email programs.
Locked