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

Import MIDI #43

Open
quicktypes opened this issue Nov 28, 2020 · 7 comments
Open

Import MIDI #43

quicktypes opened this issue Nov 28, 2020 · 7 comments
Labels
enhancement New feature or request

Comments

@quicktypes
Copy link

While this is technically not an issue, I realized that Utsu doesn't have an import MIDI feature. Do you mind adding that to a future update if not the next one?

@quicktypes quicktypes changed the title No Import MIDI Import MIDI Nov 28, 2020
@titinko
Copy link
Owner

titinko commented Nov 28, 2020

Sure! It wasn't on my task list before but it makes sense as a feature so I'll add it.

@titinko titinko added the enhancement New feature or request label Nov 28, 2020
@pseudo-producer
Copy link

Does UTSU accept voicebanks in other types of formats like Flac or MP3? I believe it would be an interesting addition, if this option is not yet available ...

@clbustos
Copy link
Contributor

@titinko , I have a very rough midi parser that understand the basic to create a utau file. The workflow could be:
1.- Select the midi file
2.- Select the track (if more that one is present)
3.- Create a new song
4.- Set the time, using Set Tempo Meta message as guide
5.- Create each note, using the information available

Using musescore, I noticed than the lyrics interface is very, very good. The format of musescore is not difficult to parse (all XML), and the note and lyrics are stored in the same object. It could be a very cool way to import massive lyrics in utsu.

Greetings!

@titinko
Copy link
Owner

titinko commented Jan 27, 2021

Not too familiar with MIDI, but in the code opening a MIDI file would mean converting it to a Song object similar to what Ust12Reader and Ust20Reader do now. That workflow sounds good to me, although in step 2 it's probably fine to just default to the first track.

In terms of UI, either MIDI files could directly be added as a supported format when opening a Song, or there could be a new "Import MIDI file..." item in the File menu.

@clbustos
Copy link
Contributor

clbustos commented Jan 28, 2021

Not too familiar with MIDI, but in the code opening a MIDI file would mean converting it to a Song object similar to what Ust12Reader and Ust20Reader do now.

So, the MIDI reader should be on com.utsusynth.utsu.files.song package. Sounds fine.
MIDI is fairly complex as format, so I need an independent package to manage the related classes. Namespace com.utsusynth.utsu.common.midi should be ok, @titinko ?

That workflow sounds good to me, although in step 2 it's probably fine to just default to the first track.

I like the idea of select track like UTAU does. It would be fairly simple to implement, anyway. No dialog is necessary if only one track is available.

In terms of UI, either MIDI files could directly be added as a supported format when opening a Song, or there could be a new "Import MIDI file..." item in the File menu.

Later should be clearer for users, I think.

@titinko
Copy link
Owner

titinko commented Jan 28, 2021

Can you use com.utsusynth.utsu.files.song.midi for a namespace?

Any small dialogs can be placed inside com.utsusynth.utsu.common.dialog.

@clbustos
Copy link
Contributor

Can you use com.utsusynth.utsu.files.song.midi for a namespace?

Sounds fine.

Any small dialogs can be placed inside com.utsusynth.utsu.common.dialog.

Perfect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants