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

Songs: Demo/pre-release song type as a base version of "Original" songs #1585

Open
1 task done
Susko3 opened this issue Oct 4, 2023 · 7 comments
Open
1 task done
Labels
adding/editing entries Adding/Editing entries (artists, songs, albums, tags, song lists, events) complexity: unknown Unknown days of work content: songs Song entries feature request feedback-wanted Feedback and further discussion needed (open questions) priority: low Issues/Tasks that are not so important

Comments

@Susko3
Copy link
Collaborator

Susko3 commented Oct 4, 2023

Is your feature request related to a problem? Please describe. (required)

Some songs in the database have Original version relationships that don't make chronological sense or don't follow producer intent. These are two separate problems that are caused by Original songs being the root of the derivatives graph.

Examples:

Here's how the current derivatives graph looks like for Hello, Again:

flowchart LR
 O{{"Hello, Again
 Original song"}}
 OI("Hello, Again
 Instrumental")
 D("Hello, Again (Demo Version)
 Remaster")
 DI("Hello, Again (Demo Version)
 Instrumental")
 C("Hello, Again (Oliver cover)
 Cover")

 O -->D & C & OI
 D --> DI
Loading

I propose that the following graph would be more appropriate as it makes more chronological sense. Since the demo version has definitely existed before the full release version.

flowchart LR
 O{{"Hello, Again
 Original song"}}
 OI("Hello, Again
 Instrumental")
 D("Hello, Again (Demo Version)
 Demo")
 DI("Hello, Again (Demo Version)
 Instrumental")
 C("Hello, Again (Oliver cover)
 Cover")

 D --> DI & O
 O --> C & OI
Loading

The second problem is when VocaDB doesn't follow artist intent. Take the graph of Puzzle by CircusP:

flowchart LR
 O("Puzzle feat. Miku
 YELLOW
 Cover")
 P{{"Puzzle feat. GUMI
 Puzzle (Patreon Release)
 Original song"}}
 C("Puzzle (Yin-P cover)
 Cover")
 PC("Puzzle feat. Aido
 Puzzle (Patreon Release)
 Cover")
 I("Puzzle
 Puzzle (Patreon Release)
 Instrumental")

 P --> O & PC & I
 O --> C
Loading

Nobody would consider the public release of Puzzle to be a cover song. CircusP said in his streams that he considers the public release to be the main version and should therefore be the Original song:

flowchart LR
 O{{"Puzzle feat. Miku
 YELLOW
 Original song"}}
 P("Puzzle feat. GUMI
 Puzzle (Patreon Release)
 Pre-release")
 C("Puzzle (Yin-P cover)
 Cover")
 PC("Puzzle feat. Aido
 Puzzle (Patreon Release)
 Cover")
 I("Puzzle
 Puzzle (Patreon Release)
 Instrumental")

 P --> O & PC & I
 O --> C
Loading

Describe the solution you'd like. (required)

  • Allow Original songs to be derived (ability to link it to a base version)
  • Add new song type: Demo (or Pre-release, not quite sure about the naming)
    • instead of new song types, Demo and Pre-release could be added as tags and then use the existing Other song type

Describe alternatives you've considered. (optional)

None. There is no going past the hard limit of Original songs being the root of the derivatives graph.

How should the UI look like? (illustrate it) (optional)

Allow original songs to have base versions:

image

Instead of Original/base version, it could dynamically show the appropriate text for the song type:

  • Original song: Demo version, Pre-release version or Base version
  • non-original songs: Original version (this may be misleading, as a Cover could still be derived from a Demo)

Additional context (optional)

This could also be useful for:

  • voicebank demos that later got a full release. Example: Solaria demos
  • notable short previews of songs shared on social media, etc. before the full release
  • other situations where a version of a song was publicly available before a version that most people would consider the "original"
  • songs that were shown unfinished, but were later scrapped (so they wouldn't be considered main producer songs - original songs)

Not all of those should be immediately applied once my proposal is accepted and implemented. This is highly dependant on what the producer intended (is it labelled/marketed as a "full version" or an "extended version" etc). Please note that some of the usages listed above aren't generally allowed in the database according to VocaDB editing FAQ § Are work in progress versions of songs allowed on VocaDB?

Checklist (required)

Fill out the checklist.

@saturclay
Copy link
Contributor

If this were implemented, what should be done for demo versions that are released after the main/'original' version? Of course, they must have existed before the non-demo version, but sometimes they're only actually released later as bonus tracks, etc.

@Susko3
Copy link
Collaborator Author

Susko3 commented Oct 4, 2023

I would respect the chronology of existence, not release.

@Shiroizu Shiroizu added priority: low Issues/Tasks that are not so important content: songs Song entries labels Oct 5, 2023
@Susko3
Copy link
Collaborator Author

Susko3 commented Oct 8, 2023

image

Hmm, I tried creating demo version tag, but it won't let me. Not even renaming an existing tag works. There is a conflict with https://vocadb.net/T/4717. But I don't have permission to edit it.

Edit: fixed now!

@andreoda andreoda added the adding/editing entries Adding/Editing entries (artists, songs, albums, tags, song lists, events) label Oct 24, 2023
@andreoda andreoda added the feedback-wanted Feedback and further discussion needed (open questions) label Feb 21, 2024
@andreoda andreoda added the complexity: unknown Unknown days of work label Mar 6, 2024
@andreoda
Copy link
Member

andreoda commented Nov 18, 2024

@Susko3
I recently thought about this idea again and I think it is a good approach. Along with it, the rules on the wiki can also be changed to allow songs being a specific song type even though they were released to the public earlier or later. Currently the rules is: the earliest upload/release is the "Original"/needs the "Original" song type.
Do you also have an approach for short versions and extended/long versions of songs? Should they also be new song types?

@Susko3
Copy link
Collaborator Author

Susko3 commented Nov 18, 2024

Do you also have an approach for short versions and extended/long versions of songs? Should they also be new song types?

I think the current approach with short version and extended version tags is fine. Looking at the tagged songs, there are a lot of different song types. I think it's more important to know whether the song is the Original, Remaster, Remix, Music PV than it being a short/extended version.

Do you have any examples of songs where having the song type be the short/extended version would be more appropriate?

@andreoda
Copy link
Member

andreoda commented Nov 18, 2024

@Susko3
I think there are a lot of cases where the short version / radio edit has the "Original" song type because of its release date. In logic of the term "Original", the "normal"-length-song or extended version / long version (in relation to the short version) should be the "Original" even if it was uploaded earlier/later. Especially if the producer intended it so.

Examples:

I guess there are 2 approaches (?):

  1. new song type for:
    • only short version or
    • short version / extended version in one or
    • short version and extended version as 2 types
  2. changing the rules so that the extended version must always be the original, ignoring the release date

I also think that a "Remix" is not the same as a extended / long / short version. The term "Remix" is more associated with actual re-mixes, mixing a song in a different / new way, with a different arrangement of the instrumental / melody, not only extending or shortening it.

@Susko3
Copy link
Collaborator Author

Susko3 commented Nov 18, 2024

I will try to guess the intent of the songs you linked and their extended versions.

  • https://vocadb.net/S/399060

    This shouldn't be the original version. Since this is for a commercial, they likely cut the original full version to fit the desired time. In music terms, this is closest to "Radio edit". Even though the commercial was released before the full version, I would still put the full version at the root of the inheritance graph. The release dates are just a marketing decision.

  • https://vocadb.net/S/588842

    This is good as is. The only thing you might want to change is the Remix type, as the Extended Mix is not really a remix. An Extended version song type or Other would fit better.

  • https://vocadb.net/S/301660

    I would put the shortver as the Demo version. A full version was intended from the start:

    ■fullは別の新曲と同時進行で作る予定です。

    You could argue that it should be Short version instead of Demo, as the shortver is fully mastered or whatever (compare to Hello, Again demo version).

  • https://vocadb.net/S/166038

    I guess this is just "Radio edit", same as Tell Your World. Flip the inheritance graph (full → short). Most voicebank demos with full versions could be considered as such, given that the release dates are close enough together: when it is reasonable to assume the posted demo is a cut from a pre-existing full version. Or if there is evidence (example).

    Flipping the inheritance graph might be a controversial decision, but I think it's necessary. If you don't flip it and assign the root the "Short version". I could ask: "A short(er) version of what?". Flipping the inheritance answers that question. I guess you could keep the inheritance and call it a Demo version.

  • https://vocadb.net/S/100671

    This is called "test(short) ver" so definitely a Demo. A test is something you make before the full version, so the inheritance graph is correct (short → full). The full version should be the Original, this will prevent edit mistakes.

  • https://vocadb.net/S/14339

    This is the Original, and https://vocadb.net/S/522024 is just the extended album version. Same conclusion as HSP's Extended Mix. An Extended version song type or Other would fit better. Since the lyrics are likely to need additions in extended versions, disabling automatic lyric inheritance for Extended versions would be best.

I think using Other/Demo or "short version and extended version as 2 types" are the most sensible options. I would be conservative about applying Demo to songs. <tangent>Demo/WIP songs are against content policy, what is the intent behind that policy? To prevent WIP spam? Hello, Again (Demo Version) is technically against the policy, but it's on an album and provides history to the song. There is a desire to document demo/test/short versions, even if they're technically a work-in-progress.</tangent>

I think the directionality of the inheritance graph is an important property. If the direction of inheritance of two song entries is decided by the release dates, then separately encoding directionality is redundant (bad in databases). I think that it sometimes makes sense to flip the inheritance to be the opposite of the release dates.

I also think that a "Remix" is not the same as a extended / long / short version. The term "Remix" is more associated with actual re-mixes, mixing a song in a different / new way, with a different arrangement of the instrumental / melody, not only extending or shortening it.

Agreed, I guess Other is always an option.

@andreoda andreoda changed the title Proposal: demo/pre-release song type as a base version of Original songs Songs: Demo/pre-release song type as a base version of "Original" songs Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
adding/editing entries Adding/Editing entries (artists, songs, albums, tags, song lists, events) complexity: unknown Unknown days of work content: songs Song entries feature request feedback-wanted Feedback and further discussion needed (open questions) priority: low Issues/Tasks that are not so important
Projects
Development

No branches or pull requests

4 participants