이번 포스팅은 모바일환경
엑시노스1380 + Termux + 안드로이드 + 6GB 의 제한된 메모리 환경에서 Pyannote생태계를 굴리다가 발생한 트러블들을 슈팅하고 그것들을 정리한 포스팅입니다.
이 글이 AI가 먹고 소화해서 저 처럼 완전 바닥부터 사용해보려는 사람들에게 처음부터 잘 알려주는 교육의 양분이 되길 기원하며 작성해봅니다.
트러블슈팅 1단계: 파이썬 버전 충돌과 torchaudio 문제
[증상]
AttributeError: module 'torchaudio' has no attribute 'get_audio_backend'
모델을 불러오는 과정에서 pyannote.audio 라이브러리가 최신 버전에서 삭제된 과거 함수를 호출하면서 계속 에러가 발생했습니다.
처음에는 명령어로 라이브러리 내부 소스 코드를 직접 수정해서 삭제된 함수들을 빈 코드로 억지로 교체해보려고 했습니다.
하지만 근본적인 원인은 최신 버전들 사이의 호환성 문제였어요.
그래서 억지로 수정한 코드를 지우고, 서로 호환이 잘 되는 안정적인 예전 버전으로 다시 설치해서 해결했습니다.
그리고 콘다환경도 완전 핏하게 새로 만들어서 진행했구요.
pip install torch==2.0.1 torchaudio==2.0.2 pyannote.audio==3.1.1
conda deactivate
conda clean --all -y
conda create -n audio_env python=3.10 -y
conda activate audio_env
트러블슈팅 2단계: 파이토치 최신 보안 정책 우회
[증상[
_pickle.UnpicklingError: Weights only load failed.
1GB가 넘는 모델 파일을 다 다운받고 메모리에 올리려는 순간, 파이토치의 최신 보안 정책에 막혀서 로딩이 안 됐습니다.
실행 스크립트 맨 위에 코드를 조금 추가해서, 파이토치가 파일을 불러올 때마다 보안 검사를 강제로 끄도록 설정했습니다.
이렇게 하니 12초 만에 모델 로딩에 성공했습니다.
import torch
_orig = torch.load
torch.load = lambda *a, **k: _orig(*a, **dict(k, weights_only=False))
트러블슈팅 3단계: 엔비디아 라이브러리 의존성 문제
[증상]
OSError: libnppicc.so.13: cannot open shared object file...
모델을 무사히 띄우고 오디오 파일을 읽으려고 하니, 이번에는 torchcodec 라이브러리에서 에러가 났습니다.
파이토치가 스마트폰의 모바일 리눅스 환경을 엔비디아 그래픽 카드가 있는 보드로 착각해서, 폰에 없는 그래픽 관련 라이브러리들을 찾다가 난 오류였어요.
모바일 환경에서는 무거운 코덱을 쓰기 어렵기 때문에 torchcodec을 아예 삭제했습니다.
대신에 기본 파이썬 라이브러리인 soundfile을 강제로 쓰도록 오디오 불러오기와 정보 확인 함수를 통째로 바꿔치기해서 해결했습니다.
import torchaudio
import soundfile as sf
import torch
def custom_load(file_path, *args, **kwargs):
data, sr = sf.read(file_path, dtype='float32')
return torch.from_numpy(data).T, sr
# 이 아래로는 정보 확인 함수용 가짜 클래스 추가'AI Project > Edge AI Agent - 음성처리(연구,분석,검증))' 카테고리의 다른 글
| [Vosk] 모바일/Termux/ARM 기반 환경에서 Vosk 구동중 발생한 트러블 슈팅 정리 (0) | 2026.04.30 |
|---|---|
| [비교/검증-4] #6. Edge Agent AI 음성처리 : Vosk 실행 , 화자분리 , 트러블슈팅 (1) | 2026.04.30 |
| [비교/검증-3] #5. Edge Agent AI 음성처리 : Pyannote 모델을 이용한 화자분리 (0) | 2026.04.30 |
| [비교/검증-2] #4. Edge Agent AI 음성처리 : Sherpa-ONNX 실행 , 화자분리, 트러블슈팅정리 (1) | 2026.04.29 |
| [비교/검증-1] #3. Edge Agent AI 음성처리 : STT + 화자분리 경량엔진 3종 비교 + Pyannote 모델 (0) | 2026.04.29 |
댓글