树莓只播放单声道声音

时间:2014-01-20 12:13:02

标签: audio raspberry-pi alsa

我在新SD卡上使用noobs安装了raspbian。

我在另一个SD中使用XBMC和XBMC,它可以工作,所以HW很好。

问题在于我无法播放立体声,因此无法通过HDMI播放,我无法播放作为midi采样器的ZynAddSubFX以及此项目的最终目标。

这是amixer的结果:

Simple mixer control 'PCM',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
Playback channels: Mono
Limits: Playback -10239 - 400
Mono: Playback -1900 [78%] [-19.00dB] [on]

单声道播放对我来说很奇怪,播放的限制也很可疑。 如果我安装pulseaudio,那么amixer需要很多时间来回复,但这是结果:

amixer
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 27111 [41%] [on]
  Front Right: Playback 27111 [41%] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch cswitch-joined penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 65536
  Front Left: Capture 65536 [100%] [on]
  Front Right: Capture 65536 [100%] [on]

更加方便和期待。

问题是我不想使用pulseaudio,实际上,我认为ZynAddSubFX与pulseaudio不兼容。

当然,我已经搜索了很多,但没有明确的解决方案。我找到了强制模拟输出的技巧(amixer cset numId = 3 1)它的工作方式我听到的东西但主要的问题是那里......只有单声道。

这是lsmod的输出:

lsmod
Module                  Size  Used by
snd_bcm2835            16165  0
snd_soc_bcm2708_i2s     5474  0
regmap_mmio             2806  1 snd_soc_bcm2708_i2s
snd_soc_core          131268  1 snd_soc_bcm2708_i2s
regmap_spi              1897  1 snd_soc_core
snd_pcm                81593  2 snd_bcm2835,snd_soc_core
snd_page_alloc          5156  1 snd_pcm
regmap_i2c              1645  1 snd_soc_core
snd_compress            8076  1 snd_soc_core
snd_seq                53769  0
snd_timer              20133  2 snd_pcm,snd_seq
snd_seq_device          6473  1 snd_seq
leds_gpio               2059  0
led_class               3688  1 leds_gpio
snd                    61291  7 
snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress

任何线索?任何其他可能有趣的输出??

3 个答案:

答案 0 :(得分:1)

我正在使用Debian 4.4.6-1+rpi14 (2016-05-05),并且遇到了非常相似的问题。仅当使用ALSA时,声音为单声道。声音不连续且质量差。如果使用omxplayer,则输出为立体声,并且音质良好。我发现如果我使用mplayer -ao alsa:device=hw=0,0,那么音质就和使用omxplayer一样好,而且是立体声!如果未将默认设备hw:0.0作为参数给出,则ALSA可能无法正常运行。因此,pulseaudio的解决方案是添加device=hw:0,0选项。

pactl load-module module-alsa-sink device="hw:0,0"
pactl set-default-sink alsa_output.hw_0_0

现在,pulseaudio可以显示立体声输出,并且声音质量与omxplayer一样好。

答案 1 :(得分:0)

我最终通过购买1.34€USB声卡“解决”了。我真的不认为这算作解决方案但是......无论如何我都需要麦克风线

答案 2 :(得分:0)

最新答案,但到目前为止我仍然可以说:我在树莓派的ubuntu发行版中遇到了同样的问题(通过hdmi输出产生单声道声音),但是在使用来自raspberry网站的raspbian发行版时一切正常。 >