O ffmpeg pode fazer isso por você, mas você pode precisar de duas etapas
Opcional Etapa 1: encontre o comprimento do arquivo original
ffmpeg -i '/path/to/original.mp3' 2>&1 | grep 'Duration :'
Agora você pode calcular o número de repetições necessárias. Como alternativa, você pode usar apenas um número "seguro" de repetições, pois muitas não vão doer.
Etapa 2: faça o loop do arquivo e corte-o no comprimento necessário
crie "concat.txt" com este conteúdo
file '/path/to/original.mp3'
file '/path/to/original.mp3'
...
file '/path/to/original.mp3'
file '/path/to/original.mp3'
file '/path/to/original.mp3'
Deve haver pelo menos tantas linhas quanto as repetições necessárias, mas, novamente, mais não vão doer, então você pode usar uma contagem de linhas seguras (muito alta)
E execute o ffmpeg (supondo que você queira 123.456 segundos):
ffmpeg -t 123.456 -f concat -i concat.txt -c copy -t 123.456 output.mp3