The second parameter is time in milliseconds. It is expected an integer/long not a floating point value like 1.5. To beep for 1.5 seconds try winsound.Beep(50, 1500)
You can also try using the ord() function to get the ASCII value of the character passed as parameters. Lower case values are on the range 97-122. By iterating through the string you can check if any characters are not lower case.