We need to be able to search the works of Shakespeare by voice. The way I see it, the goal is if I quote into the microphone:
"Yet but three come one more. Two of both kinds make up four. Ere she comes curst and sad. Cupid is a knavish lad. Thus to make poor females mad."
“Alack, there lies more peril in thine eye Than twenty of their swords: look thou but sweet, And I am proof against their enmity.”
I need it transcribed as the above, in order to search. Especially for shorter quotes, words like Ere, knavish, thee, whilst etc can totally throw off standard speech systems like Microsoft and Dragon as well as pre-trained models.
I'm looking for a shortcut. Some way to train 'the top layer' like when people use imagenet to classify on a small dataset by just training the top 2 layers.
Note, I have no vocal training data, but would probably use a royalty free audiobook and/or transcript of Shakespeare. However I think regular speech system already recognize (subphonemes) just fine, so it's not a question of audio, but of vocabulary and 'grammar'. So some kind of text source 'should' be sufficient for training/adapting.
Which of these would work, and which has fewer pitfalls:
- Train an LSTM (or GAN? or neuralMT) to take the text that normal systems like Chrome speech recognition output, eg with "three" instead of thee and "wow" instead of thou, and train an LMSTM to output the corresponding actual english. (would probably work for long sequences but not short)
- Add all the words one by one to the 'dictionary' of a system like MS speech recognition (due to grammar priors, unlikely to work without tremendous manual effort in training)
- Train an entire system from scratch with as many audio recordings with transcripts as possible (most likely too difficult/costly to collect this data)
- Use a framework like Kaldi and attempt to do 'domain adaptation' by adding vocabulary and audio training (I'm not familiar with Kaldi so I don't know what it involves)
- Something else obvious...
Note that the good thing is that the text to be recognized is a finite list of sentences (all the works of Shakespeare) so I feel this somehow should provide an obvious path, but I'm not sure what that is.
Finally, if this already exists, by all means point me in the right direction.