MIDI Manager: Hulp gezocht!

Phontaq

+---O---+
Lid sinds
23 januari 2003
Berichten
367
Locatie
Net geen België
Hoi allemaal!

Ik zit met een probleem. Eerst een stukje achtergrond:

Vorig jaar heb ik PG-800 Online ontwikkeld, een web-based versie van de PG-800 Programmer waarmee je je JX-8P, JX-10 en MKS-70 vanuit de browser kunt bedienen. Eén van de meest gevraagde features was destijds om ook patch management toe te voegen.

Tijdens het brainstormen over hoe ik patch management op een goede manier kon kwam ik tot een nieuw inzicht: Het uitwisselen van synth patches tussen mensen is in 2021 nog steeds héél omslachtig! Je moet je synth aan een computer hangen, via een sysex-dump een .syx file creëren, deze op het Internet plaatsen of naar iemand mailen, en vervolgens moet die andere persoon de .syx-file downloaden, in zijn sysex-librarian laden en dan op zijn synth zetten. Waarom bestaat er nog steeds géén centraal platform om makkelijk online je patches uit te wisselen, ongeacht je synth? Vrijwel alle patch management oplossingen draaien lokaal op je PC/Mac of op je iPad (vaak als onderdeel van een specifieke synth-editor). Muziek en samples wisselen we volop uit via het Internet, maar patches uitwisselen blijft gedoe!

Dat kan beter vond ik, want technisch is het helemaal niet zo ingewikkeld: met WebMIDI (dat in je browser draait) kun je je MIDI-gear rechtstreeks aan het Internet knopen. Samen met een vriend ben ik een daarom nieuw project begonnen: MIDI Manager (www.midimanager.com)! Het is een online patch exchange waarmee je rechtstreeks patches vanaf je synth kan uploaden en een patch of bank van iemand anders met één klik op je synth kan beluisteren. Het is tevens een online backup van je sysex-files, vergelijkbaar met wat bv. Sysex Librarian lokaal op je computer doet.

Het kernconcept werkt en draait nu al een tijdje als alpha-versie online. We zijn in korte tijd behoorlijk ver geraakt en ondersteunen als proof-of-concept een aantal leuke synths, waaronder de JX-8P, Matrix-1000, Mininova, Deepmind-12, een aantal Boutiques, maar ook een custom synth om je eigen synth aan te sluiten. Iedere patch of bank kun je rechtstreeks als URL delen met andere mensen, zodat zij direct met jouw patch op hun synth kunnen spelen. Stel je maar eens voor: hoe vet zou het zijn als je met één klik een patch van een bekende artiest op jouw synth kunt spelen? De basis staat en heeft nu al een meerwaarde. Probeer het maar eens!

Van hieruit willen we gaan opschalen qua content, qua community en qua convenience. Het ondersteunen van meerdere synth-modellen is best wel wat werk, omdat iedere synth natuurlijk zijn specifieke sysex-implementatie heeft (en ik hier helaas niet ieder synth heb staan :L). Qua content zijn we daarom afhankelijk van enthousiaste synth-liefhebbers die hun patches willen uploaden en daarmee beschikbaar maken voor de wereld.

En dan nu het probleem: De frontender met wie ik dit project in onze vrije tijd heb ontwikkeld zal de komende tijd nog weinig tijd hebben om verder te werken aan MIDI Manager. Dat vind ik zeer jammer, want er zit ontzettend veel potentie in MIDI Manager en het zou zonde zijn als het project hierdoor dood bloedt. Mijn eigen React-skills zijn onvoldoende om dit project zelfstandig verder te trekken. Ik ben daarom op zoek naar één of meerdere synth-liefhebbers met goeie frontend-skills (het liefst React-ervaring), zodat we samen verder kunnen bouwen aan MIDI Manager. Ook niet-frontenders die het interessant vinden om de sysex-spec van hun favoriete synth om te zetten naar een MIDI Manager config zijn van zeer welkom.

Ik ben dus op zoek naar mensen, ideeën en content die MIDI Manager verder op de kaart kunnen zetten. Wat betreft samenwerking sta ik momenteel voor heel veel open, want zonder hulp ga ik hier niet zelfstandig uit geraken. Maar voordat ik bij Uli Behringer aanklop wil ik eerst checken of hier nog enthousiaste mensen zitten die zin hebben in een tof project. *D Dit soort platforms staan of vallen bij de content en de community, dus meer is beter! Voor de JX-8P is het inmiddels een hele mooi centrale database geworden en het zou tof zijn als we dat voor veel andere synths ook kunnen worden.

Alvast bedankt voor het meedenken! :halleluja

Groet uit Den Haag
~ Harry

