TerminalRadio - Slut med Fx / Web-Radio-problem

Användarvisningsbild
cupe
Inlägg: 650
Blev medlem: 05 jun 2008, 07:10
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av cupe »

Har varit en hel del trådar om problem med radio nu. Framförallt för oss med x64 kan det vara struligt värre att kunna lyssna på radio i Fx eftersom det inte finns någon flash-version som fungerar till 100%.
Har fulhackat ihop något som gör det hela lite lättare;

Bild

Kod: Markera allt

# -*- coding: utf-8 -*-
# Kräver mpg123 ; sudo apt-get install mpg123
# Ersätt mpg123 med valfri spelare
import os

print ("")
print ("==============")
print("TerminalRadio")
print ("==============")
print("Välj en station:")
print("")
print ("1) East FM")
print ("2) HardFM")
print ("3) RadioSeven")
print ("4) Sveriges Radio P1")
print ("5) Sveriges Radio P2")
print ("6) Sveriges Radio P3")
print ("7) Sveriges Radio P4")
print ("8) RockKlassiker")
print ("")
print ("0) Avsluta")

val = raw_input("Val: ")

if val == "1":
	os.system("mpg123 -@ mms://www.eastfm.se/eastfm")
	
if val == "2":
	os.system("mpg123 -@ http://files.hard.fm/192.pls")
	
if val == "3":
	os.system("mpg123 -@ http://www.radioseven.se/128.pls")
	
if val =="4":
	os.system("mpg123 -@ rtsp://rm-live.sr.se/broadcast/p1.rm")

if val =="5":
	os.system("mpg123 -@ rtsp://rm-live.sr.se/broadcast/p2.rm")

if val =="6":
	os.system("mpg123 -@ rtsp://rm-live.sr.se/broadcast/p3.rm")

if val =="7":
	os.system("mpg123 -@ rtspe://rm-live.sr.se/broadcast/p4.rm")
if val =="8":
	os.system("mpg123 -@ mms://live.alleredge.com/AE_Rockklassiker_Mid")
Spara som radio.py, kör med python radio.py.
Senast redigerad av 1 cupe, redigerad totalt 25 gånger.
Användarvisningsbild
Mats L
Inlägg: 29
Blev medlem: 22 jun 2008, 13:42
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS
Ort: Nyköping
Kontakt:

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av Mats L »

Suveränt! Har sparat era inlägg för senare användning - TACK så mycket för hjälpen!
Användarvisningsbild
cupe
Inlägg: 650
Blev medlem: 05 jun 2008, 07:10
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av cupe »

Nemas problemas. Fyll gärna på med mer bra stationer, gärna lite hårdare psy, hardstyle, hardcore, hiphop.
Användarvisningsbild
Hund
Inlägg: 16492
Blev medlem: 25 jan 2007, 04:15
OS: Gentoo
Ort: Norrland
Kontakt:

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av Hund »

En annan variant som använder Mplayer:

Kod: Markera allt

#!/bin/bash
echo ""
echo " 1  -> P3"
echo " 2  -> P3 Rockster"
echo " 3  -> DI.fm - Ambient"
echo " 4  -> DI.fm - Chillout"
echo " 5  -> DI.fm - Deep House"
echo " 6  -> DI.fm - Drum 'n' Bass"
echo " 7  -> DI.fm - Lounge"
echo " 8  -> DI.fm - Trance"
echo " 9  -> DI.fm - Vocal Trance"
echo " 10 -> ETN-fm - Progressive"
echo " 11 -> Soma FM - Indie Pop Rocks"
echo " 11 -> Ubuntu Sverige"
echo ""
echo "Choose a station:"
read radio
if [ "$radio" = "1" ]; then
mplayer rtsp://rm-live.sr.se/broadcast/p3.rm
elif [ "$radio" = "2" ]; then
mplayer rtsp://rm-live.sr.se/broadcast/p3rockster.rm
elif [ "$radio" = "3" ]; then
mplayer http://www.di.fm/mp3/ambient.pls
elif [ "$radio" = "4" ]; then
mplayer http://www.di.fm/mp3/chillout.pls
elif [ "$radio" = "5" ]; then
mplayer http://www.di.fm/mp3/deephouse.pls
elif [ "$radio" = "6" ]; then
mplayer http://www.di.fm/mp3/drumandbass.pls
elif [ "$radio" = "7" ]; then
mplayer http://www.di.fm/mp3/lounge.pls
elif [ "$radio" = "8" ]; then
mplayer http://www.di.fm/mp3/trance.pls
elif [ "$radio" = "9" ]; then
mplayer http://www.di.fm/mp3/vocaltrance.pls
elif [ "$radio" = "10" ]; then
mplayer http://www.etn.fm/progressive-high.m3u
elif [ "$radio" = "11" ]; then
mplayer http://www.soma.fm/indiepop.pls
elif [ "$radio" = "12" ]; then
mplayer http://live1.radiovague.com:8000/fuse.mp3

