Mein Internetradio Python Programm regelt die Lautstärke über
eine Infrarot-Fernsteuerung (LIRC) und ‚from mpd import MPDClient‘
mit den Commands: client.setvol(+5) oder client.setvol(-5)
Als Lautsprecher ist ein aktiver Lautsprecher an einem USB-Audiocontroller angeschlossen.
Da ich keine LCD Display mehr verwende, werden die Sendernamen über pico2wave
Auf dem Lautsprecher ausgegeben.
def tts_sende(words): #Ansage, laufender Sender
_ping(client)
PlayStat = client.status() # Play Status
vol = int(PlayStat['volume']) # Sichere Lautstaerke
client.setvol(0) # Lautstaerke = 0
tempfile = "temp.wav"
devnull = open("/dev/null","w")
subprocess.call(["pico2wave", "--lang=de-DE", "-w", tempfile, words],stderr=devnull)
subprocess.call(["aplay", tempfile],stderr=devnull)
os.remove(tempfile)
client.setvol(vol) # Lautstaerke wieder zuruecksetzem
Alles anzeigen
Während der Senderansage wird die Audiolautstärke auf 0 geregelt, so daß nur der Sendername zu hören ist.
aplay –l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: ALSA [bcm2835 ALSA], Gerät 0: bcm2835 ALSA [bcm2835 ALSA]
Sub-Geräte: 8/8
Sub-Gerät #0: subdevice #0
Sub-Gerät #1: subdevice #1
Sub-Gerät #2: subdevice #2
Sub-Gerät #3: subdevice #3
Sub-Gerät #4: subdevice #4
Sub-Gerät #5: subdevice #5
Sub-Gerät #6: subdevice #6
Sub-Gerät #7: subdevice #7
Karte 0: ALSA [bcm2835 ALSA], Gerät 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 1: Set [C-Media USB Headphone Set], Gerät 0: USB Audio [USB Audio]
Sub-Geräte: 0/1
Sub-Gerät #0: subdevice #0
amixer controls
numid=5,iface=MIXER,name='Headphone Playback Switch'
numid=6,iface=MIXER,name='Headphone Playback Volume'
numid=3,iface=MIXER,name='Mic Playback Switch'
numid=4,iface=MIXER,name='Mic Playback Volume'
numid=7,iface=MIXER,name='Mic Capture Switch'
numid=8,iface=MIXER,name='Mic Capture Volume'
numid=9,iface=MIXER,name='Auto Gain Control'
numid=2,iface=PCM,name='Capture Channel Map'
numid=1,iface=PCM,name='Playback Channel Map'
Mein Problem ist nun, daß ich nicht weiß, wie ich die aplay Lautstärke regeln kann.
Z.Z. muss ich den die Grundeinstellung des Lautsprechers für den Sendernamen einstellen und
kann den Radiostring nur noch geringfügig regeln.
Meine Frage ist: Wie kann ich die aplay Lautstärke unabhängig regeln?
Oder kann ich den durch pico2wave erzeugten tempfile auch anders ausgeben.
Grüße,
Thomas