2016-09-12 10 views
0

rpi2b + cirrus 논리 오디오 카드에서 python 스크립트를 실행 중입니다. 음악을 필터링하고 싶습니다. pyaudio로 스트림을 열고 콜백 기능을 사용합니다.RPI2b - "ALSA : Underrun Occurred"

이 잘 실행 첫 번째 (약) 오초는 다음이 오류가 ... couldnt는이

내가 당신을 어떤 종류의 정보를 제공 할 수 있습니다 ^^ 완전히 좌절 구글에 도움이 아무것도 찾을 얻을? 어디에서 디버그 옵션을 켜고 출력을 보여줄 수 있습니까?

+0

"언더런"은 코드가 새 샘플을 제때에 장치에 쓰지 않았 음을 의미합니다. –

+0

그리고 어떻게 해결할 수 있습니까? 파이썬이 너무 느린가요? :/아주 첫 초부터 잘 돌아갑니다. 크기 응답을 측정 할 때 작동하고 필터링하지만 특정 순간이 지나면이 오류가 발생합니다. PC에서 모든 것을 설정한다면이 오류가 발생하지 않을 것입니다. (분명히 더 많은 힘이 있지만 그게 맞습니까?) – sanj3k

+0

테스트로 실제 계산을 제거하고 대신 0 샘플 (또는 사인파)을 출력합니다. 이것은 더 빨라야합니다. –

답변

0

ALSA 언더런은 적절한 간격으로 ALSA에 데이터를 제공하지 않는다는 것을 의미합니다. 즉, 알고리즘이 rpi2b에서 충분히 빠르지 않습니다. 따라서 알고리즘을 개선해야하거나 더 빠른 칩이 필요합니다.