- Posts: 184
- Joined: Fri May 21, 2021 6:37 am
- Real Name: Sean Weaver
Jim Simon wrote:Bring in the Tab as a graphic, set up keyframes in a Transform node, use a Mask to limit the view.
Sean Weaver wrote:...Unfortunately I now see that doing it this way (per line of music) means that if you have 7 lines of music, with each line exported as a separate graphic, the scroll won't be continuous over the span of (say) 56 measures.
Sean Nelson wrote:Sean Weaver wrote:...Unfortunately I now see that doing it this way (per line of music) means that if you have 7 lines of music, with each line exported as a separate graphic, the scroll won't be continuous over the span of (say) 56 measures.
The way I'd design this is similar to what you described - have the music stationary with a highlight (perhaps a semi-transparent yellow bar) moving left-to right to indicate the tempo and notes being played. Then when you reach the end of the line, I'd scroll the line up out of the window at the same time as scrolling the next line up into the window. I suspect this would be easier to animate and it seems to me like it would better mimic the actual experience of reading printed music off a page. It also eliminates the issue of having the time signature constantly scrolling horizontally out of view.
If you have the room, I'd actually show two lines of music so that the next line is visible during the scroll between lines. That allows you to scroll slowly during time that the second line is being played and avoid distraction.
Sean Weaver wrote:I was thinking just today and almost hopped on here to ask if anyone had advice on what I need to learn/explore in order to keyframe to a specific tempo/beat per minute marking. I'll look in the books and was wondering if the spline editor may come in handy for that specific question.
Sean Nelson wrote:Sean Weaver wrote:I was thinking just today and almost hopped on here to ask if anyone had advice on what I need to learn/explore in order to keyframe to a specific tempo/beat per minute marking. I'll look in the books and was wondering if the spline editor may come in handy for that specific question.
Something like this:
Glenn Sakatch wrote:But if your music is a fairly stock shape and size, you should be able to scan it in, or frame grab it, how ever you get the graphic into the computer in the first place, and use it as a template.
Once you build it once in Fusion, lining up your 4 pages of sheet music end to end, cropping at the head bars, you should be able replicate that setup by swapping out your sources for other pieces of music. Just make your music pages the same size and layout each time. Even if you had to use a transform node at some point in the tree to do an adjustment for a sheet that isn't lining up perfectly. I would think this would be a pretty easy setup, and pretty easy to modify for different sheets of music.
Sure it might take an hour to setup your template, but modifying it for different music should be pretty quick.
It would be much easier for a student to look at the same spot on the screen to see the music at a glance, than to have to scan back and forth to find their place.
Sean Nelson wrote:
Timing shouldn't be too big an issue, note the frame numbers of the first and last beats for the line, then add keyframes to the transform node to position the line to the first and last notes of the music at the first and last frame numbers respectively (this assumes that the notes are spaced proportionally with the beats, i.e., twice as much distance between quarter notes as between eighth notes, etc.).
Something like this:
TheBloke wrote:Don't worry about multiple successive posts, no-one minds.
Could you upload a couple of sample TAB images, both in their original form as exported from Finale and after your modifications in Photoshop to make them transparent. If they're too big to attach here (very likely), put them on Google Drive or Dropbox or a similar service and link to them. If you can't post links yet, just put the link in a Code block and/or put a space at the start like: ht tps://google.com/xyz
I'd like to see what your source material is, then I'll see if I can knock something up that's straightforward to use.
TheBloke wrote:Don't worry about multiple successive posts, no-one minds.
Could you upload a couple of sample TAB images, both in their original form as exported from Finale and after your modifications in Photoshop to make them transparent. If they're too big to attach here (very likely), put them on Google Drive or Dropbox or a similar service and link to them. If you can't post links yet, just put the link in a Code block and/or put a space at the start like: ht tps://google.com/xyz
I'd like to see what your source material is, then I'll see if I can knock something up that's straightforward to use.
{
Tools = ordered() {
Merge1 = Merge {
CtrlWZoom = false,
Inputs = {
Background = Input {
SourceOp = "Background1",
Source = "Output",
},
Foreground = Input {
SourceOp = "LumaKeyer1",
Source = "Output",
},
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 1336, 154.909 } },
},
LumaKeyer1 = LumaKeyer {
Inputs = {
Low = Input { Value = 0.45, },
Filter = Input { Value = FuID { "Fast Gaussian" }, },
MatteGamma = Input { Value = 3, },
Invert = Input { Value = 1, },
Input = Input {
SourceOp = "Loader1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 1336, 77.0606 } },
},
Background1 = Background {
Inputs = {
Width = Input { Value = 3840, },
Height = Input { Value = 4320, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
TopLeftRed = Input { Value = 0.339, },
TopLeftGreen = Input { Value = 1, },
TopLeftBlue = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { 1225.33, 154.909 } },
},
Loader1 = Loader {
Clips = {
Clip {
ID = "Clip1",
Filename = "/Users/tomj/Pictures/Downloaded/Finale Sample.png",
FormatID = "PNGFormat",
StartFrame = -1,
LengthSetManually = true,
TrimIn = 0,
TrimOut = 0,
ExtendFirst = 0,
ExtendLast = 0,
Loop = 0,
AspectMode = 0,
Depth = 0,
TimeCode = 0,
GlobalStart = 0,
GlobalEnd = 0
}
},
ViewInfo = OperatorInfo { Pos = { 1226, 77.0606 } },
UserControls = ordered() {
MakeLocal = {
INP_Default = 0,
INPID_InputControl = "ButtonControl",
BTNCS_Execute = " args = { tool = comp.ActiveTool, copyTree = true }\n path = comp:MapPath(\"Scripts:support/Loader_MakeLocal.lua\")\n comp:RunScript(path, args)\n ",
IC_ControlPage = 0,
LINKID_DataType = "Number",
LINKS_Name = "Make Local",
}
}
}
}
}
TheBloke wrote:OK I had a look. I'll be going to bed shortly, but I will look into a Fusion comp example for you tomorrow.
Quick thing in the meantime: you can forget about that whole Photoshop step. Firstly because it's likely not going to be necessary to have the notes on a transparent background. Secondly because even if that does prove to be useful in the comp, we can do it in a single node in Fusion.
Copy the code below and paste it into Fusion to recreate these nodes. Then go into the Loader node (top left) and click Browse and point it to your Finale Sample.png (it won't work immediately as the path I used on my disk won't be right for yours of course).
Then look at the output of Merge1. Same notes, different background.
I used a Luma Keyer (keys based on the luminance/brightness of pixels) to select all the black notes and then inverted it to mask out all the white. Super easy given your notes are just black on white. Then I merged that over a coloured background, just to show it working.
As I say we may well not need transparency anyway as the video example you showed earlier in the thread indicated you wanted the notes scrolling on white anyway. But if transparency does prove useful, you definitely don't need to bother with a manual Photoshop step to achieve it.
Demo comp showing how we can layer your black-on-white notes over any background using a Luma Keyer:I'll post again tomorrow when I've had a chance to fiddle in Fusion with the example comp for scrolling the notes with some kind of highlight.
- Code: Select all
{
Tools = ordered() {
Merge1 = Merge {
CtrlWZoom = false,
Inputs = {
Background = Input {
SourceOp = "Background1",
Source = "Output",
},
Foreground = Input {
SourceOp = "LumaKeyer1",
Source = "Output",
},
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 1336, 154.909 } },
},
LumaKeyer1 = LumaKeyer {
Inputs = {
Low = Input { Value = 0.45, },
Filter = Input { Value = FuID { "Fast Gaussian" }, },
MatteGamma = Input { Value = 3, },
Invert = Input { Value = 1, },
Input = Input {
SourceOp = "Loader1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 1336, 77.0606 } },
},
Background1 = Background {
Inputs = {
Width = Input { Value = 3840, },
Height = Input { Value = 4320, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
TopLeftRed = Input { Value = 0.339, },
TopLeftGreen = Input { Value = 1, },
TopLeftBlue = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { 1225.33, 154.909 } },
},
Loader1 = Loader {
Clips = {
Clip {
ID = "Clip1",
Filename = "/Users/tomj/Pictures/Downloaded/Finale Sample.png",
FormatID = "PNGFormat",
StartFrame = -1,
LengthSetManually = true,
TrimIn = 0,
TrimOut = 0,
ExtendFirst = 0,
ExtendLast = 0,
Loop = 0,
AspectMode = 0,
Depth = 0,
TimeCode = 0,
GlobalStart = 0,
GlobalEnd = 0
}
},
ViewInfo = OperatorInfo { Pos = { 1226, 77.0606 } },
UserControls = ordered() {
MakeLocal = {
INP_Default = 0,
INPID_InputControl = "ButtonControl",
BTNCS_Execute = " args = { tool = comp.ActiveTool, copyTree = true }\n path = comp:MapPath(\"Scripts:support/Loader_MakeLocal.lua\")\n comp:RunScript(path, args)\n ",
IC_ControlPage = 0,
LINKID_DataType = "Number",
LINKS_Name = "Make Local",
}
}
}
}
}
TheBloke wrote:
I used a Luma Keyer (keys based on the luminance/brightness of pixels) to select all the black notes and then inverted it to mask out all the white. Super easy given your notes are just black on white. Then I merged that over a coloured background, just to show it working.
TheBloke wrote:OK I've done an example comp, and a ten minute tutorial to go with it.
Gary Hango wrote:I used a graphic editor to replace your sheet music in your graphic with transparency. In resolve I used the transforms so one line fit into the window and keyframed them for scrolling.
Gary Hango wrote:I don't know where the grey background in your video came from. Was it part of the pick hand video or did you add it in your composite?
TheBloke wrote:I wasn't quite sure what you wanted highlighted - whether it was just the TAB or the notes too, so I've just done the TAB. It's all a bit rudimentary but hopefully might point you in the right direction. If it doesn't look how you hoped let me know and I can look at it some more.
TheBloke wrote:In terms of making better effects: could you upload the Finale source file? Not the PNG export, but the file you load/save in Finale? I would like to play around with Finale and see what its export options are. I'm thinking if we could have separate input PNGs - one with the stave with no notes, then another with just the notes, we could layer one over the other while also applying effects to the notes. Kind of like I was trying to do with the Luma Keyer, but much cleaner.
TheBloke wrote: What do you think of this as a concept? It's a little more complicated to keyframe, but looks a bit more interesting. And there's probably more that could be done from here.
Sean Weaver wrote:Glenn Sakatch wrote:But if your music is a fairly stock shape and size, you should be able to scan it in, or frame grab it, how ever you get the graphic into the computer in the first place, and use it as a template.
Once you build it once in Fusion, lining up your 4 pages of sheet music end to end, cropping at the head bars, you should be able replicate that setup by swapping out your sources for other pieces of music. Just make your music pages the same size and layout each time. Even if you had to use a transform node at some point in the tree to do an adjustment for a sheet that isn't lining up perfectly. I would think this would be a pretty easy setup, and pretty easy to modify for different sheets of music.
Sure it might take an hour to setup your template, but modifying it for different music should be pretty quick.
It would be much easier for a student to look at the same spot on the screen to see the music at a glance, than to have to scan back and forth to find their place.
Thanks Glenn. It's probably me for staying up until 4am last night trying to map out/learn in order to pull this project off. I'm not sure I entirely understand. You're suggesting a way of generating a continuous scroll if I haven't misunderstood, correct?
I generate notation & TAB using Finale on Mac. Then export a graphic but have to create transparency in Photoshop. Then into Davinci. Obviously everything leaves Finale in a stock shape & size.
If I'm following what you're suggesting, then each page of music would only have one "system" (that is, line) of music on it....am I following? With 4-bars per line, you're suggesting 4 pages with a crop to the leftmost/head barline of each page...aligned end to end.....am I following?
TheBloke wrote:I played around with it a bit more but fundamentally I'm not an artist, so I think if you're happy with the simple one, go for that for now.
Glenn Sakatch wrote:Yes, build your music sheets, bring them into fusion, crop them with a polygon tool, and merge them together, one after the other, so they go off screen to the right. Use the merge tool to line up the "next" one...the one going into the green triangle, to the "first" one ...the one going into the orange triangle. Once the first two are lined up, and a third one, and put it after the merge tool you just worked on. Dragging the new one's output square onto the pervious merge tools output square will create a new merge...again, line it up. Do this for all your sheets. You will probably have to manouver around a bit to continually look at the connection section in your viewer, but it is possible to do.
When all your merges are done, add a transform tool to the end after your last merge. Merge that transform onto your playing footage. You should now be able use that transform to to slide your long string of music pages back to the start...set a keyframe, go to the end of your music, slide your transform to the end of the footage, and set a keyframe. Remember fusion will allow you to slide a shot that is waaaaaaay longer than 1920 by 1080 over top of a 1920 x1080 shot.
Post a couple of your pages, and i'll see if i can whip up a sample.
Glenn Sakatch wrote: Strangely enough, the playback seems smoother in fusion, than it does on the rendered file. I'm doing a gradient extrapolation for the keyframes, so the speed would have to be played with a bit...depending on the spacing between the pages, and the real world count of the music.
give it a look, maybe it will inspire you or someone else with some better ideas.
Glenn
Glenn Sakatch wrote:Ya, the problem with a smooth movie credit roll is it has to be as long as the proper pixels per frame x the length of your credits. When the producer asks for a 30 second credit roll, smoothness goes out the window. With the music, you obviously need a very specific speed...4 seconds per sections i guess, so then maybe the question becomes, how many sections, strung together, give you the proper timing at 3 or 4 pixels per frame. (haven't done a roll for a couple of years, but i think i settled on 3 pixels per frame for speed vs legibility.)
One of the reasons I always try to do credit pages instead of rolls
Glenn Sakatch wrote:With the music, you obviously need a very specific speed...4 seconds per sections i guess, so then maybe the question becomes, how many sections, strung together, give you the proper timing at 3 or 4 pixels per frame.
Gary Hango wrote:Something else you might consider, hiring out the compositing, animation and editing to someone else, as you're filming your lessons. Film a lesson, hand off the footage and music graphics, film the next, etc. Is finishing in possibly less than half the time worth the extra cost? Can you recoup this cost by having the project generating cashflow sooner?
Something to think about.
Jobol777 wrote:Wow,
Never figured out how hard it is to display a guitar tab on a Youtube video! And I seen countless videos with tabs!
I wonder how everyone else does them!
Sean Weaver wrote:With notations on-screen or .pdf links below?
Jobol777 wrote:Sean Weaver wrote:With notations on-screen or .pdf links below?
Something like this:
I mean I never really thought about how hard it is. And also their timing with the animation is spot on!
Users browsing this forum: Google [Bot], Jmac3000 and 170 guests