Занялся я тут как то этим вопросом и откопал изящное и красивое решение - streamripper
Устанавливает тривиально
sudo apt-get install streamripper
Пользоваться еще проще. Если напрямую не видим потока, то сохраняем плейлист, который предлагает радиостанция. К примеру возьмем радиостанцию sunfm (радиостанция выбрана мною случайно)
там я выбрал направление музыки Drum&Base (даже не спрашивайте почему.. глупый вопрос) и первый попавшийся плейлист http://sanfm.ru/drum.pls
Открыв его с помощью любого текстового редактора (gedit например) видим примерно следующее
[playlist]
File1=http://sanfm.ru:8000/drum
Title1=SanFM.ru Drum'n'bass Stream hosted by SanFM.ru
Length1=-1
File2=http://81.177.16.221:8000/drum
Title2=SanFM.ru Drum'n'bass Stream hosted by SanFM.ru
Length2=-1
File3=http://sunfm.ru:8000/drum
Title3=SanFM.ru Drum'n'bass Stream hosted by SunFM.ru
Length3=-1
File4=http://rufm.ru:8000/drum
Title4=SanFM.ru Drum'n'bass Stream hosted by RuFM.ru
Length4=-1
File5=http://sanfm.ru:8000/drum
Title5=SanFM.ru Drum'n'bass Stream hosted by SanFM.ru
Length5=-1
NumberOfEntries=5
Version=2
жирным я выделил интересующий нас текст. это и есть поток. затем запускаем streamripper
streamripper http://sanfm.ru:8000/drum
теперь весь поток будет сохраняться в текущей папке, разбиваясь по трекам. если хотим чтобы сохранялось в какой-то иной папке, то запускам стримриппер с параметром -d
streamripper http://sanfm.ru:8000/drum -d ./music
и также есть возможность прослушивать при этом то что рипается.. для этого надо запустить streamripper с параметром -r который будет создавать локальную трансляцию на порту 8000 то есть всего то надо открыть http://localhost:8000 в любимом прои проигрывателе