exit
fi
:)

Tips på en bra radiokanal med hardcore, post-hardcore etc vore trevligt.
Linuxkompis - En vänlig Linux-gemenskap för alla!
Användarvisningsbild
cupe
Inlägg: 650
Blev medlem: 05 jun 2008, 07:10
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av cupe »

Trevligt, hund! :)
leakim
Inlägg: 60
Blev medlem: 16 dec 2007, 11:07

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av leakim »

cupe

Jag är en äldre farbror som försöker lära mig lite av det här med Ubuntu.
Letade just efter ett sätt att lyssna på P1 sommarpratarna och samtidigt spela in för att ev. lägga in på min mp3 spelare.

Då jag är helt noll på det här skulle du kunna ge en steg för steg hjälp hur jag kommer ända fram??? :D

Tacksam för all hjälp i detta
Michael
Användarvisningsbild
cupe
Inlägg: 650
Blev medlem: 05 jun 2008, 07:10
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av cupe »

Uppdatering:

Kod: Markera allt

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Kräver mpg123 ; sudo apt-get install mpg123
# Ersätt mpg123 med valfri spelare
# Kräver moc; sudo apt-get install mocp
# Ersätt moc med valfri spelare
import os


#Funktionen menu där du väljer vad du vill göra
def menu():
	
	print ""
	print "-' Radio & Musik i konsolen, jippi! '-"
	print ""
	print "1) Spela Radio"
	print "2) Spela Lokal Musik"
	print ""
	val = raw_input("Val: ")

	if val =="1":
		radio()
	if val =="2":
		music()
		


#funktionen radio som har hand om radio-biten
def radio():
	
	
	print ("")
	print "'- Radio on Console -'"
	print""
	print"Välj en station:"
	print""
	print "1)  East FM"
	print "2)  HardFM"
	print "3)  RadioSeven"
	print "4)  Sveriges Radio P1"
	print "5)  Sveriges Radio P2"
	print "6)  Sveriges Radio P3"
	print "7)  Sveriges Radio P4"
	print "8)  RockKlassiker"
	print "9)  di.fm - Trance"
	print "10) di.fm - VocalTrance"
	print "11) di.fm - Chillout"
	print""
	print "A) Spela egen ström"
	print "M) Tillbaka till huvudmenyn"
	print "Q) Avsluta"
	print ""

	
	
	val = raw_input("Val: ")
	val = val.lower()
	
	if val == "1":
		os.system("mpg123 -@ mms://www.eastfm.se/eastfm")
	elif val == "2":
		os.system("mpg123 -@ http://files.hard.fm/192.pls")
	elif val == "3":
		os.system("mpg123 -@ http://www.radioseven.se/128.pls")
	elif val =="4":
		os.system("mpg123 -@ rtsp://rm-live.sr.se/broadcast/p1.rm")
	elif val =="5":
		os.system("mpg123 -@ rtsp://rm-live.sr.se/broadcast/p2.rm")
	elif val =="6":
		os.system("mpg123 -@ rtsp://rm-live.sr.se/broadcast/p3.rm")
	elif val =="7":
		os.system("mpg123 -@ rtspe://rm-live.sr.se/broadcast/p4.rm")
	elif val =="8":
		os.system("mpg123 -@ mms://live.alleredge.com/AE_Rockklassiker_Mid")
	elif val =="9":
		os.system("mpg123 -@ http://www.di.fm/mp3/trance.pls")
	elif val =="10":
		os.system("mpg123 -@ http://www.di.fm/mp3/vocaltrance.pls")
	elif val =="11":
		os.system("mpg123 -@ http://www.di.fm/mp3/chillout.pls")
	elif val =="a":
		own_radio = raw_input("Mata in en egen stream: ")
		own_radio = own_radio.lower()
		os.system("mpg123 -@ " +	own_radio)
	elif val =="m":
		menu()
	else:
		print "Felaktigt val!"
		menu()

#funktionen music som har hand om övrig musik
def music():
	music_location = raw_input("Ange sökväg till din musik: ")
	os.system("x-terminal-emulator -e mocp -m " + music_location)
	