1617889093902.png
 
Gaaf! kan niet programmeren, maar ben wel goed in sales :D
Dat is absoluut een waardevolle skill! Ik ben benieuwd of je leuke ideeën hebt over hoe de basis van MIDI Manager gratis kan blijven voor eindgebruikers en het project zelf tegelijkertijd kostendekkend en ads-free? Een gratis community groeit sneller dan een betaalde community, en de hoeveelheid content daarmee ook, dus iedereen heeft er belang bij dat er geen paywall voor komt. We zouden alles donation-based kunnen doen, maar dat is heel onvoorspelbaar. Er zijn wel wat mogelijkheden voor een marketplace (bv. 'premium banks' van bekende artiesten), maar dan krijg je het probleem dat je een patch niet écht kunt previewen omdat ie daarvoor zowieso eerst in z'n geheel naar je synth gestuurd moet worden. We zouden dan weer voorbeeld-audio per patch moeten gaan toevoegen.

Misschien moet je dat '2020' weghalen, schijnt niet zo'n goed jaar te zijn ;)
Ja goed punt, ik heb 't geupdated!
 
Nou, je zou bijv de grote synth vendors om mdf kunnen vragen (marketing development funds) aangezien je wel een driver bent voor sales in hun ecosysteem.
 
Dat is absoluut een waardevolle skill! Ik ben benieuwd of je leuke ideeën hebt over hoe de basis van MIDI Manager gratis kan blijven voor eindgebruikers en het project zelf tegelijkertijd kostendekkend en ads-free? Een gratis community groeit sneller dan een betaalde community, en de hoeveelheid content daarmee ook, dus iedereen heeft er belang bij dat er geen paywall voor komt. We zouden alles donation-based kunnen doen, maar dat is heel onvoorspelbaar. Er zijn wel wat mogelijkheden voor een marketplace (bv. 'premium banks' van bekende artiesten), maar dan krijg je het probleem dat je een patch niet écht kunt previewen omdat ie daarvoor zowieso eerst in z'n geheel naar je synth gestuurd moet worden. We zouden dan weer voorbeeld-audio per patch moeten gaan toevoegen.


Ja goed punt, ik heb 't geupdated!

