docs: def _index_audio_ibm(self, basename=None, replace_already_indexed=False,
                           continuous=True, model="en-US_BroadbandModel",
                           word_confidence=True, word_alternatives_threshold=0.9,
                           profanity_filter_for_US_results=False):
          """
          Implements a search-suitable interface for Watson speech API.
  
          Some explaination of the parameters here have been taken from [1]_
  
          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`.
  
          replace_already_indexed : bool
              `True`, To reindex some audio file that's already in the
               timestamps.
  
               Default is `False`.
  
          continuous : bool
              Indicates whether multiple final results that represent consecutive
              phrases separated by long pauses are returned.
              If true, such phrases are returned; if false (the default),
              recognition ends after the first end-of-speech (EOS) incident is
              detected.
  
              Default is `True`.
          model :  {
                      'ar-AR_BroadbandModel',
                      'en-UK_BroadbandModel'
                      'en-UK_NarrowbandModel',
                      'en-US_BroadbandModel', (the default)
                      'en-US_NarrowbandModel',
                      'es-ES_BroadbandModel',
                      'es-ES_NarrowbandModel',
                      'fr-FR_BroadbandModel',
                      'ja-JP_BroadbandModel',
                      'ja-JP_NarrowbandModel',
                      'pt-BR_BroadbandModel',
                      'pt-BR_NarrowbandModel',
                      'zh-CN_BroadbandModel',
                      'zh-CN_NarrowbandModel'
                   }
              The identifier of the model to be used for the recognition
  
              Default is 'en-US_BroadbandModel'
          word_confidence : bool
              Indicates whether a confidence measure in the range of 0 to 1 is
              returned for each word.
  
              The default is True. (It's False in the original)
          word_alternatives_threshold : numeric
              A confidence value that is the lower bound for identifying a
              hypothesis as a possible word alternative (also known as
              "Confusion Networks"). An alternative word is considered if its
              confidence is greater than or equal to the threshold. Specify a
              probability between 0 and 1 inclusive.
  
              Default is `0.9`.
          profanity_filter_for_US_results : bool
              Indicates whether profanity filtering is performed on the
              transcript. If true, the service filters profanity from all output
              by replacing inappropriate words with a series of asterisks.
  
              If false, the service returns results with no censoring. Applies
              to US English transcription only.
  
              Default is `False`.
  
          References
          ----------
          .. [1] : https://ibm.com/watson/developercloud/speech-to-text/api/v1/
          """
          params = {'continuous': continuous,
                    'model': model,
                    'word_alternatives_threshold': word_alternatives_threshold,
                    'word_confidence': word_confidence,
                    'timestamps': True,
                    'inactivity_timeout': str(-1),
                    'profanity_filter': profanity_filter_for_US_results}
  
          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]
              with open("{}/staging/{}".format(
                      self.src_dir, staging_audio_basename), "rb") as f:
                  if self.get_verbosity():
                      print("Uploading {}...".format(staging_audio_basename))
                  response = requests.post(
                      url=("https://stream.watsonplatform.net/"
                           "speech-to-text/api/v1/recognize"),
                      auth=(self.get_username_ibm(), self.get_password_ibm()),
                      headers={'content-type': 'audio/wav'},
                      data=f.read(),
                      params=params)
                  if self.get_verbosity():
                      print("Indexing {}...".format(staging_audio_basename))
                  self.__timestamps_unregulated[
                      original_audio_name + ".wav"].append(
                          self._timestamp_extractor_ibm(
                              staging_audio_basename, json.loads(response.text)))
                  if self.get_verbosity():
                      print("Done indexing {}".format(staging_audio_basename))
          self._timestamp_regulator()
  
          if self.get_verbosity():
              print("Indexing procedure finished")