The 24-year-old has previous loan experience with Airdrieonians, Dumbarton and Falkirk and is the seventh new signing made by Saints this summer.
James Kellermann (Aldershot Town), Paul McGinn (Partick Thistle), Josh Heaton (Darlington), Jeff King (Bolton Wanderers), Cody Cooke (Truro City) and Hayden Coulson (Middlesbrough, loan) have also been brought in.
Meanwhile, former Albion Rovers keeper Ross Stewart has left the Simple Digital Arena to join Premiership new boys Livingston.