|
Raspberry Pi具有一个板载音频插孔,只需插入即插即用,即可轻松实现各种声音效果和语音!但是,如果您想要更好的音频来播放音乐,则USB声卡可以极大地改善声音质量和音量,本教程将向您展示方法。
/ ?) P$ U0 t. p6 R. s S
* F" g- D \+ Z- p% K6 d本指南还将向您展示如何通过以下方式记录音频适配器上的耳机插孔
: J. E8 c/ R4 \# f6 U; o/ K8 {# F! @/ k# T; @+ A* V
先决条件:首先,您需要一个经过完全配置的Raspberry Pi,否则它将可以正常工作并且您可以登录。我们在这方面有大量的教程,因此,请在您的SD卡中加载Raspbian(这是我们在本教程中使用的),然后 ssh 登录,使用监视器和键盘登录,或者USB控制台电缆
! ~ o. h; d" d5 U4 U/ ?2 U9 _# x2 v6 E3 l8 u& j3 ~& h, b* l3 [
提醒一下,本教程仅对USB有好处Adafruit商店中的声卡。音频卡都使用不同的芯片组,因此,如果您有另一张卡,则可能在这里不起作用!您必须弄清楚模型的不同之处。# L2 R& Z4 g$ O& w0 J# S1 g3 c8 w
# j1 i3 |. c, Y% m- M, S( V+ O: F找出您的芯片组
) c- ~' [8 w6 a5 A3 P$ m) h+ x, `# t
2 [, r E5 X. k3 X5 u您的芯片组. y2 \- @# r% P
; H/ H$ L5 f9 C, D0 H$ i( @
首先将Raspi 关闭/关闭(执行彻底关闭!),然后插入USB声卡。然后正常启动Pi。7 v r1 F7 ], Z2 R; Z
% n+ _% Q: N2 W5 n( U: P
登录后,键入 dmesg |。 grep cm109 查看启动消息。如果您有 CM109 芯片组- |& d: {; R. i% [
" H8 Y: g' a. V) k: F8 }" Y0 ]) k6 ?
; n* M: s% Z6 D# e
cm109 的几行》
) i7 A8 x* r1 X- h' v2 w! V4 u8 L9 D" z8 i1 y$ ^7 {0 |
或,如果什么都没有发生,请尝试 dmesg | grep 耳机 ,您将看到 C-Media USB耳机设置驱动程序。这意味着它的 CM耳机
9 m0 B1 ]5 k! W5 ~1 P' ]9 M& s8 U
: {! b( O, t0 O: |2 a
6 ?5 F* U0 o: x% v2 ?9 V
" @, k8 }5 x2 r1 l: h& E
或,如果什么都没发生,请尝试 dmesg | grep C-Media ,您会看到一些C-Media注释,但未提及cm109驱动程序。这意味着它的 CM108
, C4 \5 g! h" s
3 `* c2 `$ p H+ X8 \- W3 A0 T+ q4 j. U4 g \! U& k; ]
% Y% l9 f+ n( a* F或,如果什么都没有发生,请尝试 dmesg | grep General ,您会看到提及GeneralPlus的信息。这表示它是 GeneralPlus
( q; G" r9 K+ C4 |- k7 H4 {$ L N9 i0 c- L4 t+ T
% E- p# z- U3 B% G" X$ @
$ `3 w. U) p1 X$ tCM108类型% r0 v: P" c+ T7 s9 P, c6 t
1 H& a0 Q( ?- Z% \
如果您有CM1088 C' J3 T9 h* I, @0 Q5 k
9 X. Q2 ^8 {% I# f8 s1 x7 _
如果键入 lsusb ,您应该会看到对 C-Media Electronics,Inc. CM108音频适配器3 v @0 K" A# E% l
) U4 \, }) J R6 l' F0 y
# p7 I5 e( E* m8 T% K$ r- x2 }! b* }& n; ?0 H A& j6 [4 y
我们需要要更新固件,这需要Internet访问,但只需要15分钟左右。如果您最近没有使用过,最好先运行 sudo apt-get update 。然后依次运行以下命令:( a L( J* k7 n5 P
& N0 q$ y" [' i" v" n
下载:文件! e! O* S& j5 j. f' A! {
/ D$ h& @' [4 B0 T' Y% r
复制代码
$ S; e, j$ z. O4 V& Q$ U" }& P! w/ g' c. I7 u4 c
sudo apt-get update
! K' d1 m) {% L; \9 C% ^
: g! J7 L" F. S/ C9 n% jsudo apt-get upgrade
& r; {" k5 c+ }9 E5 I8 g- g b$ E* M3 G: y
sudo reboot sudo apt-get update& s4 i' ]5 I# v$ Y) t
: G9 e& z( Z* l# c
sudo apt-get upgrade
: ^' c& H8 z; z% @7 B& w* v' L z7 L) G
sudo reboot
! z6 N. a+ c( f8 B* x' o3 f7 C
6 P' s2 y7 q7 q! x" M' v" Q您可能会看到很多东西,如下所示:7 Z1 d, f8 F- a! _8 t3 e( f6 }+ a
1 `; m' c4 H4 ^- j# [7 M
9 }$ s- m/ M U' y( l3 t
2 ?, t( y0 K6 f2 B I5 A
! B" r) F7 W$ s% i9 x
K6 Y' O; ]9 H w! ]# U
8 G9 H+ H7 [1 U% \9 Y0 T/ r
# V; Q( ]- |+ s! J# c" H现在,您可以转到更新alsa模块选项部分
@4 [/ j3 J' s
' ^: O6 z( T9 Z9 m0 E1 k- WCM耳机类型
" k A8 _4 X4 h% o2 o
; h' j. }" Y, e+ V键入 dmesg 以查看启动消息。您应该会看到许多关于 C媒体USB耳机套件+ q( T( v$ l/ ]
4 d# K. ]& [' k' r& W1 b# N" G' ?$ i' N
. Z/ A- M. a$ R' u, E& X: S
; K8 g& u/ p: [3 H
,如果您键入 lsusb ,您应该会看到对 C-Media电子音频适配器的引用但未提及 CM108 ,并且VID/PID为0x0d8c:0x00c) E+ k2 y- b0 ^$ f. ~
2 a' ^7 d' c% ^$ ^6 U4 e- ?. S" V- p
1 W" h7 X: W0 }- t. Q6 z3 j9 i' p2 M# y
没什么特别的事情要做!欢呼!继续进行 更新ALSA配置部分' W m ^, N) q$ y/ p9 T% _8 q
+ H5 {. s% D+ V# u0 d% o+ D2 lCM109类型; g8 A2 T2 ]6 ^
7 G" R, J. y* t
类型 dmesg 以查看启动消息。您应该看到一堆关于 cm1094 F1 }- W% l3 S6 R! U7 T
* y3 o( V. O7 A
: C2 D( \$ O6 E: b1 l0 q
- U5 Z# s2 o' ]: m# b% x3 c
,如果键入 lsusb ,您应该会看到对 C-Media Electronics音频适配器的引用,但没有提及 》 CM108
" B/ |, J* y9 s) P$ W( P
( \/ `9 B% b7 S2 o% [
8 }# v, `" T. \. C" W( I6 L3 l0 u3 k* v4 O3 }
没什么特别的事情要做!欢呼!继续下一节
1 S# i! x; |6 ]4 j6 j& I% b& @1 U. ?
0 @1 l$ j! k ?! _+ I" z/ yGeneralPlus6 h6 _8 [- e' C2 ^$ D$ c
9 o1 e- e! ^* d/ T
键入 dmesg 以查看启动消息。您应该会看到一堆谈论 GeneralPlus1 |8 ^) j" W& Y/ s
) |% i. o3 O/ d3 o, U+ ^( t- |& a0 M" x; S
& J/ \3 k8 `$ v' p1 Z,如果您键入 lsusb ,您应该会看到ID为《的》 Generalplus Technology 参考。 cc = 1》
7 y5 M8 r0 T" x8 Y: O C( C7 b4 Z+ l: E. A3 v
. C. u+ u! z/ c7 r9 p% a V! o, {. T1 G7 c f# T' K
没什么特别的事情要做!欢呼!继续下一节
7 x( h3 K3 q3 s9 ] H
' r1 T6 K6 f: Z* }更新ALSA配置
' m, n' q; w( P. K+ B! |' ~/ V9 n+ f
Raspbian Stretch-更新alsa选项$ G V' D# ^. ]0 T% a8 ^8 K
4 i% z! J( V$ l- ]
我们要做的就是告诉Raspbian查看“卡#1”中的默认音频。卡#0是内置音频,因此非常简单。* \3 {( O7 z" v$ s+ f
8 N5 q3 @9 e3 K0 I0 x
Tun sudo nano/usr/share/alsa/alsa.conf ,然后查找以下两行:0 n) Q5 K, z( w0 f) i4 R* R$ f2 d9 F
$ }( I6 D" j# [; [
下载:文件
; U8 o. F4 W( Y' d) H& a% c) U& T& p- i i. }! z# }
复制代码8 b% r: g% `+ V% d8 x# C9 g1 T! F
$ N9 B F f" Y) e4 p) X" Y3 O8 u
defaults.ctl.card 08 y% g6 s: _! v+ C. y; P
2 D* y& V# T+ r
defaults.pcm.card 0 defaults.ctl.card 02 L, [* ^9 x" g* E- G
$ K; w" b2 p9 ]2 C9 s
defaults.pcm.card 0# Y8 ]7 Q5 {* H+ e! C/ t
9 Z: g n# H* }" i# _8 J) P% \- R
将“ 0”都更改为“ 1”,然后保存文件。就是这样!- z+ M# r( g9 l# ]5 V. H: W
[# I8 M* b/ H) W- |" s9 A }
Raspbian Jessie-更新alsa options% }: I( j0 Q/ h' @$ i4 l
- F- T4 h9 ?; U; }7 n- u* v早期版本的Raspbian将声音设置以不同的语法存储在不同的位置……
. X( q4 o1 }; ?1 s3 w* Z8 u' c: x3 K. C( w6 u* s3 I2 v9 [) ]: O7 P
对于Raspbian Jessie,请运行 sudo nano/etc/asound.conf 并将以下内容放入文件并保存:
( O% @+ s6 l! a9 U/ t* X2 ]1 r0 E3 m8 c+ \% l
下载:文件
" t) Z/ d( N8 y
4 o: ^+ a% ]1 J7 N1 p3 Y, ]* Q复制代码
$ q; a' z# Q6 x( v: \
: }( t" X6 G& m+ {pcm.!default {8 D$ f9 G: M1 w9 M
5 ?8 X% ^6 h2 o0 c
type hw card 1
. f, [& j2 n5 `& m' }% ^
8 t8 i7 N& O: r/ f}4 G. e1 Q( [' H! B# U
: B' Y0 F, Q0 k+ T) W6 k2 L% G$ Gctl.!default {( w, E9 E! H6 R4 w7 j: h u
6 o0 T9 S# [$ ~type hw card 10 V" ^1 `4 F5 T3 d; E
d7 a/ _1 j p5 }$ C} pcm.!default {
9 g, z/ ]6 E a* e; t7 y) |3 s* N% L; G9 f5 d9 ^
type hw card 1$ w4 l, q( t8 i; N/ v+ _9 ~
: C8 ~" n" U! z/ N$ K
}
5 B" z; a2 e+ u% q
$ @# o8 K5 c8 S" k1 K& H5 f/ jctl.!default {/ K" d) K! m3 g! L- N: U. Q6 D
( C! U- G1 j) S% X' ?* b
type hw card 1
1 W5 j) z5 k- |/ i# o4 h
$ U- i! {7 m, M( }, \0 S ]} a4 x$ Y. a* q) t9 L
8 W7 X$ {7 k5 _( x" M6 S! B" ^
这将使默认的PCM(音频)输出卡#1和默认控件也变为卡#18 u7 x2 U: Z i! W" {: Q$ }; O
- m: h4 ?6 s# b) D& T
( S* a6 L5 ]8 C% `5 x! f9 P3 V8 i* g/ J. t/ K( b! F8 W
Raspbian Wheezy-更新alsa选项/ \9 d0 A4 X5 u+ J5 i
! N4 o8 h$ ~8 X如果您使用的是Wheezy,我们将使用' J9 e3 F3 M5 X5 H: q! V! _
' `; y* D+ b1 q" W( E% ^( e; t
sudo nano /etc/modprobe.d/alsa-base.conf& T, D" h+ ~ V. v% ~' k
5 q0 m \/ \; q! A
编辑音频系统配置文件。对于除最新的Raspbian Wheezy版本以外的所有版本,请查找以下内容:6 B7 b( l* C% S! y/ K! J
, F, N$ h9 d; {1 L0 P#options snd-usb-audio index=0
; {2 G! m, c1 B
/ \- p. _- a+ s7 c$ e将此更改为:+ Q) P: W, f$ Q6 K8 Z! e
) G) X% D; M0 a# [) g
options snd-usb-audio index=0 ^. t1 r4 y: O4 j' _0 z
3 O+ Z/ M" O, k7 i7 m# n f请注意,我们在行首删除了#。
: J0 K) [ u2 N# J9 ~+ G6 i. j- V" B) t6 ~- t$ R
对于最新的Raspbian Wheezy 版本,请查找以下行:$ \( x$ V' Y0 A# u
- t; n, N8 {2 ~9 y$ u
options snd-usb-audio index=-2
6 U5 I; {3 a) q+ T0 ?+ n$ O/ E" R: \7 Y- r
在这种情况下,没有要删除的#号,只需将索引从-2更改为0:) e4 a0 i" o( `
2 }. _' t [1 J ooptions snd-usb-audio index=0; i; r4 e: q0 q$ J) n5 K* J% o
$ R# A" b2 \4 Q# o
) O$ o2 e" Z7 a7 L! E5 G; Q" a& E/ t
测试音频
3 I* w& Z9 x; ?/ @
" p, F7 X' T1 H0 T8 L测试!' P2 N K$ M- @
; t) b# h$ m+ t' N: ?1 V8 @- N好,现在您已经根据操作系统配置了ALSA 。..就是这样!现在使用 sudo reboot 重启并再次登录,您可以通过运行% F' ?! n" ?' L# r4 G; z4 w" Z& y
, p& `( A- k7 z6 ?8 c' x3 pspeaker-test -c2( F. A. z) t. u+ b: p* k+ ?' t
+ V }% }& \4 W7 p# q! r8 Q, F, [
哪个会通过声卡上的左右“扬声器”播放白噪声。发出声音后,请尝试使用扬声器测试(对于WAV文件而不是MP3)播放音频文件2 c2 ~* O: G& R
\! [ \ t1 `; K* t) jspeaker-test -c2 --test=wav -w /usr/share/sounds/alsa/Front_Center.wav* U9 U* s9 r: i8 q, e+ e) `
& t- ^. [! v+ c3 c: J) m+ d+ }. s
如果要播放音乐流,可以尝试
/ d2 c5 j( h& T6 c, S6 G7 [) a# U7 }# r8 f- z' k f- B: g- M
sudo apt-get install mpg123
B$ h% K) ^1 R$ N; }* E F" J5 Y J# }" c8 I
mpg123 http://ice1.somafm.com/u80s-128-mp3* v: Y% A% {8 Y% S# z
( h/ ~, R' V. v2 ~. Y: J: [4 x
如果要播放MP3命令,请查看本教程,其中涵盖了如何设置2 G5 I" \5 h8 ^3 {! m0 x
8 w5 A. e. t! i+ I' ]4 V: Z8 P9 x4 e6 K耳机vs音频卡 y9 M% ] Y* S6 W4 H
/ U/ P% O4 I4 v5 z别忘了,您在Pi上仍然具有内置的耳机插孔,如果您编辑了alsa confit,则可能称为卡1 现在(不是默认的卡0 ), ~4 y' Z8 P- f% w; c9 p- X4 S/ W$ l
9 ~, a# s- u' S& E8 m, E
您可以运行 aplay -l 《/strong》来 l 安装设备( s5 X3 ], h4 G+ V% \
" G# B2 W' e2 d6 ]1 j. D
' S( T0 S% L% ]2 d3 {* y$ d; ^" ~, @
" H6 `" X8 H6 Y! o; Y; ?/ [
8 d4 Q$ x1 Z& E) O
! b5 n0 @/ d* P5 f
如果您要通过特定的 aplay 卡,请指定卡1 和 -D插头:1,0 或卡0 -D插头w:0,0 等8 x6 l: K& |* J: v5 B- K0 X
/ @" Z1 _& L& Z9 I5 Q/ y
speaker-test -c2 -D plughw:1,0
8 n3 l8 @, H2 n; d' O5 r# k! Q" U4 ~! u% ?9 T% {
aplay --device=hw:1,0 test.wav
2 ?5 j. c) C& P& O4 l3 Y) p, I8 L8 ]( q
4 q4 f8 w8 X$ }9 E- X8 D6 Z* {设置音频电平) g9 U2 T; O. a$ B* Z: Z
1 z3 s8 ^, C: s9 l0 T4 c您可以使用
1 u% i; y, n+ W. h* ?* U, K8 F, a0 c1 T, y4 E& N! s
alsamixer -c 1
) L/ K4 _4 d) s( Y' v' w4 z; ]0 L; a3 W- @; H" T* {
设置输出和输入的音频电平箭头键,然后返回/退出以设置和保存设置。这是一种可爱的文本图形系统! D' }& u1 ~! c1 ?9 L1 V
! F3 e5 s+ ]5 g/ D& M
+ t7 m- W9 j# @; M. t: T9 m5 n6 b, \
录制音频
) M! T) c" E) V3 e+ ^5 J
0 ]- y9 U3 i; \7 b* y至少使用CM耳机类型适配器,您还可以录制音频。
6 K8 P+ ]( V& z# N+ ]/ ]
7 e1 p0 G% B$ Farecord --device=hw:1,0 --format S16_LE --rate 44100 -c1 test.wav# h D8 F+ E" {: s" L+ |3 v# E5 ~
3 ]/ r- ^6 @5 y% e' l" F I将以44100 Hz(S16_LE)单声道(--rate 44100)音频形式签名的16位(-c1)音频记录到 test.wav 。我们已经注意到,所有音频输入也会被扬声器回音- y0 ]. a3 N, r7 q) y9 y C* S% I0 k
/ A; k* o& M4 ?: S
如果您添加到-V mono命令,则可以显示一些VU电平表线。按Control-C退出
; I" E" m7 u. o1 k* M, v0 S
" i5 g2 }0 ?/ I$ t5 O
- G0 J. n+ y, l! _完成录制后,您可以使用& w1 f: x' B5 ^8 O- m6 h
2 o( p7 \, M: M7 Taplay --device=plughw:1,0 test.wav
/ Y | P' A* ?( ]! X" e/ ~, G0 t5 Z2 I8 K6 g. _+ e% j
播放问题排查!
: l- B: y) ^- n% Z+ _. A& y( H" e" h4 z* x0 }# H1 u i
如果您使用的是Raspberry Pi,并且注意到输出并不完全干净,某些USB音频适配器不喜欢USB-1.2并在连接器中产生裂纹。输出。您可以通过在/boot/cmdline.txt 中添加dwc_otg.speed=1并将USB端口设置为USB-1.1模式来解决此问题。
2 \4 r5 A' w8 x p" _4 n
# m& w" e- r6 b9 Q) `$ n7 j您可以通过使用sudo usermod -a -G audio username
: u5 M8 w7 D# r( J& U" k# M& T1 n, u1 z/ q1 } |/ E% ~) L$ o3 B* \
授予访问权限,从而使用户可以使用其他设备访问音频硬件' c/ N+ l" z% F: g J' _* A5 b
& d- i# }1 a2 f' B |
|