Is it possible to make Arduino talk without shield

int tempb = tempc + 0.5;

This statement, in loop, creates a local variable, named tempb, and assigns it a value.

itoa (tempb, tempx, 10); // integer to string

This statement, in Test_Speech, references a global variable named tempb. This is NOT the same variable that was valued in loop.