2017-03-23 4 views
0

길쌈 된 신경 회로망을 훈련시키기 위해 .wav 파일을 분류했습니다. 이것은 표준 Dataset을 사용할 수없는 Bengali 전화 용입니다. 내 CNN 모델을 교육하기 위해이 .wav 파일을 Tensorflow에 입력하고 싶습니다. 내 모델에 대해 입력되는이 .wav 파일에서 그레이 스케일 스펙트로 그램을 만들고 싶습니다. 그렇게하는 방법에 도움이 필요합니다. 하나 이상의 대안이 있다면 그들의 힘과 약점은 무엇입니까?tensorflow에 음성 훈련 데이터를 추가하는 방법

또한 길이가 가변적이며 일부는 70ms이고 일부는 160ms입니다. 20ms 단위로 나누는 방법이 있습니까?

+0

사람이 librosa 어떤 예제를 제공하기 matplotlib 수 있습니까? –

+0

마침내 50ms의 지속 시간으로 내 .wav 파일에서 그레이 스케일 스펙트로 그램을 만들었습니다. 누구든지 코드에 관심이 있다면 게시 할 수 있습니다. –

답변

0

나는 내 연구에서 비슷한 것을했습니다. 필자는 오디오 웨이브 파일 조작과 스펙트로 그램 생성을 위해 Linux 유틸리티 SOX를 사용했습니다.

오디오 파일 길이에서 SOX 내의 "trim"옵션을 사용하여 파일을 20ms 세그먼트로 분할 할 수 있습니다. 다음의 라인을 따라 뭔가 :

sox myaudio.wav trim 0 0.02 : newfile : restart 

SOX의 "스펙트로 그램"옵션을 사용하여, 당신은 스펙트로 그램을 만들 수 있습니다.

sox myaudio.wav -n spectrogram -m -x 256 -y 256 -o myspectrogram.png 

명령의 크기는 256 * 256의 흑백 스펙트로 그램을 생성하고 파일 "myspectrogram.png"에 저장합니다.

제 연구에서 파일을 작은 조각으로 분할하지 않았습니다. 나는 단어의 전체 웨이브 파일을 사용하는 것이 좋은 인식을 얻기에 충분하다는 것을 발견했다. 그러나 장기 목표가 무엇인지에 달려 있습니다.

+0

고맙습니다. 하나의 문제가 해결되었습니다. 자,이 myspectrogram.png는 TFRecord 또는 그와 비슷한 것으로 변환되어 tensorflow에 대한 입력이되어야합니다. 어떤 아이디어? –

0

우리가 아직 없습니다하지만 당신은 또한 오디오 파일을로드하기위한 TensorFlow의는 FFmpeg 작전을 볼 수 내장 스펙트로 : 이 https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/ffmpeg

+0

고맙습니다. 나는 모양을 가지고 돌아올 것이다. –

+0

ffmpeg_lib.h에서 잘못 입력하지 않은 경우 "// ffmpeg를 사용하여 오디오 파일을 읽고 // [-1.0, 1.0]에있는 샘플 배열로 변환합니다. 오디오에 여러 채널이있는 경우 각 프레임은 // 각 채널에 대해 별도의 샘플을 포함합니다. 프레임은 시간순으로 정렬됩니다. " 그래서 파형을 나타내며 스펙트로 그램은 나타내지 않습니다. –