VideoHelp Forum
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 59
Thread
  1. There are many tutorials online about how to go about creating a title sequence that 'simulates' typing..... most of those seem to use After Effects (which i don't have), and those I've seen so far all simulate typing at a constant speed.

    I had a requirement to simulate a sequence as if it was actually being typed manually... so with 'random' gaps, to try and copy actual manual typing.

    I managed to do what I needed using an AviSynth script with SubtitleEx for the titles, writing incremental text lines, and adding one character at a time.... a copy of my initial results can be found HERE (...it's less than 1MB).
    (And yes, background is the same one that Jajabo used in another recent thread! )

    But as the text itself describes, it took about an hour to do. As a beginner with Avisynth scripts I couldn't think (or find online) an alternative way of approaching the task.

    As a realistic 'manual' aspect of the sequence needs random frame numbers, I suspect there is no quicker way.... but I thought I'd ask the experts here for their thoughts.

    Maybe Avisynth scripts are not the best approach for this particular task, but I couldn't think of any other freeware alternative?......

    Are there other ways of achieving this effect, without spending something like that amount of time on each sequence?.....
    Quote Quote  
  2. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    Not freeware, but if I were you, I'd give BluffTitler a try. ~$30USD - gives you 2D or 3D animated text (over graphic, or even over transparency) with specifically allowing for a typewriter effect if you desire. Once you know the program, take about 5 minutes or less to create what you need.

    Scott
    Quote Quote  
  3. You can do that in AviUtl for free.
    Create a new project, add a Text object, then type:
    <r#>Your text goes here with typewriter effect <w#> wait a moment
    <c#> wait and clear previous lines

    (replace # with a number)
    Stopping development until someone save me from poverty or get me out of Hong Kong...
    Twitter @MaverickTse
    Quote Quote  
  4. Thanks for those suggestions guys.. I'll check them out. (Although I think i'll probably check out the freeware option first...$50 is a bit more than I'd budgeted for at this stage..... no offence Scott!)

    The most time consuming part so far has been synchronizing the key press sounds with the individual characters as they appear... Obviously I had to make the sound track first, to get the frame timings right for the characters as they appear.

    The other time consuming part was the fact that I had to make each line individually. Both Virtauldub and AvsPmod would always crash trying to read the 90 line SubtitleEx Avisynth script. (It was OK with only 50 lines)

    Whether that 'sync' aspect would still be time consuming with Aviutl I'm not sure?... i'll try it and see...

    Thanks again for the ideas..
    Quote Quote  
  5. Member racer-x's Avatar
    Join Date
    Mar 2003
    Location
    3rd Rock from the Sun
    Search Comp PM
    Aviutl can do this easily. Typing speed is fully adjustable, just lay done you audio track and adjust the letters to follow the strokes.
    Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
    Quote Quote  
  6. i'd suggest you to make the video first, since the complex effects are applied to video.
    The <r#>tag accepts an integer, so <r5> means 5 characters per second, so you can make the audio track matching such setting.
    Stopping development until someone save me from poverty or get me out of Hong Kong...
    Twitter @MaverickTse
    Quote Quote  
  7. I think I shall still need to create the audio first. Using 'real' typing sound effects for the audio give a 'natural' sounding track, with variable 'spacing'-- which a human typist creates of course.
    I then use my audio editor - set with a 'frame rate' timeline setting - to track the exact frame numbers that the characters will appear, to coincide with the audio. That allows for the video to be edited so that the each text character appears exactly where it needs to - with frame accuracy.

    I'm not sure whether that approach is possible with Aviutl?

    So far, I'm having no luck even trying to run it! Downloading 'Extra pack 1.9' version and trying opening it brings up a virus warning (TR/Crypt.ZPACK.Gen.7). I've quarantined that (I hope) and then, because I'm running Win 7 32 bit, I overwrote the exe with the 'minimal' version , as suggested. That brings up a 'd3dx9_43.dll file is missing' !!.......

    I can't say that this freebie is inspiring a lot of confidence at the moment...

    So before I give up... a couple of quick questions.

    1) Can I run the 'minimal' version for this simple task? (that version seems to work OK...)

    2) I'm guessing I cannot create the text within AViut itself? If that's true, in what form do I need to import a text file to allow me to perform this task...
    Quote Quote  
  8. I think the minimal version of aviutl should be able to do it. Yes, you can create text within aviutl.

    See this link, and the posts by maverick and racer. There are links to project files and tutorials to guide you
    https://forum.videohelp.com/threads/368226-Going-nuts-trying-to-achieve-a-typewriting-e...transparent-bg

    There are many tutorials online about how to go about creating a title sequence that 'simulates' typing..... most of those seem to use After Effects (which i don't have), and those I've seen so far all simulate typing at a constant speed.
    The "fastest" way IMO would be to use after effects and use an expression that links the audio to the text. So delays are reflected, and the timing is automatically based on the audio file. Although if you only have small amount of text, manually doing it isn't that bad

    A higher quality way would be to include the carriage movement, keystrokes, paper & ribbon animation, but difficultly level becomes much higher
    Quote Quote  
  9. Originally Posted by poisondeathray View Post
    I think the minimal version of aviutl should be able to do it. Yes, you can create text within aviutl.
    See this link, and the posts by maverick and racer. There are links to project files and tutorials to guide you
    https://forum.videohelp.com/threads/368226-Going-nuts-trying-to-achieve-a-typewriting-e...transparent-bg
    Thanks for those links..
    Yes, it does seem as if the minimal version will deal with this OK. And the project links from Maverick are most helpful. I've manged to take a look at the titling one, and glanced at some of the variables...

    What that shows is that Aviutl looks to be one serious beast of a program!!.... accompanied (as usual!) with a steep learning curve. Very impressive though...
    For this particular version of the task though -- i.e. varying the spacing of individual text characters -- I think it might actually still be faster to write the AviSynth scripts. At least, as you suggest, if there's only small amounts of text to write.

    I think I've worked out why my original scripts were crashing, so now to see if I can work out how to scale the fonts in SubtitleEx, to improve the resolution a bit (might mean starting with a 4K background though!)

    Thanks again for your suggestions and ideas guys....
    Quote Quote  
  10. Manual timing of avs script to audio effects can be very time consuming and unpleasant . At least I haven't found a "good" way of doing it. It's easier to do manual timing in a GUI NLE. aviutl can do it , but the GUI isn't as slick as commercial editors for audio timing .

    Both avisynth and aviutl are 32bit apps, so large images & textures can become a problem in terms of memory. You can use 64bit avisynth, but it's not as stable, and fewer functions and plugins are available for it

    You can try SetMemoryMax() in avisynth to some number it might help the crashing
    Quote Quote  
  11. Originally Posted by poisondeathray View Post
    Both avisynth and aviutl are 32bit apps, so large images & textures can become a problem in terms of memory.
    I now realise that my original script had an error which effectively layered all my sequential characters on top of each other, so that the first 'T' had 80+ other 'T' s sitting on top of it!.. That seems to have explained the 'out of bounds memory access' failure.
    So a quick re-write of frame limits seems to have cured that.

    I can see how the NLE route for timing would be preferred, but for these smaller projects like this, running the 'timed' audio file on a frame rate timeline in an audio editor allows you to note exact 'frame' location for each key press pretty easily.
    Then adding those frame references onto each script line only involves changing 2 numbers. The script lines themselves, with the complete text, are simply copied as many times as necessary, and then partially deleted as required.

    Not very efficient, but once you get into the swing, each line only takes a few seconds..... and no steep 'learning curve' required... which helps a simple guy like me!

    (small sample of the script attached...it's not too long winded! - and a copy of the video file itself)
    Image Attached Files
    Last edited by pippas; 7th Jan 2015 at 17:43.
    Quote Quote  
  12. Yes , it' s not that tedious for a small project at all. Nice job.
    Quote Quote  
  13. Member racer-x's Avatar
    Join Date
    Mar 2003
    Location
    3rd Rock from the Sun
    Search Comp PM
    You can also animate (as a group) the paper with the typing text to give it a more natural look.
    Image Attached Thumbnails Click image for larger version

Name:	Typewriter.gif
Views:	568
Size:	290.4 KB
ID:	29557  

    Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
    Quote Quote  
  14. Member racer-x's Avatar
    Join Date
    Mar 2003
    Location
    3rd Rock from the Sun
    Search Comp PM
    Using your scroll background and your Typewriter sound effects in Aviutl. It took about 10 minutes to do....
    Image Attached Files
    Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
    Quote Quote  
  15. Originally Posted by pippas View Post
    I think I shall still need to create the audio first. Using 'real' typing sound effects for the audio give a 'natural' sounding track, with variable 'spacing'-- which a human typist creates of course.
    I then use my audio editor - set with a 'frame rate' timeline setting - to track the exact frame numbers that the characters will appear, to coincide with the audio. That allows for the video to be edited so that the each text character appears exactly where it needs to - with frame accuracy.

    I'm not sure whether that approach is possible with Aviutl?

    So far, I'm having no luck even trying to run it! Downloading 'Extra pack 1.9' version and trying opening it brings up a virus warning (TR/Crypt.ZPACK.Gen.7). I've quarantined that (I hope) and then, because I'm running Win 7 32 bit, I overwrote the exe with the 'minimal' version , as suggested. That brings up a 'd3dx9_43.dll file is missing' !!.......

    I can't say that this freebie is inspiring a lot of confidence at the moment...
    SOME antivirus marks the FFT-Audio spectrum viewer as malware, it is a FALSE POSITIVE. Quarantine will only disable this function, not affecting the rest of the program.
    Recent AV-updates SHOULD remove such warning unless the heuristic mark it so. See the virustotal report for it:
    https://www.virustotal.com/en/file/92da137bcad9eeb5859e8724debc8aaa2889b740bb6cad6b746...5929/analysis/

    If you do not have d3dx9 (DirectX9), that means you're either using a very old machine or for some reason, no DirectX9 installed/broken.
    Stopping development until someone save me from poverty or get me out of Hong Kong...
    Twitter @MaverickTse
    Quote Quote  
  16. @ racer-x -- looks pretty good! I see you have decided to use fixed gaps of 5 frames between letters, and 40 frames between words.
    I went a bit further than that, and timed each character with frame accuracy to the associated key press. Probably a bit over the top for this kind of project? ... your version seems to be close enough to create the effect needed.
    I can see that a more accurate approach might be better for some projects -- linking to music 'beats' for example -- but using a 'standard' gap seems to be OK for this less demanding application...

    @Maverick Tse -- It was Avira that reported the 'virus' as a false positive. (Screen capture attached). Dxdiag shows my directx installation as DirectX 11.
    I have had no other problems (AFAIK) with that installation so far.....

    Using the minimal version of Aviutl seems to work fine, so I'll stick with that version for the present.....

    Thank you both for your input to this thread...
    Image Attached Thumbnails Click image for larger version

Name:	Aviutl errors.jpg
Views:	348
Size:	125.6 KB
ID:	29566  

    Quote Quote  
  17. Member racer-x's Avatar
    Join Date
    Mar 2003
    Location
    3rd Rock from the Sun
    Search Comp PM
    For music notes, I think I would go with pop-up animation. Check out my pop-up animation tut in the Aviutl tips, tricks and support thread. https://forum.videohelp.com/threads/366724-Aviutl-Tips-Tricks-and-Support-thread?p=2342...=1#post2342272
    Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
    Quote Quote  
  18. Originally Posted by racer-x View Post
    For music notes, I think I would go with pop-up animation. Check out my pop-up animation tut in the Aviutl tips, tricks and support thread. https://forum.videohelp.com/threads/366724-Aviutl-Tips-Tricks-and-Support-thread?p=2342...=1#post2342272
    Thanks for that link..... very interesting. I've had a look .. (twice actually -- I'm what Maverick refers to as a 'video dummy', I'm afraid!)

    As a simple example to illustrate why a music track might need more accurate character 'marking' than, say, the typewriter sequence, I made a short sample of what I was thinking about.

    (A copy of a 15 second video of the result 'BirdlandAviSynth' is attached.)

    As that was only a 15 line Avisynth script, it only took a few minutes to do..... much quicker than the multi-character typewriter sequence of course.

    So I thought I might try and see if I could do the same thing using Aviutl. I managed to produce something similar (copy video 'BirdlandUTL' is attached below)

    But - understandably - it took me much longer. Probably because I'm completely new to AviUtl , and didn't know my way around at all!

    I can see how changing the Vdisplay value changes the constant gap between characters, but the only way I could find of picking an actual specific frame reference point for each character, was to place each one on a new layer.
    That works pretty well - although I couldn't find away of entering the frame number as 'typed' numbers.. and had to use the slider as accurately as I could.

    And of course each new text character resorted to the default value - so I had to change the font and size each time. (I'm sure that process could have been 'automated'?)

    But I found the really difficult bit were the 'X' settings. (The 'Y' were easy enough to copy). I couldn't work out the logic of the reference numbers, so that I could space my characters equally horizontally. (You can probably see in the video that they are 'manually' spaced.)

    I also had problems exporting my AVI - but that was me. Somehow I'd lost the 'blue' line, and wasn't exporting anything! I finally managed to locate 'select all' and everything was fine.

    And for some reason I had to export 578 frames, even though I only need 350? Not sure how to change the 'exportable' length of the timeline......

    So thanks again for suggesting AviUtl.... I can see that it's a very powerful tool .. Just not always that user friendly for simple folk like me!

    I shall persevere though.....
    Image Attached Files
    Quote Quote  
  19. The generic term or category is called "kinetic type" in motion graphics work .

    I'll leave it to maverick and racer to answer the aviutl specific questions, but in general terms, there are several ways to do this type of animation. Instead of vdisplay, the way you could do it in aviutl (or other similar programs) is a "reveal" technique. All the words are already written on the background layer with the font/spacing/ typeset that you want. This gets around some of the issues you were having. You remove layers or masks which are covering up parts to "reveal" the words underneath to the timing of the audio. That timing part is still manual like avisynth. While there are automated solutions in other programs that use audio to drive animation, there are no free ones that I know of

    And there is no reason why it has to be "one or the other." You can import avs scripts into aviutl. Some things are easier/better to do in avisynth, yet others are easier/better to do in aviutl or other programs
    Quote Quote  
  20. Member racer-x's Avatar
    Join Date
    Mar 2003
    Location
    3rd Rock from the Sun
    Search Comp PM
    Yes, I agree with PDR. The reviling masks technique is a great idea. You can also import your already created avs script into Aviutl and animate it further using various filters / plugins or camera panning etc, ect, ect.....

    I believe once you master the program, your only limitation will be your imagination. At best, I've only figured out maybe 15% of the program's capabilities. I pretty much just stumble on things when I play around with it. Maverick is the Guru here.
    Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
    Quote Quote  
  21. Hahaha well crap I guess that makes me at 5% in aviutl

    For that specific project, it doesn't have to be masks. All it takes is 3 layers. The 2 horizontal strips that can be rectangular shapes that you just keyframe left to right, and they are the same color as the background. They start covered up (nothing revealed), and you move them to the right with keyframes according to the beat timing which you've already figured out avisynth

    The layer stack order is "reversed" in aviutl (the background is in the highest slot)
    A) Background
    B) Top cover
    C) Bottom cover

    To assist with beat timing (if you've haven't already done it in an audio editor), you can look at the audio waveform as well. (And avisynth has audio waveform visualization plugins as well)
    Quote Quote  
  22. Member racer-x's Avatar
    Join Date
    Mar 2003
    Location
    3rd Rock from the Sun
    Search Comp PM
    And for some reason I had to export 578 frames, even though I only need 350? Not sure how to change the 'exportable' length of the timeline......
    There are two ways I know how to select export range and they are detailed in the attached image.
    Image Attached Thumbnails Click image for larger version

Name:	range.png
Views:	455
Size:	24.8 KB
ID:	29577  

    Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
    Quote Quote  
  23. Thanks for the info on the range selection racer, that works fine!

    I shall look further into the 'layer' concept suggested by PDR.

    Thanks again for all the tips and advice...
    Quote Quote  
  24. I'll try to provide some better instructions. I'm not an expert at aviutl, I only know the basics, so I hope Maverick or Racer can make some corrections and suggestions:

    Right click an empty track => new media object => Graphic. You can drag the layer out to the desired length on the timeline. In the settings, it's set to "circle". You can set it to "square", then adjust the size and aspect parmeters to make it a rectangle. You can enter numbers for parameters by clicking on the value with the underline. Size is horizontal size, so for a 1280 width project entering 1280 will cover the entire width. You can fiddle with the aspect to change the height (you will need a negative number)

    The "coverup" rectangles are "black" like the background, but for animation purposes, you change the opacity (it's called "clearness" in aviutl) so it's semi transparent, so you can "see" what you're doing. You change it back to clearness of "zero" when you do final render

    When the playhead is on the desired frame, right click on the layer of interest, and "add midpoint" to set a keyframe (aviutl calls keyframes "midpoints"). The default keyboard shortcut for this is "P" and probably faster . You can enter values to move the rectangle, but for something like this it's probably easier to drag the rectangle with the mouse in the window. You can hold the shift key to constrain movement (you want to drag only in x-axis), and drag the rectangle to the right. Repeat for each movement. Important that you set the keyframe interpolation to "teleportation" , to prevent keyframe interpolation like "tweening" between keyframes. You do this by pushing the "x" button in the parameter window (standard drawing interface). "Teleportation" is like a "hold keyframe" that stays at that value until the next keyframe.

    For some people, it will still be faster to do in avisynth. Others might prefer a GUI approach. But you can't "reveal" things other than text with SubtitleEx . What if you had shapes, or musical notes, or other graphics that you wanted to "reveal" ? What if the reveal wasn't linear (e.g. goes diagonal)? So this layered reveal approach opens up many other creative options

    Q for Maverick or Racer :
    1) Is there an autokeyframing/automidpoint feature? ie. if you have a midpoint set, can aviutl auto generate a midpoint when you've moved the play head and changed the value like dragging a rectangle ? Or do you have to push "P" or right click/add midpoint each time ?

    2) Is there a reset or delete all midpoints hotkey or command ? Normally I would duplicate the top "rectangle" then begin on the bottom rectangle, but it has the keyframes, so you would have to go through the procedure of producing the rectangle again
    Quote Quote  
  25. Member racer-x's Avatar
    Join Date
    Mar 2003
    Location
    3rd Rock from the Sun
    Search Comp PM
    Q for Maverick or Racer :
    1) Is there an autokeyframing/automidpoint feature? ie. if you have a midpoint set, can aviutl auto generate a midpoint when you've moved the play head and changed the value like dragging a rectangle ? Or do you have to push "P" or right click/add midpoint each time ?

    2) Is there a reset or delete all midpoints hotkey or command ? Normally I would duplicate the top "rectangle" then begin on the bottom rectangle, but it has the keyframes, so you would have to go through the procedure of producing the rectangle again
    1) No, you'll need to manually add midpoint (aka key-frame), it won't auto create like Vegas and Adobe.

    2) No, you have to manually delete each one. However it will allow to evenly space midpoint by time when you right-click on a midpoint.
    Got my retirement plans all set. Looks like I only have to work another 5 years after I die........
    Quote Quote  
  26. Originally Posted by poisondeathray View Post
    I'll try to provide some better instructions......
    Right click an empty track => new media object => Graphic. You can drag the layer out to the desired length on the timeline. In the settings, it's set to "circle". You can set it to "square", then adjust the size and aspect parmeters to make it a rectangle. You can enter numbers for parameters by clicking on the value with the underline. Size is horizontal size, so for a 1280 width project entering 1280 will cover the entire width. You can fiddle with the aspect to change the height (you will need a negative number)

    The "coverup" rectangles are "black" like the background, but for animation purposes, you change the opacity (it's called "clearness" in aviutl) so it's semi transparent, so you can "see" what you're doing. You change it back to clearness of "zero" when you do final render

    When the playhead is on the desired frame, right click on the layer of interest, and "add midpoint" to set a keyframe (aviutl calls keyframes "midpoints"). The default keyboard shortcut for this is "P" and probably faster . You can enter values to move the rectangle, but for something like this it's probably easier to drag the rectangle with the mouse in the window. You can hold the shift key to constrain movement (you want to drag only in x-axis), and drag the rectangle to the right. Repeat for each movement. Important that you set the keyframe interpolation to "teleportation" , to prevent keyframe interpolation like "tweening" between keyframes. You do this by pushing the "x" button in the parameter window (standard drawing interface). "Teleportation" is like a "hold keyframe" that stays at that value until the next keyframe.
    That is excellent advice .. thank you very much! That works very well, as is of course much faster because the text doesn't need to be aligned on so many different layers. (Copy of previous video done following these instructions attached).

    In the case of my original 'typewriter' clip, I can see this would have been a lot quicker. I would however need to ensure that the background was absolutely the same colour all over (it isn't at the moment) or the graphic 'masking' rectangles might appear in the background where the colours weren't exactly the same. But that's minor point...

    Aviutl is clearly a very powerful tool... but it's a bit scary -- but then so is AviSynth - especially when you first start - and I love playing around with that now!


    Thanks again for the tips...
    Image Attached Files
    Quote Quote  
  27. Originally Posted by pippas View Post
    I would however need to ensure that the background was absolutely the same colour all over (it isn't at the moment) or the graphic 'masking' rectangles might appear in the background where the colours weren't exactly the same. But that's minor point...
    Yes, the way that is typically done is with masks, not with opaque layers as in the previous example.

    An easy way to modify what you have already, is with a luminance key. For the rectangular shapes, make them 100% white. Those are areas that become "transparent" when you apply the luminance key effect when set to "through bright". So you apply the luminance key to each reveal "rectangle" layer. If you've used avisynth's overlay() with a mask, it's the same idea. Or if you've used Adobe software it's called a "luma matte". Areas in 100% white are 100% transparent, 100% black is 100% opaque. Shades of grey are variable in transparency. You can also combine this by using multiple layers to achieve the effect (the 1st background consists of the "actual" background , and a 2nd background layer of only the letters or objects)
    Quote Quote  
  28. I shall take a look at luminance keying..... thanks for that suggestion
    Quote Quote  
  29. I might have got that backwards a bit (you might want an inverted matte instead, or show through dark). Let me play with it and I'll try to put up an example. It might be slighly different in aviutl. But the key to doing that (in any program, including avisynth or NLE's) is separating things on different layers, background on one, text or objects on the other (with alpha channel) , and using the white/black shape(s) as the control layer(s) to reveal the text/objects. The background is always persistent - it's the control layer shapes that are animated revealing the text/objects. It doesn't have to be a linear reveal either - you could have the words arranged circular for example, or whatever - let your imagination run wild
    Last edited by poisondeathray; 9th Jan 2015 at 18:11.
    Quote Quote  
  30. Ok slightly better instructions. Again I don't know if this is the "proper" way to do it in aviutl, I'd wait for racer and maverick to add suggestions

    You can place the white/black control layer in a difference scene. In the advanced editing timeline, there is box in the top left corner that says "root". Click that and you will see Scene 1, Scene 2 etc....

    So you copy & paste the one you have into Scene 1. You can disable the layer for now in the Root scene .

    So you have for "root scene"

    1) Background layer (actual background)

    2) Text or object layer, (ie. the stuff you want to reveal). It has to be prepared with alpha channel (transparency), or "RGBA" . For example , if you were making stuff in photoshop or gimp, save it out as a PNG with alpha channel. In avisynth there is a masksub() function that works with subs. I think you should be able to get something to work with subtitleex as well, let me get back to you on that one

    3) audio track (but doesn't really matter where this goes)


    Scene 1 has
    A) white/black control layer

    For the text/object layer, apply the "mask" effect. In the drop down menu, select "select from scene", and choose scene 1. This sort of thing is called a "nested composition" in "Adobe" terms. If you get the white/black swapped (e.g. white for black), you can just hit the invert mask button
    Quote Quote  
Visit our sponsor! Try DVDFab and backup Blu-rays!