menu()


Vill gärna ha tips på hur användaren kan skicka med egna argument till moc (användaren väljer alternativ 2, ombeds skriva in sökvägen till dennes musik, och den strängen skickas med till mocp -m /bla/bla)

Edit:
Uppdaterat igen och problem solved.
Senast redigerad av 6 cupe, redigerad totalt 29 gång.
Användarvisningsbild
cupe
Inlägg: 650
Blev medlem: 05 jun 2008, 07:10
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av cupe »

leakim skrev:cupe

Jag är en äldre farbror som försöker lära mig lite av det här med Ubuntu.
Letade just efter ett sätt att lyssna på P1 sommarpratarna och samtidigt spela in för att ev. lägga in på min mp3 spelare.

Då jag är helt noll på det här skulle du kunna ge en steg för steg hjälp hur jag kommer ända fram??? :D

Tacksam för all hjälp i detta
Michael
Spara all kod ovan i ett textdokument och spara som radio.py (eller vad du känner för). Plocka fram terminalen och byt mapp till den mappen där du sparat scriptet, sedan kör du det med python radio.py. Det underlättar om du skapar en launcher som gör detta åt dig så att du slipper göra det varje gång;

python /mapp/där/du/sparat/det/radio.py

Angående att spela in programmen får du nog rådfråga någon annan, har ingen vidare koll på det. Det borde i och för sig inte vara svårare än att byta utmatningsmodul i din mediaspelare, men jag låter någon annan svara på det.
Användarvisningsbild
cupe
Inlägg: 650
Blev medlem: 05 jun 2008, 07:10
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av cupe »

Har nu lagt till möjligheten att addera sin egen ström direkt i programmet, möjligheten att spela lokal musik (via moc) samt rättat lite fel i koden.
leakim
Inlägg: 60
Blev medlem: 16 dec 2007, 11:07

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av leakim »

Cupe skrev:
Spara all kod ovan i ett textdokument och spara som radio.py (eller vad du känner för). Plocka fram terminalen och byt mapp till den mappen där du sparat scriptet, sedan kör du det med python radio.py. Det underlättar om du skapar en launcher som gör detta åt dig så att du slipper göra det varje gång;

python /mapp/där/du/sparat/det/radio.py

Angående att spela in programmen får du nog rådfråga någon annan, har ingen vidare koll på det. Det borde i och för sig inte vara svårare än att byta utmatningsmodul i din mediaspelare, men jag låter någon annan svara på det.
Tack för ditt fösök att hjälpa mig. Men ditt svar är ämnat till en som kan det här. Jag är ljusår därifrån.
Har försökt att göra som du föreslår men det funkar inte för mig.
Måste jag ha installerat nåt som förstår "Python"
Jag har en Mubi-installerad Ubuntu 8.04 och inte värst mycket mer på en slav HD.
Sorry men jag får nog ge mig tror jag.
Tack i alla fall för ditt försök
Michael
Användarvisningsbild
cupe
Inlägg: 650
Blev medlem: 05 jun 2008, 07:10
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av cupe »

leakim skrev:Cupe skrev:
Spara all kod ovan i ett textdokument och spara som radio.py (eller vad du känner för). Plocka fram terminalen och byt mapp till den mappen där du sparat scriptet, sedan kör du det med python radio.py. Det underlättar om du skapar en launcher som gör detta åt dig så att du slipper göra det varje gång;

python /mapp/där/du/sparat/det/radio.py

Angående att spela in programmen får du nog rådfråga någon annan, har ingen vidare koll på det. Det borde i och för sig inte vara svårare än att byta utmatningsmodul i din mediaspelare, men jag låter någon annan svara på det.
Tack för ditt fösök att hjälpa mig. Men ditt svar är ämnat till en som kan det här. Jag är ljusår därifrån.
Har försökt att göra som du föreslår men det funkar inte för mig.
Måste jag ha installerat nåt som förstår "Python"
Jag har en Mubi-installerad Ubuntu 8.04 och inte värst mycket mer på en slav HD.
Sorry men jag får nog ge mig tror jag.
Tack i alla fall för ditt försök
Michael
Nja, det tror jag inte. Python borde väl vara installerat från scratch..?
Hur som helst, kör;

sudo apt-get install python

Och upprepa stegen igen så går det nog bättre. :)
Användarvisningsbild
Ulsak
Inlägg: 4808
Blev medlem: 06 aug 2007, 19:04
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Göteborg

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av Ulsak »

Very nice indeed!

