graph TD
A[TempoAnalyzerAgent Start] --> B[Receive 10 MP3 URLs]
B --> C[Split into Instrumental/Vocal Silos]
C --> D[Instrumental Silo]
C --> E[Vocal Silo]
D --> D1[Convert MP3 to WAV - File 1]
D --> D2[Convert MP3 to WAV - File 2]
D --> D3[Convert MP3 to WAV - File 3]
D --> D4[Convert MP3 to WAV - File 4]
D --> D5[Convert MP3 to WAV - File 5]
E --> E1[Convert MP3 to WAV - File 6]
E --> E2[Convert MP3 to WAV - File 7]
E --> E3[Convert MP3 to WAV - File 8]
E --> E4[Convert MP3 to WAV - File 9]
E --> E5[Convert MP3 to WAV - File 10]
D1 --> F1[Extract Beat/Tempo - File 1]
D2 --> F2[Extract Beat/Tempo - File 2]
D3 --> F3[Extract Beat/Tempo - File 3]
D4 --> F4[Extract Beat/Tempo - File 4]
D5 --> F5[Extract Beat/Tempo - File 5]
E1 --> G1[Extract Beat/Tempo - File 6]
E2 --> G2[Extract Beat/Tempo - File 7]
E3 --> G3[Extract Beat/Tempo - File 8]
E4 --> G4[Extract Beat/Tempo - File 9]
E5 --> G5[Extract Beat/Tempo - File 10]
F1 --> H1[Generate Waveform - File 1]
F2 --> H2[Generate Waveform - File 2]
F3 --> H3[Generate Waveform - File 3]
F4 --> H4[Generate Waveform - File 4]
F5 --> H5[Generate Waveform - File 5]
G1 --> I1[Generate Waveform - File 6]
G2 --> I2[Generate Waveform - File 7]
G3 --> I3[Generate Waveform - File 8]
G4 --> I4[Generate Waveform - File 9]
G5 --> I5[Generate Waveform - File 10]
H1 --> J1[Verify Waveform - File 1]
H2 --> J2[Verify Waveform - File 2]
H3 --> J3[Verify Waveform - File 3]
H4 --> J4[Verify Waveform - File 4]
H5 --> J5[Verify Waveform - File 5]
I1 --> K1[Verify Waveform - File 6]
I2 --> K2[Verify Waveform - File 7]
I3 --> K3[Verify Waveform - File 8]
I4 --> K4[Verify Waveform - File 9]
I5 --> K5[Verify Waveform - File 10]
J1 & J2 & J3 & J4 & J5 --> L[Combine Instrumental Results]
K1 & K2 & K3 & K4 & K5 --> M[Combine Vocal Results]
L & M --> N[Generate Final JSON Output]
N --> O[TempoAnalyzerAgent End]