Jump to content

Avatar

[New! Program] Voxinator: A Rockband Vocals Visualizer


  • Please log in to reply
68 replies to this topic

#21 dreamtheaterfan

dreamtheaterfan
  • 171 posts

Posted December 13, 2014 - 10:20 AM

My problem isn't with understanding the code. My problem is understanding how charting works. If I don't understand how charting works then my code obviously won't work properly.

I'm not really getting much help with understanding how charting works.
You just keep saying "well if your program was any decent then it should work all the time" but that doesn't help me.

So I'll offer up some questions that perhaps were missed before:
1. Why are talkies charted without the "#" or "^" marker?
2. Why chart any pitch to a talky? Isn't that unnecessary work?
3. Why when importing the midi to reaper 4.22, PART VOCALS has no text events?
4. Why can the start phrase marker on A8/A#8 come AFTER a charted note not already part of a phrase?
5. Why does HARM 3 not have phrase markers? Does it just use the ones in HARM 2?
6. Why are there TWO PART VOCALS >tracks< ? Does the game just combine the tracks or does it ignore one? I understand there being multiple channels but this is multiple tracks showing up in reaper 4.22.

[C#2]Lit-<--- [C#2]tle [C#2]in [C#2]the [C#2]mid- [C#2]dle --->
 [C#2]But<--- [C#2]you [C#2]got [C#2]much [C#2]back --->


#22 Farottone

Farottone

    The Lean Mean Customs Charting Machine

  • Administrator
  • 6,127 posts

Posted December 13, 2014 - 11:48 AM

My problem isn't with understanding the code. My problem is understanding how charting works. If I don't understand how charting works then my code obviously won't work properly.

I'm not really getting much help with understanding how charting works.
You just keep saying "well if your program was any decent then it should work all the time" but that doesn't help me.

So I'll offer up some questions that perhaps were missed before:
1. Why are talkies charted without the "#" or "^" marker?
2. Why chart any pitch to a talky? Isn't that unnecessary work?
3. Why when importing the midi to reaper 4.22, PART VOCALS has no text events?
4. Why can the start phrase marker on A8/A#8 come AFTER a charted note not already part of a phrase?
5. Why does HARM 3 not have phrase markers? Does it just use the ones in HARM 2?
6. Why are there TWO PART VOCALS >tracks< ? Does the game just combine the tracks or does it ignore one? I understand there being multiple channels but this is multiple tracks showing up in reaper 4.22.

[C#2]Lit-<--- [C#2]tle [C#2]in [C#2]the [C#2]mid- [C#2]dle --->
 [C#2]But<--- [C#2]you [C#2]got [C#2]much [C#2]back --->


Well, to be fair, half of what's in there is answered by the docs. ;) I'll tackle what's not:
3) That's strange, it should have at least the animation text events ([play], [idle], etc.).
4) A8 doesn't exist in MIDI.
6) There aren't. When you import a MIDI make sure that in Options > Preferences > MIDI, Import multichannel MIDI files is set to Always ask.... When you're prompted, have Reaper import multichannel items in one track.

#23 dreamtheaterfan

dreamtheaterfan
  • 171 posts

Posted December 13, 2014 - 12:11 PM

Thanks for the help.
I had Reaper set to import on separate tracks instead of single track multichannel.
Now the chart looks correct with text events etc.

Ignore the octave number 8 I put for that question. The point was the marker.
I was originally using http://pksage.com/rbndocs/index.php but I think I should be looking at the PDF.

Sorry if I came off as lazy but I've never authored vocals before so I never looked at that part in the PDF.

#24 Farottone

Farottone

    The Lean Mean Customs Charting Machine

  • Administrator
  • 6,127 posts

Posted December 13, 2014 - 12:27 PM

Thanks for the help.
I had Reaper set to import on separate tracks instead of single track multichannel.
Now the chart looks correct with text events etc.

Ignore the octave number 8 I put for that question. The point was the marker.


For harmony phrase markers check the docs here, to understand how they work:
http://pksage.com/rb... ... _Authoring
Phrase markers in harmony tracks

I was originally using http://pksage.com/rbndocs/index.php but I think I should be looking at the PDF.


No no, those are the docs, you're using the correct reference. The PDF is for authoring, the docs are more a reference, which is what you need.

Sorry if I came off as lazy


You didn't, I think you just planned how to make your program work underestimating the amount of knowledge you need for that, which is a bit because to work on the these projects you need to know at least the basics. I think it's great we have somebody working on software to interact with game files other than Nemo here, and being the jealous guy that he is he was heavily busting your chops! :excited: But he does so because he went through what you did and had to consult a million docs and ask a million questions. :) I'm just saying that you're approaching this a bit blindly, as if we already didn't know exactly how MIDI files work, and you shouldn't: take advantage of the knowledge base we have and you will see that there's not A LOT that needs to explored still, while understanding the basics will cut down on your coding hours significantly. ;)

