diff --git a/components/CreatePanel.tsx b/components/CreatePanel.tsx index 7012221..8b2d4d9 100644 --- a/components/CreatePanel.tsx +++ b/components/CreatePanel.tsx @@ -115,6 +115,7 @@ export const CreatePanel: React.FC = ({ onGenerate, isGenerati // Common const [instrumental, setInstrumental] = useState(false); const [vocalLanguage, setVocalLanguage] = useState('en'); + const [vocalGender, setVocalGender] = useState<'male' | 'female' | ''>(''); // Music Parameters const [bpm, setBpm] = useState(0); @@ -607,6 +608,13 @@ export const CreatePanel: React.FC = ({ onGenerate, isGenerati }; const handleGenerate = () => { + const styleWithGender = (() => { + if (!vocalGender) return style; + const genderHint = vocalGender === 'male' ? 'Male vocals' : 'Female vocals'; + const trimmed = style.trim(); + return trimmed ? `${trimmed}\n${genderHint}` : genderHint; + })(); + // Bulk generation: loop bulkCount times for (let i = 0; i < bulkCount; i++) { // Seed handling: first job uses user's seed, rest get random seeds @@ -623,7 +631,7 @@ export const CreatePanel: React.FC = ({ onGenerate, isGenerati songDescription: customMode ? undefined : songDescription, prompt: lyrics, lyrics, - style, + style: styleWithGender, title: bulkCount > 1 ? `${title} (${i + 1})` : title, instrumental, vocalLanguage, @@ -787,15 +795,33 @@ export const CreatePanel: React.FC = ({ onGenerate, isGenerati
Vocal Language
- +
+ +
+ + +
+
{/* Quick Settings (Simple Mode) */} @@ -1215,6 +1241,27 @@ export const CreatePanel: React.FC = ({ onGenerate, isGenerati ))} +
+ +
+ + +
+
)}