in projects/speech2speech_translation/speech2speech.py [0:0]
def parse_config_args(config_file):
"""Parses config.ini and command line args.
Parses first the .ini -style config file, and then command line args.
CLI args overwrite default values from the config file.
Args:
config_file: Path to config file.
Returns:
Configparser config.
"""
config = configparser.ConfigParser()
config["parameters"] = {}
try:
config.read_file(open(config_file, encoding="utf-8"))
except FileNotFoundError as e:
print(f"Config file {config_file} cannot be read: {e}")
return None
parser = argparse.ArgumentParser()
parser.add_argument(
"--project_id",
default=config["parameters"]["project_id"],
type=str,
help="The Google Cloud project ID.",
)
parser.add_argument(
"--location",
default=config["parameters"]["location"],
type=str,
help="The Google Cloud location.",
)
parser.add_argument(
"--gcs_path",
default=config["parameters"]["gcs_path"],
type=str,
help=(
"Google Cloud Storage path. " "Example: gs://bucket_name/dir1/dir2/"
),
)
parser.add_argument(
"--stt_model",
default=config["parameters"]["stt_model"],
type=str,
help=("Speech to Text model. " "Choices: long|short|telephony"),
)
parser.add_argument(
"--stt_timeout",
default=config["parameters"]["stt_timeout"],
type=int,
help="Speech to Text operation timeout in seconds.",
)
parser.add_argument(
"--stt_alternative",
default=config["parameters"]["stt_alternative"],
type=int,
help="Speech to Text results alternative index.",
)
parser.add_argument(
"--input_audio_file_name",
default=config["parameters"]["input_audio_file_name"],
type=str,
help="Input audio file name.",
)
parser.add_argument(
"--input_audio_file_path",
default=config["parameters"]["input_audio_file_path"],
type=str,
help="Input audio file path.",
)
parser.add_argument(
"--output_audio_file_name",
default=config["parameters"]["output_audio_file_name"],
type=str,
help="Output audio file name.",
)
parser.add_argument(
"--source_language_code",
default=config["parameters"]["source_language_code"],
type=str,
help="Source language code. Example: fi-FI.",
)
parser.add_argument(
"--target_language",
default=config["parameters"]["target_language"],
type=str,
help="Target language. Example: en",
)
parser.add_argument(
"--target_language_code",
default=config["parameters"]["target_language_code"],
type=str,
help="Target language code. Example: en-US",
)
parser.add_argument(
"--target_voice",
default=config["parameters"]["target_voice"],
type=str,
help="Target voice. Example: en-US-Wavenet-A",
)
parser.add_argument(
"--target_voice_gender",
default=config["parameters"]["target_voice_gender"],
type=str,
choices=["male", "female"],
help="Target voice gender. Choices: female|male",
)
parser.add_argument(
"--tts_timeout",
default=config["parameters"]["tts_timeout"],
type=int,
help="Text to Speech operation timeout in seconds.",
)
parser.add_argument(
"--log",
default=config["parameters"]["log"],
type=str,
help="Logging level. Example --log debug",
)
parser.add_argument(
"--list_translate_languages",
action="store_true",
help="List available translation languages.",
)
parser.add_argument(
"--list_voices", action="store_true", help="List available TTS voices."
)
parser.add_argument(
"--filename_prefix",
default=config["parameters"]["filename_prefix"],
type=str,
choices=["none", "timestamp"],
help=("Prefix for output file names. " "Choices: none|timestamp"),
)
parser.add_argument(
"--output_interim_files",
action="store_true",
help=(
"Output interim such as transcript "
"and translation, and upload them to GCS."
),
)
args = parser.parse_args()
return args