라즈베리파이3가 있고 OS는 우분투가 설치되어 있습니다.
여기에 USB마이크가 달려있는데, 이 마이크로 입력되는 소리의 PCM 데이터를 실시간으로 한 프레임씩 처리하는 코드를 만들려 합니다.
[1. 마이크 입력 Capture] -> [2. 사용자 프로그램에서 PCM raw data 처리] - [3. [2]에서 처리한 PCM data를 capture 스트림에 다시 write]
최종 목표는 마이크로 들어오는 소리의 PCM data를 처리해서 sensory같은 wake word 에이전트에 보내는 것입니다.
(sensory에서 읽기 전에 먼저 처리)
지금까지 알아본 바로는 다음과 같은 두 가지 방법이 있는 것 같습니다.
인터넷 검색해서 ALSA 를 이용해 녹음하고 재생하는 예제코드를 돌려봤는데 capture단에서 가로챈 데이터를 다시 그 지점에 write하는 것이 가능한지 모르겠습니다.
(오디오 PCM I/F에서 post-processing을 지원하는 다른 플랫폼에서 비슷한 작업을 해보긴 했는데 리눅스환경은 완전 처음입니다.)