.PS
# `AudioDPV.m4'
cct_init(svg_font(sans-serif,11bp__,2bp__))

define(`In123',`
thinlines_
     arrow <- from `$1'.In1 up 0.05 left 0.15
     "svg_it(In1)" wid 0.25 rjust above
     arrow <- left 0.15 from `$1'.In2
     "svg_it(In2)" rjust
     arrow <- from `$1'.In3 down 0.05 left 0.15
     "svg_it(In3)" rjust below
thicklines_ ')

L:[
  S: speaker
  `"speaker"' at S.s+(0,-0.2) below
  In123(S)
  thinlines_
     arrow <- from S.In4 left 0.05 up 0.15
     "svg_it(In4)" above rjust
     arrow <- from S.In5 right 0.05 up 0.15
     "svg_it(In5)" above ljust
     arrow <- from S.In6 left 0.05 down 0.15
     "svg_it(In6)" below rjust
     arrow <- from S.In7 right 0.05 down 0.15
     "svg_it(In7)" below ljust
     spline <- from S.Box.e+(0,0.05) right 0.27 up 0.10 \
      then right 0.1 up 0.2
     "svg_it(Box)" above
  thicklines_
  ]
[
  H: speaker(,,H)
  `"...(,,H)"' at H.s+(0,-0.30) below
  ] with .sw at last [].se
[
  B: bell
  `"bell"' at B.s+(0,-0.2) below
  In123(B)
  thinlines_
  arrow <- from B.Box.n+(-0.1,0) up 0.15 left 0.1 ; "svg_it(Box)" above
  arrow <- from B.Circle.n up 0.15 ; "svg_it(Circle)" above
  thicklines_
  ] with .sw at last [].se+(0.35,0)
[
  Z: buzzer
  `"buzzer"' at Z.s+(0,-0.2) below
  In123(Z)
  thinlines_
  arrow <- from Z.Box.n up 0.15 ; "svg_it(Box)" above
  thicklines_
  ] with .sw at last [].se+(0.4,0)
R:[
  Z: buzzer(,,C)
  `"buzzer(,,C)"' at Z.s+(0,-0.2) below
  In123(Z)
  thinlines_
  spline <- from 0.8<Z.Face.s,Z.Face.n> right 2*arrowht up 0.5*arrowht \
    then up 0.15 right 0.05 
    "svg_it(Face)" wid 0.5 at Here above
  thicklines_
  ] with .sw at last [].se+(0.4,0)
[
  M: microphone
  `"microphone"' wid 60bp__ at M.s+(0,-0.2) below
  In123(M)
  thinlines_
  arrow <- from M.Circle.n up 0.15 ; "svg_it(Circle)" above
  thicklines_
  ] with .sw at last [].se+(0.4,0)
[
  M: microphone(A)
  "`microphone(A)'" at M.s+(0,-0.2) #below
  thinlines_
  arrow <- from M.Head.e+(0,0.05) right 0.2; "svg_it(Head)" wid 40bp__ ljust 
  spline 0.5 <- from M.Head.b down 0.05 right 0.1 then right 0.1
  "svg_it(Head.b)" ljust
  arrow <- from M.Stand.s right 0.2; "svg_it(Stand.s)" ljust
  thicklines_
  ] with .n at last [].s+(0,-0.2)
[[
  E: earphone
  `"earphone"' at E.s+(0,-0.2) below
  In123(E)
  thinlines_
  arrow <- from E.Box.n up 0.15 left 0.15 ; "svg_it(Box)" above
  thicklines_
  ]
 [
  E: earphone(,,C)
  `"earphone(,,C)"' at E.s+(0,-0.2) below
  thinlines_
  arrow <- from E.L up 0.15 left 0.15; "svg_it(L)" rjust
  arrow <- from E.R up 0.15 right 0.15; "svg_it(R)" ljust
  "svg_it(N)" at E.N above
  "svg_it(C)" at E.C
  thicklines_
  ] with .sw at last [].se+(0.4,0)
] with .n at (0.5 between L and R,L.s)+(0.5,-0.2)

 command "</g>" # end font
.PE
