음성 처리 기본
(가) (5점) Scipy.io 에 포함된 wavfile 함수를 사용해서 주어진 ‘q2.wav’ 음성 파일을 읽고, 이를 스피 커로 출력, 그리고 MatplotLib를 사용하여 화면에 파형을 그리는 python code를 작성하시오.
(나) (10점) 음성 신호의 샘플링 주파수를 구하고, 그 의미에 대해 간단히 설명하시오.
(다) (10점) 음성 신호의 전체 샘플 수로부터 물리적인 총 시간 (sec)이 얼마인지 구하시오
(가)
1. python으로 wav 파일 읽기
2. python으로 wav 파일 재생하
3. python으로 wav 파일 그래프 그리기
먼저 scipy.io를 활용하여 wav 파일을 읽었습니다. read 함수를 활용하면 두가지를 반환해줍니다. sample rate와 wav의 데이터를 반환해줍니다. 그리고 이 데이터를 활용해여 pyplot으로 그래프를 그려보았습니다. 그린 그래프는 아래와 같습니다. 또 읽은 데이터를 재생하기 위해서 sounddevice 라는 라이브러리를 사용해보았습니다. 그냥 파일을 재생하는 라이브러리를 많이 있었지만, 읽은 데이터를 가지고 재생하는 라이브러리를 찾느라 고생하였습니다.
(나)
1. sample rate의 의미
해당 답변은 위 주석에 달아놓았습니다. 읽어들인 데이터를 재생하거나 표현하기 위해서는 샘플 레이트라는 값이 음성에서 필요하다라는 것을 알게 되었습니다. 이 샘플레이트가 높으면 높은 밀도의 음성이며, 낮으면 낮은 밀도의 음성이라는 것을 알게 되었고, 과연 이것을 강제로 낮추면 느린 배속으로 재생이 되고, 강제로 높히면 빠른 배속으로 재생될 것이라는 것을 알게되었습니다.
(다)
1. python으로 wav 파일 데이터로 time을 구하기
sample rate는 1초동안 표현하는 데이터들의 양이라고 생각할 수 있기 때문에, 전체 데이터를 샘플레이트만큼 나누어주면, 그 값이 가지고 있는 값을 알 수 있습니다.
'SW > Python' 카테고리의 다른 글
python : 기본 용어 정리 (0) | 2019.07.15 |
---|---|
python : 텐서플로우 : feedfoward, node, optimizer 변경 결과 비교 (0) | 2019.06.24 |
파이썬 : 영상 처리 : 이미지 읽기, RGB 최대값, 평균값, 교환 (0) | 2019.06.23 |
파이썬 : 포커 카드 게임 구현 개발 (0) | 2019.06.23 |
udemy : 강의 다운로드 방법 (python) (0) | 2019.06.13 |