sounds likely to be the battery or a loose connection.
check the batter with a meter.
should read 12 volts or more at rest.
should not drop below 10 volts during start-up.
if it does the battery is shot , get a new one.
check all connections ,
both battery posts , both starter relay posts and
ground to motor block( yes it is a pain to get to).
any of these could cause the buzzing in the starter
relay.