Looks complicated, but really just a lot of vector concatenations and a couple LSTMs (one running in reverse). Hope this is clear, but see references in tutorial for more context (lol, get it? context?).
Viterbi algorithm example.
Transition matrix example.