<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _loop_no_cache(self, helper_function, num, fragment):
 """ Synthesize all fragments without using the cache """

        self.log([u"Examining fragment %d (no cache)...", num])
        # synthesize and get the duration of the output file
        voice_code = self._language_to_voice_code(fragment.language)
        self.log(u"Calling helper function")
        succeeded, data = helper_function(
            text=fragment.filtered_text,
            voice_code=voice_code,
            output_file_path=None,
            return_audio_data=True
        )
        # check output
        if not succeeded:
            self.log_crit(u"An unexpected error occurred in helper_function")
            return (False, None)
        self.log([u"Examining fragment %d (no cache)... done", num])
        return (True, data)