Basically I'd like to make a speaker on a wall "talk". Is the simplest way to make it into a character, or can I make it a hotspot and get the text appearing above it?
Easiest thing is to make an invisible character, but if you don't like that for any reason, you may use textual overlays:
http://www.adventuregamestudio.co.uk/wiki/Overlay_functions_and_properties#Overlay.CreateTextual
Character speech is technically textual overlays too, just managed automatically by the engine.
Cool. Text Overlays work well. Thanks.
You can also have another character from a different room speakin with the sayat function. I use that sometimes when i am lazy and dont want to make a new invisible character :-)