Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support uploading MIDI files for download as a new top level schema #16

Open
RustoMCSpit opened this issue Nov 22, 2024 · 4 comments
Open
Assignees
Labels
enhancement New feature or request

Comments

@RustoMCSpit
Copy link
Contributor

RustoMCSpit commented Nov 22, 2024

Issue on Studiorack:
studiorack/studiorack-site#36

Resources:
https://github.com/ldrolez/free-midi-chords
https://www.hooktheory.com/theorytab

While I wasn't envisioning uploading tablature, that would be possible as well. It's a Studiorack / Owlplug suggestion mainly but having the capabilities of Hookpad but FOSS would be incredible. Total feature creep though.

There are some things to note around metadata and uploaded file standards which I have detailed below.

@RustoMCSpit
Copy link
Contributor Author

RustoMCSpit commented Dec 13, 2024

Allow the uploader to pick a mode. So if you write 'Mode: dorian', you avoid having to force it into ionian or aeolian to upload it. Also having a scale list, e.g., blues / pentatonic / etc. (like the license list) would be good.

You might be tempted to add a key metadata entry but that’s wrong entirely. Every melody and chord progression can just be quickly shifted up to any key with arrow keys. Having 12 chord progressions that are the exact same but just modulated would be silly.

The only thing the user needs to know is the mode; the key should always be a parallel key to C major (C ionian, D dorian, E phygrian, F lydian, G mixolydian, A aeolian, B locrian) as C major is a standard for these types of things.

The user then can search for a specific mode and can pitch shift it themselves. We can also just have a tool to pitch shift it for them but this is basic theory.

For any harmony, just make the user name the file after its Roman numerals instead e.g. iii VIb i II.

This has limits: what about modal interchange, non 12-tet, key shifts, etc.? These are niche and should be thought about later.

EDIT: Key metadata makes sense for songs and MIDI files with multiple tracks at different keys. Key metadata does not make sense for basic melodies or chord loops not from a specific song.

@RustoMCSpit
Copy link
Contributor Author

RustoMCSpit commented Dec 14, 2024

All MIDI file uploaders (as well as projects) might have to sign a Contributor License Agreement (CLA) or something similar if they wish to upload content. This ensures that they have the rights to share it, and if they do not, they must provide proper attribution to the rights holders.

Again, it is legal to upload sheet music and MIDI files of songs that aren't yours, such as those from HookTheory.com (https://www.hooktheory.com/theorytab), as long as you give appropriate credit to the owners.
This practice respects copyright laws while allowing for legitimate use of others' work.

@RustoMCSpit
Copy link
Contributor Author

RustoMCSpit commented Dec 15, 2024

all midi file uploaders (as well as projects) will have to sign a CLA or something saying they have rights to upload this and if they dont they must credit the rights holders. again, it is legal to upload sheet music and midi files of songs that arent yours such as https://www.hooktheory.com/theorytab as long as you credit the owners

this would require some sort of artist tag? would that just be the author tag? that tag is used right now for the creator of something but do we list that as the person who assembled the midi or the song? i think we need two more tags. one for who made the midi and one for who wrote it and one for who holds rights

@RustoMCSpit
Copy link
Contributor Author

RustoMCSpit commented Jan 26, 2025

This would also require metadata around length, details about what stems are included (such as main melody, bass, drums, harmony, etc.), and a version tag too.

I can imagine one user uploading Midi for a song and another user uploading an improved version of that Midi file with better timing and additional tracks. The other user should be able to request the original
user to merge their additions into one unified file. This is already how the project schema functions as per my understanding.

@RustoMCSpit RustoMCSpit changed the title support uploading midi files for download support uploading midi files for download. new top level schema Jan 27, 2025
@RustoMCSpit RustoMCSpit changed the title support uploading midi files for download. new top level schema upport uploading midi files for download. new top level schema Feb 10, 2025
@RustoMCSpit RustoMCSpit changed the title upport uploading midi files for download. new top level schema Support uploading MIDI files for download as a new top level schema Feb 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

No branches or pull requests

2 participants