Я пытаюсь создать приложение, которое будет передавать аудио с Darkice, а также предоставить индикацию светодиодного индикатора VU для аудиопотока.Rpi wheezy duplicate capture on usb & dummy cards
Я создал виртуальную карту с. Эта карта распознается alsamixer, aplay и iscord, но я не могу передать линейный сигнал с карты USB (hw: 0,0) на фиктивную карту (hw: 2,0).
Я пробовал несколько сценариев .asoundrc, которые я нашел как в вашем Q & A, так и в Google, используя alsa dmix, dsnoop и multi, но пока ничего не получилось.
В настоящее время я использую одну программу python (LED_VU.py), которая автоматически запускается в одном терминале, а вторая программа python, содержащая Darkice (streamer.diDual.py) во втором терминале. Часть конфигурации светодиодной программы:
### LED VU Meter on RPI ###
#!/usr/bin/env python
import alsaaudio as AA
import audioop
from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
#Define physical header pin numbers for 10 LEDs
RPiPins=[11,12,13,15,16,18,22,7,3,5]
#set all pins as output
for pin in RPiPins:
GPIO.setup(pin, GPIO.OUT)
#Set up audio
card = 'hw:0,0'
в Кoнфигурировании часть darkiceDual.cfg является:
# Darkice Configuration File - Generated by Streamer
[general]
duration = 0 # duration of encoding, in seconds. 0 means forever
bufferSecs = 5 # size of internal slip buffer in seconds
reconnect = yes # reconnect to server if disconnected
[input]
device = hw:2,0 # alsa usb soundcard device for audio input
sampleRate = 44100 # sample rate in Hz
bitsPerSample = 16 # bits per sample
channel = 2 # channels. 1 = mono, 2 = stereo
Мой файл .asoundrc является:
pcm.!default {
type plug
slave.pcm "mdev"
route_policy "duplicate"
}
pcm.mdev {
type multi
slaves.a.pcm "hw:0,0"
slaves.a.channels 2
slaves.b.pcm "dmixer"
slaves.b.channels 2
bindings.0.slave a
bindings.0.channel 0
bindings.1.slave a
bindings.1.channel 1
bindings.2.slave b
bindings.2.channel 0
bindings.3.slave b
bindings.3.channel 1
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:2,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
channels 2
format S16_LE
}
}
Что я делаю неправильно ?
В стример не будет звука, если я использую hw: 2,0 и имею ошибку «Не могу подключиться», если я использую hw: 0,0 (используется LED_VU.py). Если я изменил настройку карты программы LED на hw: 2,0, светодиоды будут блокироваться, и все они будут гореть.
Любая помощь приветствуется!
Благодарим за помощь. Обе программы используют линию usb как ожидалось.
Теперь я не могу использовать alsamixer или amixer. Pulseaudio вызывает проблему сейчас. Если он установлен, программа LED_VU.py не будет работать. Когда он будет удален, будут запускаться программы python, но не alsamixer.