#25 dreamtheaterfan

dreamtheaterfan
  • 171 posts

Posted December 13, 2014 - 01:48 PM

1. Why are talkies charted without the "#" or "^" marker?
2. Why chart any pitch to a talky? Isn't that unnecessary work?

I have proof that the chart is actually charted weird. I won't say wrong because that might sound a bit mean. It definitely looks weird though and my program is reading the chart right.
Posted Image
Posted Image

4. Why can the start phrase marker on A8/A#8 come AFTER a charted note not already part of a phrase? It was marked at the same time as the lyric but my program was picking up the lyric first. I just changed the code to not pick up lyrics until a phrase start marker is read.

3. Why when importing the midi to reaper 4.22, PART VOCALS has no text events?
6. Why are there TWO PART VOCALS >tracks< ? Does the game just combine the tracks or does it ignore one? I understand there being multiple channels but this is multiple tracks showing up in reaper 4.22.
I had an option set wrong in Reaper. Thanks for the help!

5. Why does HARM 3 not have phrase markers? Does it just use the ones in HARM 2? Read over the docs and phrase markers for HARM 2 / 3 are marked by HARM 1. HARM 2 is only required for static shifting. I will have to change my code to save HARM 1 markers and reuse them for HARM 2 / 3.

#26 TrojanNemo

TrojanNemo

    The Programmer

  • 4,748 posts
  • Location
    Miami, Florida

Posted December 13, 2014 - 03:20 PM

1. Why are talkies charted without the "#" or "^" marker?

I have proof that the chart is actually charted weird. I won't say wrong because that might sound a bit mean. It definitely looks weird though and my program is reading the chart right.

Whether a lyric is a "talkie" depends on whether it has the # or ^ marker. If it's not there, it's not a "talkie", it's a pitched lyric. Even if the audio says it should be "talkie", you as the person interpreting the MIDI represent it as what i's charted. So yes, that song is missing a lot of unpitched markers. Last I remember this was breaking compatibility with the posted version of the program. Point being there is no way you get to decide if a lyric should be or shouldn't be pitched. You have to rely on the markers and assume the author did it correctly.


4. Why can the start phrase marker on A8/A#8 come AFTER a charted note not already part of a phrase?

It was marked at the same time as the lyric but my program was picking up the lyric first. I just changed the code to not pick up lyrics until a phrase start marker is read.


NAudio reads the notes two ways: time-wise, from left (earliest in track) to right, and when things are on the same exact start time, from highest note to lowest note (top to bottom in REAPER). So think of this if you ever add things like detecting old (blue) phrase markers, pro drum markers, overdrive, drum fills. They all may and do happen at the same exact start time as the notes underneath, so it's always better to read the notes "top to bottom".


Nemo here, and being the jealous guy that he is


Nonsense. Me jealous? Pfft.

#27 dreamtheaterfan

dreamtheaterfan
  • 171 posts

Posted December 13, 2014 - 03:37 PM

Fixed the last issue of it not separating some tracks by phrases.
Turns out I was checking for a Note Off event but this midi file (Sir-Mix-A-Lot) was using Note On events marked as note off to end the phrase. So I just added in where it checks for Note Off events OR note on events marked as note off.

The last issue left is just getting phrase markers for HARM3.
It's not a problem per se because that's how the chart is marked but it would look much nicer.

I also added back in overdrive marking and taps.

Going to do a little more tests and then upload this V3 which seems to be reading every chart normally.

edit: V3 is now uploaded and it's looking mighty fine! :excited:

To do list that is just for conveience: Get HARM3/HARM2 markers and write Tap (x10) instead of "tap tap tap tap tap tap tap tap tap tap."


#28 dreamtheaterfan

dreamtheaterfan
  • 171 posts

Posted January 2, 2015 - 04:18 PM

Worked on this a bit more and I got harmony 2/3 phrase markers to show based on harm 1 markers. Same with overdrive. Last thing I need to add is a "tap" condensor so that it shows Tap x10 instead of Tap Tap Tap Tap Tap etc.

I'll release this version as V4 when it's done.

#29 dreamtheaterfan

dreamtheaterfan
  • 171 posts

Posted January 2, 2015 - 07:38 PM

Finishing V4 up nicely but I ran into one last problem.

"Jesus of Seburbia" by Green Day has phrase markers on A6 AND A#6 for PART VOCALS. Why is this? I found no mention of this in the RBN documentation.

Posted Image

