SUPERBOOTH25

Superbooth25 is set to take place from May 8–10, 2025, at the FEZ-Berlin, marking another milestone in its evolution as one of the world’s leading events for synthesizers, electronic instruments, and music technology.

Superbooth25: Europe’s Premier Synth & Electronic Music Festival Returns to Berlin

Superbooth25, one of the world’s leading events for synthesizers, electronic instruments, and music technology, is returning to Berlin for its 2025 edition. Set to take place from May 8–10, 2025, at FEZ-Berlin, this year’s festival promises to deliver an unforgettable experience for enthusiasts, professionals, and artists alike. Whether you’re a seasoned producer, a curious beginner, or a passionate fan of all things electronic, Superbooth25 has something for everyone.


🎛️ What Is Superbooth?

Originally founded by the Berlin-based company SchneidersLaden, Superbooth started as a small trade show dedicated to the world of modular synthesizers. Over the years, the event has grown into an all-encompassing festival that celebrates the wider landscape of electronic music production and innovation. What started as a niche event has now become a global gathering of the brightest minds in the field, showcasing the latest in synthesis, sound design, and music technology.

Superbooth25 is not just an exhibition — it’s an immersive, multi-sensory experience. In addition to a large number of exhibitors, the event offers a rich array of live performances, hands-on workshops, and collaborative creative sessions. It’s an opportunity for attendees to connect, learn, and discover new technologies in the heart of Berlin, one of the world’s most vibrant cities for electronic music.


🧰 Exhibitors & Innovations

This year’s event will feature over 280 exhibitors from across the globe, with many of the biggest names in the industry showcasing their latest products and innovations. Expect to see cutting-edge synthesizers, music production software, hardware, and other electronic instruments.

Notable exhibitors include:

  • Ableton – Pioneers in music production software and hardware.

  • Elektron – Known for their powerful, multi-functional synthesizers and drum machines.

  • Korg – A legendary brand in the synthesizer world, known for their analog and digital instruments.

  • Expressive E – Makers of unique, expressive instruments like the Osmose keyboard.

  • Solid State Logic – Renowned for their top-of-the-line audio equipment, particularly in the realm of mixing and recording.

  • 1010music – Innovators in modular synthesis and digital instruments.

  • 4ms Company – Renowned for their Eurorack modules that push the boundaries of sonic experimentation.

Attendees will have the chance to interact with the latest technologies, test out new gear, and meet the minds behind the products that are shaping the future of electronic music production.


🎶 Live Performances & Workshops

Superbooth25 is about more than just gadgets and gear. The festival’s immersive atmosphere extends to a range of live performances and hands-on workshops that cater to every aspect of electronic music creation.

  • Modular Synth Jams: These live sessions are an opportunity to witness the power of collaboration within the modular synth community. You’ll experience improvisational jams that demonstrate the versatility of modular systems.

  • Live Concerts: Internationally acclaimed artists from across the globe will showcase their talent, providing dynamic performances that span a wide range of electronic genres.

  • DIY Workshops: A highlight for many, these workshops allow participants to get hands-on with building and customizing their own electronic instruments. Whether you’re a beginner or an experienced builder, these sessions offer a great chance to deepen your knowledge.

These interactive elements give attendees a chance to gain valuable skills, meet like-minded creators, and be part of the creative energy that defines the electronic music scene.


🎟️ Ticket Information

Tickets for Superbooth25 are now available, with several options to suit different needs:

  • Single-Day Ticket: €41

  • Three-Day Ticket: €100

For those looking to make the most of their experience, the three-day ticket offers the best value, providing full access to all the workshops, live performances, and exhibitions throughout the entire event.

Additionally, tickets purchased before April 1, 2025, will be automatically entered into a raffle, with exciting prizes including high-end audio interfaces, Eurorack modules, and an Osmose keyboard from Expressive E.


👶 Family-Friendly Event