Om even mee te denken, premium banks lijken me heel leuke feature, ook voor de makers zelf is een centraal platform iets heel waardevols (conforce hier kan wellicht meedenken). Aangezien zij hier ook inkomsten uit kunnen halen zullen we hopelijk ook actief dit gaan promoten (bijv. door demo's op youtube te maken/zetten waarnaar je kunt linken).

Verder lijkt het me dat mensen inmiddels wel bereid zijn om kleine betalingen te doen, je zou kunnen overwegen om een x aantal patches per dag gratis te maken maar voor meer dat je moet subscriben (of bijv. patreon moet zijn).

Voor exposure zou ik me, naast de klassieke bakken, ook wat energie in stoppen om huidige populaire bakken erin te krijgen, bijv. de microfreak of minilogue. tzt zou je zelfs kunnen overwegen om VST patches er in te krijgen
 
Virussen en browsers ja, maar sysex ???
Wie is verantwoordelijk voor schade bij gebruik van MIDI Manager ?

Het idee vind ik echter niet slecht, maar ik zelf gebruik liever geen internet in combinatie met sysex dumpen.
Het is inderdaad goed om over de security na te denken. Toevallig ben ik hier vanuit mijn dagelijkse werk veel mee bezig. Los van de standaard cloud-risico's kleven er wat theoretische risico's aan de Web MIDI API. Via WebMIDI kun je sysex-berichten naar je synth sturen en daarmee potentieel patches en/of firmware overschrijven. Aangezien dit als 'data loss' wordt gezien, vraagt Chrome daarom altijd eerst of 't toegang tot je MIDI devices mag hebben. Ook het 'fingerprinten' van je computer op basis van de MIDI-devices die aan je systeem hangen behoren tot de risico's. Een HTTPS-verbinding is daarom iig verplicht om Web MIDI te kunnen gebruiken, om manipulatie van internet-verkeer tussen de server en je browser uit te sluiten. Als je 'man in the browser' malware hebt draaien op je computer zou de frontend alsnog beïnvloed kunnen worden, maar in de praktijk zijn vrijwel alle 'man in the browser' attacks financieel gemotiveerd en gericht op bank en crypto websites. Op een synth is niet zoveel te halen voor een aanvaller en zolang MIDI Manager niet heel groot en bekend is, is het voor een aanvaller niet zo interessant om een complete aanval te gaan bouwen. Maar goed, je hoeft maar één keer pech te hebben voor een hoop ellende, dus ik vind het goed dat je het benoemd. Er zijn ongetwijfeld nog wel wat abuse-cases te verzinnen, daar heeft ieder product last van denk ik.

MIDI Manager draait qua authenticatie en database trouwens volledig op een Google Firebase-backend. Daarbij kunnen natuurlijk altijd nog implementatie-fouten gemaakt worden, maar de basis-security is daarmee echt wel een stuk hoger dan bij een huis-tuin-en-keuken-project. Authenticatie wil je niet zelf bouwen, dat gaat mis.

Ik denk overigens dat het een illusie is om te denken dat je lokale bestanden veilig zijn tegen internet-aanvallen. Veel malware geeft de aanvaller volledige toegang tot je computer. Dus het risico blijft altijd bestaan, tenzij je met je je muziek-computer 100% offline hebt draaien.
 
Om even mee te denken, premium banks lijken me heel leuke feature, ook voor de makers zelf is een centraal platform iets heel waardevols (conforce hier kan wellicht meedenken). Aangezien zij hier ook inkomsten uit kunnen halen zullen we hopelijk ook actief dit gaan promoten (bijv. door demo's op youtube te maken/zetten waarnaar je kunt linken).

Verder lijkt het me dat mensen inmiddels wel bereid zijn om kleine betalingen te doen, je zou kunnen overwegen om een x aantal patches per dag gratis te maken maar voor meer dat je moet subscriben (of bijv. patreon moet zijn).

Voor exposure zou ik me, naast de klassieke bakken, ook wat energie in stoppen om huidige populaire bakken erin te krijgen, bijv. de microfreak of minilogue. tzt zou je zelfs kunnen overwegen om VST patches er in te krijgen

Ja je hebt gelijk! Los van dat het tof is om de vintage bakken 'van internet te voorzien' vind ik het heel belangrijk dat populaire moderne synths aangesloten worden. De Mininova en Deepmind worden al (deels) ondersteund, maar ik zou het graag uitbreiden met synths als de Minilogue, Peak, Prophet, etc. Niet alle vendors documenteren hun sysex-spec even goed helaas, en soms wordt er zelfs ronduit geheimzinnig over gedaan (bv. voor de Moog Voyager of de Tempest). Dan moeten we terugvallen op reverse-engineeren en dat kost veel tijd per synth. En sommige synths zijn dusdanig complex qua parameter/patch/mod-structuur dat een config maken niet evident is (veel software editors lopen ook tegen dit probleem aan). Een pure sysex-dump opslaan is niet zo'n probleem, maar vaak zitten in een sysex-dump ook de name bytes (die we nodig hebben om de patch naam te tonen) en user-specifieke data zoals bijvoorbeeld een midi channel (dat kan variëren tussen de verschillende gebruikers). Als we dan niet exact weten om welke bytes het gaat, wordt het lastig om andermans patches naar jouw synth te sturen en zijn we in feite gewoon de online versie van Sysex Librarian.

Qua verdienmodel ben ik niet zo'n fan van kunstmatige limieten zoals X patches per dag. Dan liever op feature-niveau een onderscheid of synth-vendors in ruil voor een financiële ondersteuning de mogelijkheid te geven om hun nieuwste patches te promoten. We hebben nu al een Twitter-stijl 'official'-vinkje bij de originele patches van een synth gezet, zoals bijvoorbeeld voor de factory presets van de Roland JX-8P.

Het rechtstreeks kunnen linken van patches & banks wordt superbelangrijk, want daarmee geef je inderdaad de mogelijkheid om deze te promoten bij je YouTube-filmpje. Voorbeeld-link naar een JX-8P pad sound die ik recent heb gemaakt --> Het is een kwestie van eenmalig je MIDI-settings per synth instellen en vervolgens kun je 'm direct op je eigen synth testen.
 
Laatst gewijzigd:
paar premium midi-nootjes erbij om de patch te demonstreren misschien? Default Axel-F ;)
Ja, dat is wel een leuk idee! Momenteel sturen we alleen nog de patch zelf naar de synth, maar we kunnen net zo goed na het versturen van de patch nog een paar midi-nootjes nasturen. Waarschijnlijk moet er wel een setting komen om dat dan ook uit te zetten voor als je Axel-F zat bent. :P
 
Gaaf project! Ik was aan iets vergelijkbaars begonnen, een online patch-librarian/editor voor een aantal Waldorf synths, maar bij mij komen dit soort projecten nooit veel verder dan een prototype voordat ik de aandacht verlies en met een ander project verder ga. Ik ben helaas geen frontend developer dus ik kan je denk ik niet veel verder helpen.

Ik kan een aantal manieren bedenken om hier geld mee te verdienen. Een freemium model, gratis voor bijvoorbeeld 3 synths, betaald voor meer. Of gratis editors en betalen voor online opslag of iets dergelijks. Ik kan me voorstellen dat goed kan werken voor zoiets.
Je kan ook proberen vrijwillige bijdragen van je gebruikers te krijgen via bijvoorbeeld Patreon, maar volgens mij werkt dat alleen als je erg betrokken gebruikers hebt. En dat kost flink wat werk om voor elkaar te krijgen.
Of je kan proberen samen te werken met mensen die betaalde patches maken. Je zou distributie voor ze kunnen doen waarbij je een percentage van de verkoopprijs opstrijkt.

Een van de dingen waar ik voorzichtig mee zou zijn is intellectueel eigendom van de patches die jouw gebruikers op jouw website beschikbaar stellen. Hoe weet je dat die ook echt van hun zijn en niet illegaal uit een patch library gekopieerd zijn?
 
@4-Tek: Bedankt voor het meedenken! En ja, dat soort projecten herken ik. De uitvoering van een project is minstens zo belangrijk als het concept zelf. Goed om te weten dat je je al eens verdiept hebt in een aantal Waldorf-synths hebt. Die ondersteunen we nog niet, dus wellicht kom ik nog bij je terug om te zien of we ze als synth-model kunnen toevoegen.

Leuke suggesties voor het freemium-model! Gratis voor 3 synths klinkt heel redelijk voor de kleinere gebruiker. Je loopt bij dat soort limiet-gebaseerde freemium-modellen wel snel tegen het probleem aan dat mensen gewoon meerdere accounts gaan maken als omweg (maar op zich is het ook een compliment als men dat gaat doen). Met onderscheid op feature-niveau ipv aantal-niveau kun je dat makkelijker voorkomen.

Premium-patches van synth-guru's kunnen wel werken, maar dan moeten we dus een preview-optie op basis van samples gaan invoeren (anders ligt de sysex al bij je synth ;-).

Intellectueel eigendom van patches is wel een dingetje inderdaad. Op Facebook was daar in de Synthesizer Freaks group recent een interessante thread over. Uiteindelijk is het lastig om een klank te copyrighten, dat ligt anders dan het copyrighten van een stuk muziek (de combinatie van klanken/ritmes/noten/akkoorden/etc). Zeker bij eenvoudige synths met relatief weinig parameter-vrijheid. Waar we wel op moeten letten is dat men niet patches van andermans betaalde preset-website gaat uploaden, want daarmee ontnemen we zo'n partij inkomsten. Een patch is uiteindelijk gewoon een stapel bytes die prima te vergelijken is met een andere patch, maar dan moet je wel een duidelijke referentie hebben en zeker weten dat die andere patch daadwerkelijk het origineel is. Ik denk dat je met een reactieve report-functie een heel eind komt: als iemand kan aantonen dat een patch gejat is, dan moeten we die gewoon offline halen.
 
Goed om te weten dat je je al eens verdiept hebt in een aantal Waldorf-synths hebt. Die ondersteunen we nog niet, dus wellicht kom ik nog bij je terug om te zien of we ze als synth-model kunnen toevoegen.
Ik woon zowat om de hoek dus we kunnen makkelijk een keer tips en truuks uitwisselen. En ik heb een hoop synths staan waar je mee kan testen.
 
Intellectueel eigendom van patches is wel een dingetje inderdaad.
In het prille begin van het computer tijdperk heb ik zelf een tijdschrift uit gegeven : DIFREMO
Daarin werden DX7 patches afgedrukt, weergegeven met cijfers in tabellen, gevormd naar het 'DX-sjabloon', een 150 cijfers per patch... Na enige tijd begon ik te merken dat diezelfde patches verkocht werden door anderen op floppy disk's.
Weinig leuk gezien het immense werk dat ik daaraan bestede. Sommige vrienden spraken over rechtzaken aanspannen...
Nou ja, geef me een patch en ik verander ergens miniem wat waarden van een EG.
De patch is geen exacte copy meer maar klinkt nog steeds quasi gelijk.
Wat ga je daarmee bereiken in een rechtbank ?

Ik wil niet ontmoedigen, maar reken maar dat dit zal gebeuren.
Hoe ga je dat vermijden ?
 
Hoe ga je dat vermijden
idealiter is er meerwaarde in iets anders dan alleen de bytes: misschien een rating systeem, notificaties bij een synth of creator upload, uitleg/midi voorbeeld van evt modulatie, een (git) fork systeem van patch afstammelingen, zoeken/filteren op bepaalde parameters, een systeem voor vergelijkbare patches. Etcetera enzo :)
 
Back
Top