A Synth Nerds Dream

Berlin`s very own Superbooth did it again

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

By Audionerdz Editorial

Berlin is many things: a haven for the weird, a breeding ground for sonic revolutionaries, and once a year, it becomes the epicenter of the electronic music hardware multiverse. That’s Superbooth, and in 2025, it wasn’t just a synth convention—it was a full-blown ritual. Think Burning Man for modular heads, minus the sand and plus a metric ton of blinking LEDs and throbbing oscillators.

Welcome to Superbooth25—a place where your wallet dies, your mind expands, and your sense of what’s musically possible is permanently rewired.


Moog Just Revived Analog Attitude with the Messenger

Let’s start with the Moog Messenger. Moog has long been the cathedral of analog worship, but this time they baptized it in modern fire. This $899 beast brings Moog’s snarling tone into a format that’s screaming to be mangled on-stage. The sequencer? Stupidly good. The vibe? Raw, nasty, and begging for filter abuse. It’s like Moog remembered what made them gods—and dropped the pretentious price tag.


Frap Tools Is Making Polyphonic Synths Sexy Again

Then there’s Magnolia—Frap Tools’ first polyphonic synth. Imagine an Italian opera sung through a modular patch bay inside a radioactive submarine. Through-zero FM, wavefolding, and voice architecture that feels like a hallucination during a Max/MSP fever dream. It doesn’t care about your presets. It wants you to explore.

We are currently working on a video that we recorded with Mono and the team of Fraptool so stay tuned and subscribe to our YouTube to get notified when it drops!

Follow our YouTube: https://www.youtube.com/@audionerdzmusicschool


Korg’s Phase8 Sounds Like It Was Built for Aliens Who Love Jazz

Phase8 might be the weirdest thing Korg’s done in years. It’s an electro-acoustic Frankenstein built with vibrating metal rods and resonators. It doesn’t sound like anything else because it literally isn’t anything else. It’s the lovechild of a Tibetan singing bowl and HAL 9000, and yes, it’s glorious.


Erica Synths Resurrects Hexinverter—and Your Groove

With HexDrums, Erica Synths is pouring one out for the late Hexinverter Électronique. It’s not just homage—it’s evolution. This drum machine doesn’t punch—it murders. Analog drum synthesis on steroids with sequencing that wants to take over your live set like a rogue AI with good taste.


Modular Nerdvana: From Make Noise to Morphor Madness

If you were near the modular zone, you likely had an existential crisis staring at Make Noise Polimaths—a glorious eight-channel function generator that sounds like the offspring of maths and chaos theory. And if your brain hadn’t already melted, Morphor Echon 6 offered six delay lines of delicious confusion. Together, they made you question whether you were playing your rig or it was playing you.


This Is More Than Gear. It’s a Culture.

Superbooth isn’t about specs. It’s about the energy. The vibe. The community. It’s about catching Surgeon live in a courtyard while a 12-year-old patches kick drums next to a 50-year-old synth wizard explaining phase modulation with a beer in hand. It’s about how Dasha Rush, JakoJako, and countless others rip the veil between sound and soul—and how you leave with a mission, not just a wish list.

There were workshops for women and nonbinary creators, mini labs for kids, and jam sessions that made it clear: electronic music is evolving fast, and it’s inclusive, experimental, and deeply alive.


So What’s the Takeaway?

Superbooth25 wasn’t just about hardware. It was a reminder that we’re standing on the edge of something bigger than music. We’re building the future—one patch cable, one open-source sequencer, one blown-out kick drum at a time.

And here at Audionerdz, we’re not just watching the wave. We are the wave.

Stay tuned for deep dives into the sickest gear of 2025, exclusive tutorials, and guerrilla techniques to turn your studio into a weapon of sonic liberation.

Plug in. Patch weird. Blow minds.
The revolution is modular.

```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_