ah i see, by using .substring(start, end) and having a counter you can do just what you want to achive i think i did have a working demo but it's pretty old and in shambles but it still does basically a proof of concept however i think a simple one would be easier
var delay = 0; // counts keyframes can also be an array if you have many
var pos = 0; // speech position at 0
var speech = "hello world"; // the text that will be used later on though this can also be used like "hi".substring(0,1)
noStroke();
function draw() {
background(255);
if (delay > 0) { delay--; }
else if (pos < speech.length){
pos++;
delay = 2; // can be however many frames you want a timedLoop may also be possible
} // you can also put an else statement here for it to change text of what it says
fill(0);
textSize(50);
textAlign(CENTER, CENTER); // optional
text(speech.substring(0, pos), 200, 200); // where the substring method is called
}