Superbooth25 prides itself on being a family-friendly event, welcoming attendees of all ages. Children up to 15 years old can attend for free, and discounted tickets are available for those aged 1–7. While there is no specific program tailored for children, the FEZ-Berlin venue is equipped with various amenities, making it an ideal destination for families who want to explore the event together.


🌐 Connect with Superbooth

Stay connected with Superbooth and engage with the community through their official channels:


Why You Can’t Miss Superbooth25

Superbooth25 promises to be an enriching, inspiring, and exciting event for anyone with an interest in electronic music and sound technology. From hands-on experiences and workshops to live performances by international artists, there’s no better place to immerse yourself in the world of electronic music production.

Whether you’re a producer looking to discover new tools, an artist seeking creative inspiration, or simply an enthusiast eager to see the future of electronic music technology, Superbooth25 offers a unique opportunity to connect with like-minded individuals and be a part of this dynamic community.

Don’t miss out — mark your calendars and get ready to explore the future of music at Superbooth25 in Berlin!

Superbooth 2024

```javascript /* TrackForge MVP — Vanilla JS Storage: window.localStorage under key TF_DATA_V1 */ (function () { const LS_KEY = 'TF_DATA_V1'; const THEME_KEY = 'TF_THEME'; const EL = { // Main App grid: document.getElementById('projectGrid'), form: document.getElementById('projectForm'), trackName: document.getElementById('trackName'), genre: document.getElementById('genre'), status: document.getElementById('status'), deadline: document.getElementById('deadline'), themeToggle: document.getElementById('themeToggle'), search: document.getElementById('search'), filterStatus: document.getElementById('filterStatus'), clearAll: document.getElementById('clearAllBtn'), newProjectBtn: document.getElementById('newProjectBtn'), // Modal Elements modal: document.getElementById('projectModal'), modalForm: document.getElementById('modalForm'), modalTitle: document.getElementById('modalTitle'), m_name: document.getElementById('m_name'), m_genre: document.getElementById('m_genre'), m_status: document.getElementById('m_status'), m_deadline: document.getElementById('m_deadline'), newTaskText: document.getElementById('newTaskText'), addTaskBtn: document.getElementById('addTaskBtn'), taskList: document.getElementById('taskList'), deleteProjectBtn: document.getElementById('deleteProjectBtn'), saveProjectBtn: document.getElementById('saveProjectBtn'), }; let projects = []; // Array to hold all project data let currentProjectId = null; // To track which project is open in the modal // --- Helper Functions --- const generateId = () => Date.now().toString(36) + Math.random().toString(36).substring(2); const getStatusClass = (status) => { return status.toLowerCase().replace(/\s/g, '-'); }; const formatDate = (dateString) => { if (!dateString) return 'N/A'; const date = new Date(dateString); return date.toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' }); }; const calculateDaysLeft = (deadline) => { if (!deadline) return null; const today = new Date(); const deadlineDate = new Date(deadline); today.setHours(0, 0, 0, 0); // Normalize today to start of day deadlineDate.setHours(0, 0, 0, 0); // Normalize deadline to start of day const diffTime = deadlineDate.getTime() - today.getTime(); const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); return diffDays; }; // --- Local Storage Operations --- const loadProjects = () => { const data = localStorage.getItem(LS_KEY); if (data) { projects = JSON.parse(data); } else { // Initialize with some dummy data if no projects exist projects = [ { id: generateId(), name: "Nova Spektrum 01", genre: "Psytrance", status: "In Progress", deadline: "2024-07-30", tasks: [ { id: generateId(), text: "Write main bassline", completed: true }, { id: generateId(), text: "Arrange breakdown 1", completed: false }, { id: generateId(), text: "Mix kick & bass", completed: false }, ] }, { id: generateId(), name: "Dream Sequence", genre: "Ambient", status: "Idea", deadline: "", tasks: [ { id: generateId(), text: "Brainstorm chord progressions", completed: false }, { id: generateId(), text: "Gather field recordings", completed: false }, ] }, { id: generateId(), name: "Urban Pulse", genre: "Techno", status: "Finished", deadline: "2024-05-15", tasks: [ { id: generateId(), text: "Final Master", completed: true }, { id: generateId(), text: "Upload to platforms", completed: true }, ] } ]; } renderProjects(); }; const saveProjects = () => { localStorage.setItem(LS_KEY, JSON.stringify(projects)); }; const clearAllData = () => { if (confirm('Are you sure you want to clear ALL demo data? This cannot be undone.')) { localStorage.removeItem(LS_KEY); projects = []; renderProjects(); } }; // --- Project Rendering --- const createProjectCard = (project) => { const card = document.createElement('div'); card.className = 'project-card'; card.dataset.id = project.id; const daysLeft = calculateDaysLeft(project.deadline); const deadlineInfoHtml = project.deadline ? `
${daysLeft !== null && daysLeft < 0 ? 'Overdue' : ''} ${formatDate(project.deadline)} ${daysLeft !== null && daysLeft >= 0 ? ` (${daysLeft} day${daysLeft === 1 ? '' : 's'} left)` : ''}
` : '
No deadline set
'; card.innerHTML = `

