Во-первых, убедитесь, что данные WAV, которые вы получаете, имеют правильный формат и соответствуют частоте дискретизации (обычно 44100) и правильному количеству аудиоканалов (Dialogflow использует только моно или одноканальный звук).В коде, который они предоставляют, они устанавливают переменную audio_encoding и конфигурацию входного аудио, изучите их.
Далее у вас есть строка данных WAV, но StreamingDetectIntentRequest принимает байты, поэтому вместо преобразования вашего base64 вСтрока, я бы преобразовал его в bytearray
Далее, вместо того, чтобы выдавать звуковые чанки из аудиофайла, получим чанки из байтового массива.
def request_generator(audio_config, byte_array):
query_input = dialogflow.types.QueryInput(audio_config=audio_config)
# The first request contains the configuration.
yield dialogflow.types.StreamingDetectIntentRequest(
session=session_path, query_input=query_input)
for chunk in range(44, len(byte_array), 4096): # Start at position 44 to discard the wav header
yield dialogflow.types.StreamingDetectIntentRequest(
input_audio=bytes(chunk))