#30 TrojanNemo

TrojanNemo

    The Programmer

  • 4,748 posts
  • Location
    Miami, Florida

Posted January 2, 2015 - 07:48 PM

You're not going to find RBN documentation for things that were used exclusively prior to RBN being created.
All of RB1/RB2 and those era songs have phrase markers at both places, sometimes only one, sometimes both at the same time (stacked). Why? Because Harmonix.

#31 dreamtheaterfan

dreamtheaterfan
  • 171 posts

Posted January 2, 2015 - 08:04 PM

Alright thanks.
V4 is now uploaded.
Next on my to do list is integrate the section names in-between phrase markers.

#32 AddyMilldike

AddyMilldike
  • 322 posts
  • Location
    Canada

Posted January 2, 2015 - 08:53 PM

You're not going to find RBN documentation for things that were used exclusively prior to RBN being created.
All of RB1/RB2 and those era songs have phrase markers at both places, sometimes only one, sometimes both at the same time (stacked). Why? Because Harmonix.


It has a purpose. Those are face off markers for P1 and P2. But since there isn't any face off mode in RB3 there's no more need for them.

ZipZapZoop.png


#33 espher

espher

    Harmonies Hacker

  • Administrator
  • 1,900 posts
  • Location
    Canada

Posted January 2, 2015 - 10:17 PM

Yep, Addy's got it (and I believe he may have pointed it out to me quite some time back when I was wondering). Face-Off would have vocalists trading phrases and occasionally singing the same phrases, so pre-RB3 .mid files will have notes on either or both markers.

re: phrase markers, you may want to use H2 markers for H2/H3, as those actually 'chunk' those phrases together, though it can be a mess when all three parts are running as it can only map to one or the other (usually with the third part's lyrics hidden).

C3 Author/Admin, Project Lead for the Rock Band: Harmonies Project


#34 dreamtheaterfan

dreamtheaterfan
  • 171 posts

Posted January 9, 2015 - 11:50 AM

Moving this to OP.

#35 TrojanNemo

TrojanNemo

    The Programmer

  • 4,748 posts
  • Location
    Miami, Florida

Posted January 9, 2015 - 01:24 PM

That looks great!

#36 TrojanNemo

TrojanNemo

    The Programmer

  • 4,748 posts
  • Location
    Miami, Florida

Posted January 9, 2015 - 06:27 PM

Currently working on a Rockband Vocals visualizer.


I should have trademarked that Visualizer name :haw:

#37 espher

espher

    Harmonies Hacker

  • Administrator
  • 1,900 posts
  • Location
    Canada

Posted January 11, 2015 - 05:23 PM

v. nice w/ the GUI and such.

What is it checking for in file contents? Keeps telling me that none of my .mid files have tempo tracks.

C3 Author/Admin, Project Lead for the Rock Band: Harmonies Project


#38 dreamtheaterfan

dreamtheaterfan
  • 171 posts

Posted January 11, 2015 - 05:33 PM

It's looking for a track named "TEMPO TRACK" which was working on the few midis I tried.
It may be that the tempo track can have a different name as well.

I tested:
Adam Sandler - Somebody Kill Me
Aerosmith - Dream On
MJ - Don't Stop
GnR - Knocking On Heaven's Door
TBB - Barbara Ann / Fun, Fun, Fun
The Chordettes - Mr. Sandman

Let me know what song it failed on so I can check it out.

Update:
Further testing reveals extracted official content has it's tempo track named "????6?????6?6??????" instead of "TEMPO TRACK" which means I will need to change the detection to something not related to the track name.

#39 espher

espher

    Harmonies Hacker

  • Administrator
  • 1,900 posts
  • Location
    Canada

Posted January 11, 2015 - 06:18 PM

Ah, yeah, I should have clarified it was official content + RBHP exports I was testing with. Sorry.

Basically, I'm hoping this might save me one of my "in-game" playback passes by giving me a 'better' GUI than REAPER for me to check for things I overlook when working late at night. Tubes touching, missing slides/lyrics, etc.

C3 Author/Admin, Project Lead for the Rock Band: Harmonies Project


#40 TrojanNemo

TrojanNemo

    The Programmer

  • 4,748 posts
  • Location
    Miami, Florida

Posted January 11, 2015 - 06:23 PM

Update:
Further testing reveals extracted official content has it's tempo track named "????6?????6?6??????" instead of "TEMPO TRACK" which means I will need to change the detection to something not related to the track name.


Proper MIDI spec will have the TEMPO track as track 1 in the MIDI file. So midifile.Events[0] is your TEMPO track. Never come across one so far that isn't that way.




6 user(s) are reading this topic

0 members, 6 guests, 0 anonymous users