<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _index_audio_cmu(self, basename=None, replace_already_indexed=False):
 """ Indexes audio with pocketsphinx. Beware that the output would not be sufficiently accurate. Use this only if you don't want to upload your files to IBM. Parameters basename : str, optional A specific basename to be indexed and is placed in src_dir E.g. `audio.wav`. If `None` is selected, all the valid audio files would be indexed. Default is `None`. Raises ------ OSError If the output of pocketsphinx command results in an error. """

        self._prepare_audio(basename=basename,
                            replace_already_indexed=replace_already_indexed)

        for staging_audio_basename in self._list_audio_files(
                sub_dir="staging"):
            original_audio_name = ''.join(
                staging_audio_basename.split('.')[:-1])[:-3]
            pocketsphinx_command = ''.join([
                "pocketsphinx_continuous", "-infile",
                str("{}/staging/{}".format(
                    self.src_dir, staging_audio_basename)),
                "-time", "yes", "-logfn", "/dev/null"])
            try:
                if self.get_verbosity():
                    print("Now indexing {}".format(staging_audio_basename))
                output = subprocess.check_output([
                    "pocketsphinx_continuous", "-infile",
                    str("{}/staging/{}".format(
                        self.src_dir, staging_audio_basename)),
                    "-time", "yes", "-logfn", "/dev/null"
                ], universal_newlines=True).split('\n')
                str_timestamps_with_sil_conf = list(map(
                    lambda x: x.split(" "), filter(None, output[1:])))
                # Timestamps are putted in a list of a single element. To match
                # Watson's output.
                self.__timestamps_unregulated[
                    original_audio_name + ".wav"] = [(
                        self._timestamp_extractor_cmu(
                            staging_audio_basename,
                            str_timestamps_with_sil_conf))]
                if self.get_verbosity():
                    print("Done indexing {}".format(staging_audio_basename))
            except OSError as e:
                if self.get_verbosity():
                    print(e, "The command was: {}".format(
                        pocketsphinx_command))
                self.__errors[(time(), staging_audio_basename)] = e
        self._timestamp_regulator()

        if self.get_verbosity():
            print("Finished indexing procedure")