Decoding for channels with insertions, deletions, and substitutions with applications to speech recognition | Synapse