This mixes a present condition ("weren't so shy" — a permanent trait) with a past result ("would have spoken"), which is the present-to-past mixed pattern.
Reference: Skoolyst English Grammar Guide
, Page 5
Hint
Present condition + past result = past simple in the if-clause, "would have + V3" in the main clause.