{"ok":true,"site":{"host":"champagne.vossx.chatgpt.site","url":"https://champagne.vossx.chatgpt.site/","type":"live","desc":"ChatGPT guides the physics behind Champagne’s mastering engine. Compare original and mastered versions, then download your masterpiece.","tools":[{"name":"get_studio_state","kind":"answer","impl":"imperative","description":"Call this first whenever the user asks Champagne to master, analyze, trim, fade, or change track speed. It checks the live audio already loaded in the current Champagne browser page, including a built-in demo or audio selected in the page, so the user does not need to attach that audio to ChatGPT. If the page is empty, direct the user to Select Audio or Try Demo in Champagne instead of asking for a chat attachment. Returns stateVersion for subsequent actions without exposing audio bytes, waveform samples, filenames, or local paths.","title":"Check the audio loaded in Champagne","annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"analyze_track","kind":"act","impl":"imperative","description":"Measure the track already loaded in Champagne locally and return compact objective level, peak, crest-factor, duration, and headroom findings. No audio leaves the page and no chat attachment is required.","title":"Analyze the loaded track","annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_mastering_take","kind":"act","impl":"imperative","description":"Use only when the user requests mastering or sonic changes. Create and locally render one reversible custom Champagne style from a safe baseline plus small, bounded musical adjustments. If the same request also includes cuts, fades, or speed, call those tools afterward in that order and pass each newly returned stateVersion into the next action. Operates on the audio already loaded in the current Champagne browser page, so no chat attachment is required.","title":"Create a custom mastering style","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":0,"description":"Version returned by get_studio_state."},"baseStyle":{"type":"string","enum":["full_power","warm_presence","modern_crisp","dominant"],"description":"Tested Champagne mastering style."},"priorities":{"type":"array","maxItems":5,"items":{"type":"string","enum":["loudness","punch","warmth","clarity","dynamic_range","low_end","presence","air","width","glue","density","smoothness"]}},"constraints":{"type":"array","maxItems":4,"items":{"type":"string","enum":["preserve_transients","avoid_pumping","avoid_harshness","avoid_clipping","keep_dynamic"]}},"intensity":{"type":"number","minimum":-1,"maximum":1,"description":"Bounded relative intensity from -1 to 1."},"styleName":{"type":"string","minLength":1,"maxLength":48,"description":"Short user-facing name for this custom style."},"brief":{"type":"string","minLength":1,"maxLength":240,"description":"Concise musical direction being implemented."},"adjustments":{"type":"object","properties":{"warmth":{"type":"number","minimum":-1,"maximum":1},"brightness":{"type":"number","minimum":-1,"maximum":1},"punch":{"type":"number","minimum":-1,"maximum":1},"dynamics":{"type":"number","minimum":-1,"maximum":1},"lowEnd":{"type":"number","minimum":-1,"maximum":1},"presence":{"type":"number","minimum":-1,"maximum":1},"air":{"type":"number","minimum":-1,"maximum":1},"width":{"type":"number","minimum":-1,"maximum":1},"glue":{"type":"number","minimum":-1,"maximum":1},"density":{"type":"number","minimum":-1,"maximum":1},"smoothness":{"type":"number","minimum":-1,"maximum":1}},"additionalProperties":false}},"required":["expectedStateVersion","baseStyle","priorities","constraints","styleName","brief"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"refine_mastering_take","kind":"act","impl":"imperative","description":"Create a reversible child style with one bounded semantic change. The source remains intact and the new result becomes the active audible master. Operates on the audio already loaded in the current Champagne browser page, so no chat attachment is required.","title":"Refine a custom style","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":0,"description":"Version returned by get_studio_state."},"sourceTakeId":{"type":"string","minLength":1,"maxLength":64,"description":"Existing rendered style ID."},"dimension":{"type":"string","enum":["intensity","warmth","brightness","punch","dynamics","lowEnd","presence","air","width","glue","density","smoothness"]},"direction":{"type":"string","enum":["increase","decrease"]},"amount":{"type":"string","enum":["small","medium"]},"brief":{"type":"string","minLength":1,"maxLength":180}},"required":["expectedStateVersion","sourceTakeId","dimension","direction","amount","brief"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_variations","kind":"act","impl":"imperative","description":"Create up to three sibling mastering styles in one transaction and select the first result. Use this for contrasting warm, open, and club-loud directions. Operates on the audio already loaded in the current Champagne browser page, so no chat attachment is required.","title":"Create three mastering directions","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":0,"description":"Version returned by get_studio_state."},"styles":{"type":"array","minItems":2,"maxItems":3,"uniqueItems":true,"items":{"type":"string","enum":["full_power","warm_presence","modern_crisp","dominant"]}},"constraint":{"type":"string","enum":["preserve_transients","keep_dynamic","avoid_harshness","none"]}},"required":["expectedStateVersion","styles","constraint"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"stage_comparison","kind":"act","impl":"imperative","description":"Group two or three rendered custom styles for comparison and select the first. This does not alter any rendered audio. Operates on the audio already loaded in the current Champagne browser page, so no chat attachment is required.","title":"Stage a mastering comparison","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":0,"description":"Version returned by get_studio_state."},"takeIds":{"type":"array","minItems":2,"maxItems":3,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":64}}},"required":["expectedStateVersion","takeIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_trim_fades","kind":"act","impl":"imperative","description":"Use for every cut, trim, fade-in, or fade-out instruction, including when it appears inside a mastering request. Update the non-destructive keep region and fade lengths while preserving the selected master. Values are validated against the loaded track duration; after a prior action, use that action’s returned stateVersion. Operates on the audio already loaded in the current Champagne browser page, so no chat attachment is required.","title":"Set trim and fades","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":0,"description":"Version returned by get_studio_state."},"startSeconds":{"type":"number","minimum":0,"description":"Absolute start of the kept audio in seconds. To cut N seconds from the front, set this to N."},"endSeconds":{"type":"number","exclusiveMinimum":0,"description":"Absolute end of the kept audio in seconds. To cut N seconds from the back, set this to durationSeconds minus N."},"fadeInSeconds":{"type":"number","minimum":0,"maximum":30,"description":"Fade length in seconds immediately after startSeconds; use 0 for no fade-in."},"fadeOutSeconds":{"type":"number","minimum":0,"maximum":30,"description":"Fade length in seconds immediately before endSeconds; use 0 for no fade-out."},"fadeInCurve":{"type":"number","minimum":-1,"maximum":1,"description":"Fade-in curvature; -1 broad, +1 sharp."},"fadeOutCurve":{"type":"number","minimum":-1,"maximum":1,"description":"Fade-out curvature; -1 broad, +1 sharp."}},"required":["expectedStateVersion","startSeconds","endSeconds","fadeInSeconds","fadeOutSeconds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"commit_master","kind":"act","impl":"imperative","description":"Call only when the user explicitly asks to switch to, select, or finalize a previously rendered style. Make that style active and audible without rendering, preparing, exporting, or downloading. Do not call this automatically after creating or refining a master. On success, stop. Operates on the audio already loaded in the current Champagne browser page, so no chat attachment is required.","title":"Select an existing mastering style","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":0,"description":"Version returned by get_studio_state."},"takeId":{"type":"string","minLength":1,"maxLength":64,"description":"Existing rendered style ID."}},"required":["expectedStateVersion","takeId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_track_speed","kind":"act","impl":"imperative","description":"Use for every speed instruction, including when it appears inside a mastering request. Set the current track speed from 50% to 150%; the change is heard immediately and updates the visible percentage and slider. 100% restores normal speed. After a prior action, use that action’s returned stateVersion. Operates on the audio already loaded in the current Champagne browser page, so no chat attachment is required.","title":"Set track speed","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"expectedStateVersion":{"type":"integer","minimum":0,"description":"Version returned by get_studio_state."},"speedPercent":{"type":"number","minimum":50,"maximum":150,"description":"Absolute track speed. For example, 135 is 35% faster and 75 is three-quarters speed."}},"required":["expectedStateVersion","speedPercent"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Media & Personal","favicon":"/favicons/champagne.vossx.chatgpt.site.png","apiSurface":"spec","toolCount":9}}