${project.name}

Genre: ${project.genre || 'N/A'} ${project.status}
${deadlineInfoHtml} `; card.addEventListener('click', () => openProjectModal(project.id)); return card; }; const renderProjects = () => { EL.grid.innerHTML = ''; // Clear existing projects const searchTerm = EL.search.value.toLowerCase(); const filterStatus = EL.filterStatus.value; const filteredProjects = projects.filter(project => { const matchesSearch = project.name.toLowerCase().includes(searchTerm) || project.genre.toLowerCase().includes(searchTerm); const matchesStatus = filterStatus === '' || project.status === filterStatus; return matchesSearch && matchesStatus; }); if (filteredProjects.length === 0) { EL.grid.innerHTML = '

No projects found matching your criteria.

'; } else { filteredProjects.forEach(project => { EL.grid.appendChild(createProjectCard(project)); }); } }; // --- New Project Form --- const handleNewProjectSubmit = (e) => { e.preventDefault(); const newProject = { id: generateId(), name: EL.trackName.value.trim(), genre: EL.genre.value.trim(), status: EL.status.value, deadline: EL.deadline.value, tasks: [] }; if (newProject.name) { projects.unshift(newProject); // Add to the beginning saveProjects(); renderProjects(); EL.form.reset(); // Clear form } else { alert('Please enter a track name.'); } }; // --- Modal Logic --- const openProjectModal = (projectId) => { currentProjectId = projectId; const project = projects.find(p => p.id === projectId); if (!project) { console.error('Project not found:', projectId); return; } EL.modalTitle.textContent = project.name; EL.m_name.value = project.name; EL.m_genre.value = project.genre; EL.m_status.value = project.status; EL.m_deadline.value = project.deadline; renderTasks(project.tasks); EL.modal.showModal(); }; const closeProjectModal = () => { EL.modal.close(); currentProjectId = null; EL.modalForm.reset(); EL.taskList.innerHTML = ''; }; const handleModalSave = (e) => { e.preventDefault(); // Prevent default form submission inside dialog const projectIndex = projects.findIndex(p => p.id === currentProjectId); if (projectIndex === -1) return; const project = projects[projectIndex]; project.name = EL.m_name.value.trim(); project.genre = EL.m_genre.value.trim(); project.status = EL.m_status.value; project.deadline = EL.m_deadline.value; // Tasks are updated live via other functions if (project.name) { saveProjects(); renderProjects(); // Re-render to update card details closeProjectModal(); } else { alert('Track name cannot be empty.'); } }; const handleDeleteProject = () => { if (!currentProjectId) return; if (confirm(`Are you sure you want to delete "${EL.m_