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.