Woodlake
21st January 2016, 14:17
Hi Guys,
Just looking for a little help with a script.
There seems to be plenty of info on scrolling subtitles, but nothing to achieve exactly what I'm after.
This is the goal:
I have a 1920x1080 letterboxed video of guitar playing. In the lower black bar I want to scroll the tablature/music to match the video.
I have succeeded in doing it for a single bar (1920x160px image), but I need successive bars to follow on in a continuous unbroken stream.
Due to the length of the song (102 bars), it is impractical to do it with a single image (195840x160px!!).
Here is the script I have so far:
V = FFVideoSource("song.mp4")
A = FFAudioSource("song.mp4").DelayAudio(-0.2)
# Delay before the playing starts (trimmed since overaly works from 1st frame)
part1 = AudioDub(V, A).Trim(0,100).ConvertToYUY2
# guitar part
part2 = AudioDub(V, A).Trim(101,0).ConvertToYUY2
# single bar image
tab = ImageSource("Y:\Avs Files\song\TAB\001.jpg")
# thin vertical red line to indicate location on TAB (static)
pointer = ImageSource("Y:\Avs Files\song\TAB\Pointer.png")
pointer2 = ImageSource("Y:\Avs Files\song\TAB\Pointer.png",pixel_type="RGB32").ShowAlpha(pixel_type="RGB32")
# animating movement of the 1 bar image
Comp = Animate(part2, 48, 200, "overlay", tab, 0, 917, tab, -1920, 917)
# combining pre play part with final video and overlays
Final = Overlay (Comp,pointer,mask=pointer2, 0, 917)
AlignedSplice(part1,Final)
Any suggestions as to how this could be achieved?
Cheers,
Woodlake
Just looking for a little help with a script.
There seems to be plenty of info on scrolling subtitles, but nothing to achieve exactly what I'm after.
This is the goal:
I have a 1920x1080 letterboxed video of guitar playing. In the lower black bar I want to scroll the tablature/music to match the video.
I have succeeded in doing it for a single bar (1920x160px image), but I need successive bars to follow on in a continuous unbroken stream.
Due to the length of the song (102 bars), it is impractical to do it with a single image (195840x160px!!).
Here is the script I have so far:
V = FFVideoSource("song.mp4")
A = FFAudioSource("song.mp4").DelayAudio(-0.2)
# Delay before the playing starts (trimmed since overaly works from 1st frame)
part1 = AudioDub(V, A).Trim(0,100).ConvertToYUY2
# guitar part
part2 = AudioDub(V, A).Trim(101,0).ConvertToYUY2
# single bar image
tab = ImageSource("Y:\Avs Files\song\TAB\001.jpg")
# thin vertical red line to indicate location on TAB (static)
pointer = ImageSource("Y:\Avs Files\song\TAB\Pointer.png")
pointer2 = ImageSource("Y:\Avs Files\song\TAB\Pointer.png",pixel_type="RGB32").ShowAlpha(pixel_type="RGB32")
# animating movement of the 1 bar image
Comp = Animate(part2, 48, 200, "overlay", tab, 0, 917, tab, -1920, 917)
# combining pre play part with final video and overlays
Final = Overlay (Comp,pointer,mask=pointer2, 0, 917)
AlignedSplice(part1,Final)
Any suggestions as to how this could be achieved?
Cheers,
Woodlake