2011-02-16 5 views
0

장고에서 개발중인 웹 사이트의 경우 사용자가 .wav 또는 .aif 파일을 업로드 할 수 있어야합니다. 물론, 필자는 이러한 파일이 실제로 오디오 파일인지 확인해야합니다. 파일은 다음 웹 페이지에서 제공됩니다. 여기에 .ogg 또는 .mp3이 필요합니다.파이썬으로 오디오 파일의 유효성을 검사하고 변환하는 빠른 방법은 무엇입니까?

솔루션을 검색하는 동안 ctypes를 사용하여 외부 라이브러리를 처리하는 것과 같은 몇 가지 가능성을 발견했습니다. 물론 PyMedia도 있습니다. MacOSX에서 개발하기 때문에 사용할 수 없습니다. 그리고 파이썬 오디오 도구는 내가 필요로하지 않는 많은 기능을 제공합니다.

지금까지 난 내 프로그래밍 기능의 범위 내에서 저를 만족하고있는 것 몇 가지 가능성을 볼 수 있습니다

1을 PyMedia가에서라도
2에서 실행 가져 오기 일부 모듈을 사용하는 방법을 찾기 내가 상점을 전혀 사용하지 않는 것처럼 파이썬 오디오 도구 필요없이 컨버터

을의 명령 행 도구를 실행
3 사용 파이썬 하위 프로세스 libcdio 사용 아직 도구, 내 문제를 해결할 수있는 가장 빠른 방법이 될 것이라고 말할 수 없습니다. Python-Audio-Gurus가 있다면, 약간의 생각을 나누어 주시겠습니까? 아니면 1 단계로 행복 해지는 환상적인 솔루션이 있습니까?

+0

유효성 검사를위한 해결책을 찾았습니까? 나는 똑같은 일을하려고 노력하고있다. ("이 파일들이 실제로 오디오 파일이라고 주장하는지 확인하라.") 그러나 지금까지는 운이 없었습니다. 만약 당신이 대답을 찾으면, 공유는 많이 주시면 감사하겠습니다 !! –

+1

안녕 Matt. 나는 Kekoa가 제안한 방식을 사용했다. 하위 프로세스를 통해 sox를 ​​사용하는 것은 그것을 수행하는 꽤 좋은 방법으로 생각했습니다. 나는 모든 오류를 포착 할 수 있고 필요에 따라 유효성 검사와 변환을 할 수있다. – marue

답변

0

pythonic 대답은 아니지만 간단히 명령 줄 오디오 파일 변환기 인 sox을 살펴보십시오. 또한 오디오 파일의 리샘플링을 수행 할 수 있습니다.

자세한 내용은 command line options (sox)을 확인하십시오. 이것은 물론 subprocess 모듈 (또는 다른 방법)을 사용하여 외부 프로그램을 호출하는 것을 포함합니다.

+0

나에게 좋은 해결책 인 것처럼 들리 네. ** 당신이 아직 대답을받지 못했던 이유와 중요성 ** ** 내가 어떻게 sox로 업로드 된 파일의 유효성을 검사하겠습니까? ** 2 (중요하지 않음) ** allness lame-398이 설치되었으므로, sox는 mp3 로의 변환을 거부합니다. sox로 작업하고 있다면 그것에 대한 빠른 대답을 알려주십시오. – marue

+0

괜찮습니까? 내 의견에 ** ** ** 답할 수 있다면 좋을 것입니다. ** 2 **에 대해서는 절름발이 명령 줄 도구를 직접 사용해야합니다. – marue

관련 문제