Я новичок в области глубокого обучения, я делаю базовое сквозное распознавание голоса, используя API-интерфейс tenorflow, модель LSTM и функцию потери ctc.Я извлек свои аудио функции в mfccs.Я действительно не знаю, как сопоставить мои аудио с транскрипциями, я знаю, что ctc используется для этой цели, я знаю, как работает ctc, но не знаю код для его реализации.
Вот мой кодИзвлечь особенности
import os
import numpy as np
import glob
import scipy.io.wavfile as wav
from python_speech_features import mfcc, logfbank
# Read the input audio file
for f in glob.glob('Downloads/DataVoices/Training/**/*.wav', recursive=True):
(rate,sig) = wav.read(f)
sig = sig.astype(np.float64)
# Take the first 10,000 samples for analysis
#sig = sig[:10000]
mfcc_feat = mfcc(sig,rate,winlen=0.025, winstep=0.01,
numcep=13, nfilt=26, nfft=512, lowfreq=0, highfreq=None,
preemph=0.97, ceplifter=22, appendEnergy=True)
fbank_feat = logfbank(sig, rate)
acoustic_features = np.concatenate((mfcc_feat, fbank_feat), axis=1) # time_stamp x n_features
print(acoustic_features)
Я также создал обучающий файл list.txt, в котором я предоставил транскрипции с аудио-путём, например:
это пример / 001 / 001.wav
это пример / 001/001 (1) .wav
, где 001 - папка, а 001.wav и 0001 (1) .wav - два волновых файла одного высказывания.