Source code for psifx.audio.command

"""audio processing command-line interface."""

import argparse

from psifx.utils.command import Command, register_command
from psifx.audio.diarization.command import DiarizationCommand
from psifx.audio.identification.command import IdentificationCommand
from psifx.audio.manipulation.command import ManipulationCommand
from psifx.audio.speech.command import SpeechCommand
from psifx.audio.transcription.command import TranscriptionCommand


[docs] class AudioCommand(Command): """ Command-line interface for processing audio tracks. """
[docs] @staticmethod def setup(parser: argparse.ArgumentParser): """ Sets up the command. :param parser: The argument parser. :return: """ subparsers = parser.add_subparsers(title="available commands") register_command(subparsers, "diarization", DiarizationCommand) register_command(subparsers, "identification", IdentificationCommand) register_command(subparsers, "manipulation", ManipulationCommand) register_command(subparsers, "speech", SpeechCommand) register_command(subparsers, "transcription", TranscriptionCommand)
[docs] @staticmethod def execute(parser: argparse.ArgumentParser, args: argparse.Namespace): """ Executes the command. :param parser: The argument parser. :param args: The arguments. :return: """ parser.print_help()