För alla scriptsugba finns också den häringa tråden. ( kör själv med det scriptet..)

http://ubuntu-se.org/phpBB3/viewtopic.php?f=67&t=7685
Användarvisningsbild
cupe
Inlägg: 650
Blev medlem: 05 jun 2008, 07:10
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av cupe »

Ulsak skrev:Very nice indeed!

För alla scriptsugba finns också den häringa tråden. ( kör själv med det scriptet..)

http://ubuntu-se.org/phpBB3/viewtopic.php?f=67&t=7685
Haha, vad fan! Vad jag än försöker mig på så har alltid någon annan hunnit före! :P
Mitt är dock lite snyggare eftersom det är gjort i Python... right?! ;D >:D ;D
David Andersson
Inlägg: 1269
Blev medlem: 15 dec 2007, 03:20
OS: Xubuntu

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av David Andersson »

leakim skrev:Letade just efter ett sätt att lyssna på P1 sommarpratarna och samtidigt spela in för att ev. lägga in på min mp3 spelare.
1. Installera

Installera alsa-utils och lame.

Kod: Markera allt

sudo apt-get install alsa-utils lame
(Om du redan har alsa-utils installerad så gör det inget att uföra kommandot i alla fall. Den säger i så fall "alsa-utils is already the newest version" och en massa annat blaj man inte behöver bry sig om.)

2. Experimentera

Först testar vi manuellt att det funkar att fånga ljud i datorn. (Verkar det jobbigt? I så fall gå direkt till Automatisera nedan.)

I ett terminalfönster, skriv

Kod: Markera allt

alsamixer
  • Stapeln till vänster är <Master>. Lägg på minnet vilken volym som är inställd där. (Ett tal mellan 0 och 100, t.ex 50)
  • Tryck TAB en gång så att View [Capture] är vald
  • Tryck högerpil tills <Capture> är vald
  • Tryck mellanslag så att det står CAPTUR ovanför <Capture>
  • Tryck upp- eller ner-pil så att stapeln för <Capture> får ungefär samma värde som <Master> (som du lade på minnet ovan. t.ex 50.) Ungefär räcker
  • Tryck högerpil tills <Mix> är vald
  • Tryck mellanslag så att det står CAPTUR ovanför <Mix>
  • Tryck ESC för att lämna alsamixer
Använd din favoritmediaspelare och börja spela en musikfil eller en radiostation. När du hör musik, skriv:

Kod: Markera allt

arecord -vv -c2 -r44100 -d600 test.wav
Om det fungerar ska du se en stapel med ### som rör sig med musiken. Låt den hålla på en stund, några sekunder eller en minut. Tryck sedan Control-C. Öppna test.wav med din favoritmediaspelare och kontrollera att den innehåller musiken du spelade.

Wav-filer är för otympligt att bära med sig så vi provar att fånga ljud och konverterar till mp3 i en och samma kommandorad. Utför följande kommando och börja sedan spela musik:

Kod: Markera allt

arecord -vv -c2 -r44100 -d600 >(lame - test.mp3)
Rör sig stapeln? Tryck Control-C etfer en stund. Du bör ha fått en fil test.mp3. Lyssna på den att den har rätt ljud.

3. Automatisera

Vi gör ett litet script som gör allt automatiskt. Den sätter t.o.m CAPTUR i mixern. Spara följande i en fil "spelain".

Kod: Markera allt

#!/bin/bash
#
filename=$1

duration=3600  # 60 minutes
channels=2
rate=44100

if [ -z "$filename" ]; then
    filename=`date '+%Y%m%d-%H%M%S.mp3'`
fi

# Enable capture channels and set capture volume to match master volume
vol=`amixer sget Master,0 | grep -om1 '[0-9]*%'`
amixer -q sset Capture,0 $vol unmute cap
amixer -q sset Mix,0 unmute cap

echo "Started recording $filename; Control-C to stop"
case "$filename" in
    *.mp3)
        arecord -r$rate -c$channels -d$duration -vv >(lame - $filename);;
    *)
        arecord -r$rate -c$channels -d$duration -vv $filename;;
esac
När du sparat filen "spelain", skriv följande för att göra den körbar:

Kod: Markera allt

chmod a+x spelain
Scriptet slutar spela in automatiskt efter en timme, så att man inte fyller hårddisken om man glömmer bort den och går från datorn. Ändra 3600 till 5400 eller mer för att få med hela sommar-programmet.

Nu kan du spara det du hör i en mp3-fil med

Kod: Markera allt

