전이중 PCM 브리지

전이중 PCM 브리지

저는 2개의 하드웨어 PCM이 있는 Linux를 실행하는 임베디드 장치를 개발 중입니다 4.14.79. 하나는 블루투스 칩에 연결되고 다른 하나는 GSM 전화에 연결됩니다.

bt-in -> gsm-out내 목표는 통화를 처리하기 위해 전이중 구성에서 이러한 스트림(및)을 연결하는 것입니다 . gsm-in -> bt-out실제로 블루투스가 전화기에 연결되어 있습니다.

내 코덱이 작동하고 있으며 두 카드 모두에서 사용할 수 있습니다 aplay. arecord나는 (성능을 위해) 커널 측에서 이러한 채널을 함께 연결하는 솔루션을 찾고 있습니다. 지금까지 내가 찾은 것 :

  • 차동 펄스 코드 변조: 드라이버를 교체하기 위해 DT를 편집하려고 시도했지만 simple-scu-card여전히 서로 통신하지 않는 별도의(작동하는) 카드 2개가 남아 있습니다. 다음 단계는 사운드 드라이버를 조정하는 것입니다.
  • snd-aloop:내가 아는 한, 내 경우에는 이 방법이 적용되지 않습니다. 내 카드를 카드 인터페이스 hw:0,0와 연결하는 방법을 모르겠습니다 .Loopback
  • alsaloop:userspace, 하지만 작동시키지 못했습니다.
alsaloop -P hw:1,0 -C hw:0,0 --format S16_LE -c 2 -r 8000 -t 500000

위의 명령을 실행하면 한 프레임 길이의 딱딱거리는 소리가 발생합니다 alsaloop. 또한 다른 기간과 버퍼 크기를 시도했지만 아무 변화도 없었습니다(xrun에 이상한 값이 있을 것으로 예상됨). 곧 추가 테스트를 할 예정입니다.

Jack제한된 리소스로 인해 및/또는 사용을 피하고 싶습니다 pulseaudio.

내 질문은: 이전에 나와 같은 문제를 겪은 사람이 있고 나에게 몇 가지 리소스/문서/예제를 제공할 수 있는 사람이 있습니까?

어떤 조언이라도 대단히 감사하겠습니다.

알아채다: 저는 이 주제를 몇 주 동안 팔로우했습니다. 이 질문에 누락된 정보가 있으면 알려주시기 바랍니다.

관련 정보