| | #!/bin/bash |
| |
|
| | |
| | |
| | |
| | |
| | |
| |
|
| | set -e |
| |
|
| | |
| | CONFIG_FILE="config.yaml" |
| | OUTPUT_DIR="" |
| | TASKS="" |
| | PYTHON_CMD="python" |
| |
|
| | |
| | RED='\033[0;31m' |
| | GREEN='\033[0;32m' |
| | YELLOW='\033[1;33m' |
| | BLUE='\033[0;34m' |
| | NC='\033[0m' |
| |
|
| | |
| | print_info() { |
| | echo -e "${BLUE}[INFO]${NC} $1" |
| | } |
| |
|
| | print_success() { |
| | echo -e "${GREEN}[SUCCESS]${NC} $1" |
| | } |
| |
|
| | print_warning() { |
| | echo -e "${YELLOW}[WARNING]${NC} $1" |
| | } |
| |
|
| | print_error() { |
| | echo -e "${RED}[ERROR]${NC} $1" |
| | } |
| |
|
| | |
| | usage() { |
| | cat << EOF |
| | Usage: $0 [OPTIONS] |
| | |
| | Temporal Reasoning Audio Dataset Generation Pipeline |
| | |
| | OPTIONS: |
| | -c, --config FILE Configuration file (default: config.yaml) |
| | -o, --output DIR Output directory (overrides config) |
| | -t, --tasks TASKS Specific tasks to run: count,duration,order,volume |
| | (default: all enabled tasks) |
| | -p, --python CMD Python command to use (default: python) |
| | -h, --help Display this help message |
| | |
| | EXAMPLES: |
| | # Run all tasks with default config |
| | $0 |
| | |
| | # Run with custom config |
| | $0 --config my_config.yaml |
| | |
| | # Run specific tasks only |
| | $0 --tasks count,duration |
| | |
| | # Use custom output directory |
| | $0 --output /path/to/output |
| | |
| | # Combine options |
| | $0 --config custom.yaml --tasks count,order --output ./my_dataset |
| | |
| | EOF |
| | } |
| |
|
| | |
| | while [[ $# -gt 0 ]]; do |
| | case $1 in |
| | -c|--config) |
| | CONFIG_FILE="$2" |
| | shift 2 |
| | ;; |
| | -o|--output) |
| | OUTPUT_DIR="$2" |
| | shift 2 |
| | ;; |
| | -t|--tasks) |
| | TASKS="$2" |
| | shift 2 |
| | ;; |
| | -p|--python) |
| | PYTHON_CMD="$2" |
| | shift 2 |
| | ;; |
| | -h|--help) |
| | usage |
| | exit 0 |
| | ;; |
| | *) |
| | print_error "Unknown option: $1" |
| | usage |
| | exit 1 |
| | ;; |
| | esac |
| | done |
| |
|
| | |
| | SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
| |
|
| | |
| | if [ ! -f "$SCRIPT_DIR/$CONFIG_FILE" ]; then |
| | print_error "Config file not found: $CONFIG_FILE" |
| | exit 1 |
| | fi |
| |
|
| | |
| | echo "" |
| | echo "================================================================================" |
| | echo " TEMPORAL REASONING AUDIO DATASET GENERATION PIPELINE" |
| | echo "================================================================================" |
| | echo "" |
| | print_info "Configuration: $CONFIG_FILE" |
| | print_info "Python command: $PYTHON_CMD" |
| | [ -n "$OUTPUT_DIR" ] && print_info "Output directory: $OUTPUT_DIR" |
| | [ -n "$TASKS" ] && print_info "Tasks to run: $TASKS" |
| | echo "" |
| |
|
| | |
| | print_info "Checking Python dependencies..." |
| | $PYTHON_CMD -c "import yaml, pandas, pydub" 2>/dev/null |
| | if [ $? -ne 0 ]; then |
| | print_error "Missing required Python packages. Please install:" |
| | echo " pip install pyyaml pandas pydub" |
| | exit 1 |
| | fi |
| | print_success "Dependencies OK" |
| | echo "" |
| |
|
| | |
| | PYTHON_ARGS="$SCRIPT_DIR/main.py --config $SCRIPT_DIR/$CONFIG_FILE" |
| | [ -n "$OUTPUT_DIR" ] && PYTHON_ARGS="$PYTHON_ARGS --output $OUTPUT_DIR" |
| | if [ -n "$TASKS" ]; then |
| | |
| | TASKS_SPACE=$(echo $TASKS | tr ',' ' ') |
| | PYTHON_ARGS="$PYTHON_ARGS --tasks $TASKS_SPACE" |
| | fi |
| |
|
| | |
| | print_info "Starting pipeline..." |
| | echo "" |
| |
|
| | $PYTHON_CMD $PYTHON_ARGS |
| |
|
| | if [ $? -eq 0 ]; then |
| | echo "" |
| | echo "================================================================================" |
| | print_success "PIPELINE COMPLETED SUCCESSFULLY!" |
| | echo "================================================================================" |
| | echo "" |
| | else |
| | echo "" |
| | echo "================================================================================" |
| | print_error "PIPELINE FAILED!" |
| | echo "================================================================================" |
| | echo "" |
| | exit 1 |
| | fi |
| |
|