./spelain filnamn.mp3
eller i en wav-fil med

Kod: Markera allt

./spelain filnamn.wav
eller i en mp3-fil som automatiskt får dagens datum och klockslag som filnamn med bara

Kod: Markera allt

./spelain
Glöm inte att avbryta med Control-C när du inte vill spela in mer. Tänk på att om du ändrar volym eller orsakar andra ljud i datorn så kan det påverka ljudet i inspelningen. Hoppas det funkar.

4. Reservation

När jag gör så här så får jag inte alldeles optimal ljudkvalitet. Det kanske beror på kvaliten på ljudkortet. Det kanske finns bättre sätt.
Användarvisningsbild
cupe
Inlägg: 650
Blev medlem: 05 jun 2008, 07:10
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

Re: TerminalRadio - Slut med Fx / Web-Radio-problem

Inlägg av cupe »

Fixade en bug som gjorde att programmet kraschade i kanalväljaren vid en felaktig kanallista.

Kod: Markera allt

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Kräver mpg123 ; sudo apt-get install mpg123
# Ersätt mpg123 med valfri spelare
# Kräver moc; sudo apt-get install mocp
# Ersätt moc med valfri spelare
import os

global cfgpath
cfgpath = "radio.txt"

#Funktionen menu där du väljer vad du vill göra
def menu():
    
    os.system("clear")
    print ""
    print "-' Radio & Musik i konsolen, jippi! '-"
    print ""
    print "1) Spela Radio"
    print "2) Spela Lokal Musik"
    print ""
    print "Q) Avsluta"
    print ""
    val = raw_input("Val: ")

    if val =="1":
        radio()
    if val =="2":
        music()
	if val == "Q" or "q":
		quit()
        
#funktionen addradio som lägger till radiostationer i radio.txt
def addradio():
	
	#rensa skärmen
	os.system("clear")

	#öppnar fil och hämtar nuvarande id och sparar i thisid
	f = open(cfgpath)
	filedata = f.readlines()
	f.close()
	tempdata = filedata[len(filedata)-1].split(" ")
	tempdata[0] = tempdata[0].replace("ID=", "")
	id = int(tempdata[0])+1
	id = str(id)
	name = raw_input("Namn: ")
	url = raw_input("Url: ")
	f = open(cfgpath, "a")
	f.write("\nID="+id+" NAME="+name+" URL="+url)
	f.close()
	#rensa skärmen
	os.system("clear")
	print ""
	print "Station tillagd"
	print ""
	raw_input()
	radio()
	
	#funktionen radio som har hand om radio-biten
def radio():

    #öppna och läsa fil
    f = open(cfgpath)
    filedata = f.readlines()
    f.close()

    #skapa nödvändiga variabler
    urllist = list()
    #printa en padding ovanför
    os.system("clear")
    print ""
   
    #data loopen, bearbetar och sorterar data
    for p in filedata:
        if p == "\n":
            continue
        templist = p.split(" ")
        templist[0] = templist[0].replace("ID=", "")
        templist[1] = templist[1].replace("NAME=", "")
        templist[1] = templist[1].replace("_", " ")
        templist[2] = templist[2].replace("URL=", "")
        templist[2] = templist[2].replace("\n", "")
   
        #printa menyn
        print templist[0]+") "+templist[1]
        #spara url i en lista
        urllist.append(templist[2])

    print ""
    print "A) Spela egen ström"
    print "E) Lägg till station"
    print "M) Tillbaka till huvudmenyn"
    print "Q) Avsluta"
   
    val = raw_input("val: ")

    if val == "Q" or val == "q":
        #rensa skärmen
        os.system("clear")
        exit()
    elif val == "E" or val == "e":
        addradio()
    elif val == "M" or val == "m":
        menu()
    elif val == "A" or val == "a":
        os.system("clear")
        own_radio = raw_input("Mata in en egen stream: ")
        own_radio = own_radio.lower()
        os.system("mpg123 -@ "+own_radio)
        raw_input("")
        radio()
    elif len(val) != 0:
        os.system("clear")
        os.system("mpg123 -@ "+urllist[int(val)-1])
        raw_input("")
        radio()
    else:
        menu()



#funktionen music som har hand om övrig musik
def music():
    #rensa skärmen
    os.system("clear")
    music_location = raw_input("Ange sökväg till din musik: ")
    os.system("x-terminal-emulator -e mocp -m " + music_location)
    raw_input("")
    menu()
#programmet    
menu()
Skriv svar

Återgå till "Ljud/Video/Multimedia - inaktuell"