Barcelona says the transfer will be €19 million ($23.4 million) and Song will sign a five-year contract after he travels to Spain to agree personal terms and undergo a medical examination.
The 24-year-old player will be presented on Tuesday.
Song will help replace Seydou Keita, who left during the off-season to play in China, and provide some muscle to a talented but lightweight midfield that is led by Andres Iniesta, Xavi Hernandez and former Arsenal player Cesc Fabregas.
Song would become Barcelona's second signing of the off-season, after defender Jordi Alba joined from Valencia for €14 million ($17.2 million).
Song didn't feature in Arsenal's 0-0 draw with Sunderland on Saturday's opening day of the Premier League season.
He has been at Arsenal for seven seasons, becoming a regular under manager Arsene Wenger since 2007. He played 150 league games for the London club, scoring seven goals.
He has also played 40 international matches for Cameroon.
Barcelona plays its first match in the new Spanish league season Sunday, at home against Real Sociedad to mark the debut of coach Tito Vilanova.
Arsenal sold Van Persie to Manchester United on Friday for a fee of about 24 million pounds ($38 million).