Hi there. This is an amazing project with so much possibilities. The most exciting aspect would be opening up the internal parameters of Bitwig devices (or VST's if they expose any) to AI-based sound design, effectively programming these devices via prompts. Below is an AI generated description I created after checking out the repo. Not sure if the assumptions are correct.
I may try to create a POC out of it, I think this feature would be a game changer.
🎯 Feature Request: Comprehensive Device Parameter Access
Problem Statement
Currently, WigAI can only access device parameters through remote control pages, limiting AI agents to 8 parameters per page. This severely restricts AI-driven sound design capabilities, as most devices have 50-300+ internal parameters that remain inaccessible.
Proposed Solution
Implement direct access to ALL device parameters using Bitwig's internal parameter API methods, bypassing remote control page limitations entirely.
Technical Approach
Instead of relying on cursorDevice.createCursorRemoteControlsPage(128), use direct parameter access:
// Current limitation (Epic 2 implementation):
RemoteControlsPage deviceParameterBank = cursorDevice.createCursorRemoteControlsPage(128);
// Proposed enhancement:
public List<InternalParameterInfo> getAllDeviceParameters() {
List<InternalParameterInfo> params = new ArrayList<>();
Device device = cursorDevice;
// Direct parameter enumeration (needs API research)
for (int i = 0; i < getDeviceParameterCount(); i++) {
Parameter param = device.getParameter(i); // or similar method
if (param.exists()) {
params.add(new InternalParameterInfo(
i,
param.name().get(),
param.value().get(),
param.displayedValue().get(),
param.getUnit(),
param.getMinValue(),
param.getMaxValue()
));
}
}
return params;
}
Benefits
- 🚀 Complete Parameter Universe: Access to 100s of parameters vs 8
- 🎵 True AI Sound Design: AI can manipulate every aspect of a device
- ⚡ Simpler Architecture: No page navigation complexity
- 🔄 Immediate Access: No UI state dependencies
API Enhancement Proposal
Add new MCP tools:
get_all_device_parameters - Returns ALL device parameters
set_device_parameter_by_name - Set parameters by name (more intuitive)
get_device_parameter_metadata - Get parameter constraints and units
Example Output
{
"device": "Wavetable",
"total_parameters": 247,
"parameters": [
{
"index": 0,
"name": "Osc1.Wavetable.Position",
"value": 0.5,
"display_value": "50%",
"unit": "%",
"min_value": 0.0,
"max_value": 1.0
},
{
"index": 1,
"name": "Osc1.Unison.Voices",
"value": 0.3,
"display_value": "3 voices",
"unit": "voices",
"min_value": 1,
"max_value": 16
}
// ... 245 more parameters
]
}
Implementation Plan
- Research exact Bitwig API methods for direct parameter access
- Create
InternalParameterController class
- Implement parameter enumeration and access methods
- Add new MCP tools for comprehensive parameter control
- Update documentation and tests
Research Sources
Relationship to Existing Roadmap
This enhancement would:
- Complement Epic 8: Provide alternative to complex page navigation
- Extend Epic 2: Enhance current parameter control with comprehensive access
- Enable Epic 9: Advanced AI sound design capabilities
Impact
This would make WigAI the most comprehensive AI-DAW integration available, enabling true AI-driven sound design that's impossible in other DAWs due to their closed architectures.
Hi there. This is an amazing project with so much possibilities. The most exciting aspect would be opening up the internal parameters of Bitwig devices (or VST's if they expose any) to AI-based sound design, effectively programming these devices via prompts. Below is an AI generated description I created after checking out the repo. Not sure if the assumptions are correct.
I may try to create a POC out of it, I think this feature would be a game changer.
🎯 Feature Request: Comprehensive Device Parameter Access
Problem Statement
Currently, WigAI can only access device parameters through remote control pages, limiting AI agents to 8 parameters per page. This severely restricts AI-driven sound design capabilities, as most devices have 50-300+ internal parameters that remain inaccessible.
Proposed Solution
Implement direct access to ALL device parameters using Bitwig's internal parameter API methods, bypassing remote control page limitations entirely.
Technical Approach
Instead of relying on
cursorDevice.createCursorRemoteControlsPage(128), use direct parameter access:Benefits
API Enhancement Proposal
Add new MCP tools:
get_all_device_parameters- Returns ALL device parametersset_device_parameter_by_name- Set parameters by name (more intuitive)get_device_parameter_metadata- Get parameter constraints and unitsExample Output
{ "device": "Wavetable", "total_parameters": 247, "parameters": [ { "index": 0, "name": "Osc1.Wavetable.Position", "value": 0.5, "display_value": "50%", "unit": "%", "min_value": 0.0, "max_value": 1.0 }, { "index": 1, "name": "Osc1.Unison.Voices", "value": 0.3, "display_value": "3 voices", "unit": "voices", "min_value": 1, "max_value": 16 } // ... 245 more parameters ] }Implementation Plan
InternalParameterControllerclassResearch Sources
getParameter()method existsRelationship to Existing Roadmap
This enhancement would:
Impact
This would make WigAI the most comprehensive AI-DAW integration available, enabling true AI-driven sound design that's impossible in other DAWs due to their closed architectures.