diff --git a/python/pyarmnn/examples/speech_recognition/audio_utils.py b/python/pyarmnn/examples/speech_recognition/audio_utils.py
index a522a0e..f03d2e1 100644
--- a/python/pyarmnn/examples/speech_recognition/audio_utils.py
+++ b/python/pyarmnn/examples/speech_recognition/audio_utils.py
@@ -17,7 +17,7 @@
     Returns:
         Decoded string.
     """
-    top1_results = [labels[np.argmax(row[0])] for row in model_output]
+    top1_results = [labels[np.argmax(row)] for row in model_output]
     return filter_characters(top1_results)
 
 
@@ -82,7 +82,7 @@
     Slices the text appropriately depending on the window, and decodes for wav2letter output.
         * First run, take the left context, and inner context.
         * Every other run, take the inner context.
-    Stores the current right context, and updates it for each inference. Will get used after last inference
+    Stores the current right context, and updates it for each inference. Will get used after last inference.
 
     Args:
         is_first_window: Boolean to show if it is the first window we are running inference on
@@ -93,16 +93,21 @@
         current_r_context: the current right context
         text: the current text string, with the latest output decoded and appended
     """
+    # For wav2letter with 148 output steps:
+    # Left context is index 0-48, inner context 49-99, right context 100-147
+    inner_context_start = 49
+    inner_context_end = 99
+    right_context_start = 100
 
     if is_first_window:
         # Since it's the first inference, keep the left context, and inner context, and decode
-        text = decode(output_result[0][0:472], labels)
+        text = decode(output_result[0][0][0][0:inner_context_end], labels)
     else:
         # Only decode the inner context
-        text = decode(output_result[0][49:472], labels)
+        text = decode(output_result[0][0][0][inner_context_start:inner_context_end], labels)
 
     # Store the right context, we will need it after the last inference
-    current_r_context = decode(output_result[0][473:521], labels)
+    current_r_context = decode(output_result[0][0][0][right_context_start:], labels)
     return current_r_context, text
 
 
