C++

maar ik wil mij beperken tot de allerbelangrijkste computertalen, en C++ wordt om de haverklap genoemd.


Ik herinner me dit uit een ander draadje:

Nee - dit wordt mij toch te gek! :stupidIk krijg er een knallende hoofdpijn van, en ik wil er geen jaren studie en oefening in gaan steken om een beetje met die nieuwe programmeertaal (SuperCollider) uit de voeten te kunnen en zelf programma's te kunnen schrijven. Dan maar wat minder geavanceerd.

Als je aan C++ begint is het in dit licht misschien de snelste route naar een permanente migraine?
 
Persoonlijk gezien, als ik een programmeertaal zou willen gebruiken om audio mee te genereren, dan zou ik hoofdzakelijk waw files willen kunnen maken die dmv bepaalde zelf geschreven algoritmes tot stand komen. Daar zou ik beginnen om dat te proberen te realiseren. Als ik dan een en ander werkend zou hebben zou ik verder gaan kijken of ik algoritmes kan uitbouwen, verbeteren of andere bewerkingen los te laten zoals bijvoorbeeld eenvoudige sequences te programmeren. Als dat eenmaal lukt zou ik gaan kijken hoe ik er een bruikbare interface omheen zou kunnen bouwen, ik zou dan denk ik beginnen met json files met data sets die ingelezen worden door mijn software, als dat lukt zou ik gaan kijken hoe ik de invoer van variabelen zou kunnen doen via bijvoorbeeld mouse input, midi whatever en een visuele interface gaan schrijven.

Ofwel, maak een idee, en dan een plan van aanpak, maar begin eenvoudig.
 
Laatst gewijzigd:
Wat @demian zegt. Kan met veel talen. Kijk dan ook 'ns naar PureBasic, dat is niet zo moeilijk en heb je al snel resultaat. Bevat heel veel functies en commando's die je in andere talen zelf moet programmeren. Vrij grote gebruikersgroep die je kunnen helpen en ondersteunen. Is redelijk snel en doel besturingssystemen zijn Windows, Linux, OS X en tegenwoordig ook iets specifieks voor Raspberry Pi, dacht ik.
 
Wat is een goed inleidend boek over C++?

Op de uni begonnen we ooit met Stroustrups handboek ("The C++ Programming Language"). Hij heeft later ook een introductieboek programmeren geschreven ("Programming -- Principles and Practice Using C++"). Er is ook een hele korte versie ("A Tour of C++ ").

Mijn dochter heb ik deze gegeven.. die is een stuk makkelijker (maar mist de finesse van de meester): "C++ Crash Course: A Fast-Paced Introduction".
 
In de jaren 80, begin '90, heb ik C professioneel gebruikt (voor Commodore in de UK). Daarna heb ik 25+ jaar Java gedaan. Daarna een tijdje verplicht geweest om C++ proberen te leren. Ik heb gevloekt.. ik vind het een snerttaal, o.a. door de problematische complexiteit ervan. Ongetwijfeld kan C++ heel krachtig zijn voor de pros.. maar het is geen taal dat je echt onder de knie zult hebben de eerste paar jaar indien je erin duikt. Dat gezegd zijnde, voor audio toepassingen vermoed ik wel dat C++ wel de way to go is.. (Java bevat een heel audio subsysteem, maar wordt bijna nergens gebruikt).
 
Ja ervaring met C++. Een goed inleidend boek voor C++... dat bestaat niet na mijn mening
Welk boek je ook leest als je geen enkele ervaring hebt met programmeren van C++, het is en blijft K*T.

Mocht je nog niet afgeschrikt zijn, nog 1 waarschuwing programmeren is een val waar je
niet uitkomt als je de smaak te pakken hebt en zeker met C/C++, alles is namelijk mogelijk

Als je een applicatie in gedachten hebt en je kan ermee weg komen door MaxMSP of PureData
te gebruiken... DAN DOE DAT VOORAL!

Ben je gestoord, heb je tijd teveel, geen relatie wat op de klippen kan lopen en eigenwijs.

begin hier eens:


You'll definitely need these.

Design Patterns //onthoud deze voor later

Boeken

The C++ Programming language - Bjarne Stroustrup
Effective C++ - Scott Meyers

Audio Boeken C++

Designing Audio Effect Plugins in C++ - Will Pirkle
Designing Sofware Synthesizer Plugins in C++ - Will Pirkle

The Audio Programming Book Richard Boulanger and Victor Lazzarini // Uitleg Boek in C maar DVD zit bomvol met C++ libs en software.

Audio library


JUCE | JUCE //Industry standard voor Audioplugins, GUI DSP etc

Heel veel plezier met het doorgronden van pointers, classes, templates, resource management en compilatie errors.

Tot over 5 jaar.
 
Dank voor alle antwoorden! :) Ik ben weer voldoende afgeschrikt. Mijn plan nu: ik wil zo ongeveer weten wat C++ is (ik ben altijd heel benieuwd wat er onder de motorkap zit), zonder er zelf daadwerkelijk in te gaan programmeren. Voor het zelf programmeren gebruik ik nu al PureData, Csound/Cabbage, ChucK, Faust, Python en SynthEdit (en dat lukt al redelijk).
 
Download gelijk ook even een ontwikkel omgeving zodat je je code kan schrijven, en organiseren en debuggen.

 
Dank voor alle antwoorden! :) Ik ben weer voldoende afgeschrikt. Mijn plan nu: ik wil zo ongeveer weten wat C++ is (ik ben altijd heel benieuwd wat er onder de motorkap zit), zonder er zelf daadwerkelijk in te gaan programmeren. Voor het zelf programmeren gebruik ik nu al PureData, Csound/Cabbage, ChucK, Faust, Python en SynthEdit (en dat lukt al redelijk).
Mooi, anders had je meer tijd met je QWERTY toetsen doorgebracht dan daadwerkelijk muziek gemaakt.

Daarentegen het onder de knie krijgen van C/C++ als programmeertaal is echter niet afdoende om Audio Applicaties
te schrijven. Vroeg of laat loop je er tegen aan en zul je ook DSP moeten trotseren........

Welcome to the Z-plane.
 
1657272303068.png
 
@Fifth Bot you have read my mind, you yedi-yoda....

maar toch, ik kwam dit tegen;



zij brengt het in een goed tempo, kon door deze snel gaan, ik heb ooit C geprogrammeerd, maar dat is wel zo'n 100 jaar gelee... en ja, @Disharmonic , ook Pascal..... wat ik ook een fijne taal vond. (en Forth, en later, sja.... javascript, en zelfs een kleine reputatie mee opgebouwd, haha, 10.000 regels, met libs, etc. parsers, databases, XML/XSLT parsers... pfff idioot projekt... maar wel visueel een website bouwen... goed... nostalgie... wel is het programma gebruikt door een amerikaanse animator/animatrice?, sally cruikshank, uiteindelik bouwde ik vrijwel alleen voor haar, terwijl ik het wilde gebruiken, maar inderdaad je verliest je erin, maakt er geen website mee, die ik graag wide maken, en de tijd haalde mij in... javascript is nu veel uitgebreider dan toen, meen ik, maar ik deed een primitieve OO, Object was toch het meest gebruikt, met prototype... en veel funkties, en libraries, aparte files...).

@Makuro dank voor de link naar geek, mooi voor overzicht.

ik ga niet in C++ programmeren, maar vind het nog steeds interessant, om wat zaken dieper te kennen van C++.

ik houd me maar bij Csound, heeele kleine stapjes. en tussentijds, Plogue Bidule, en wellicht later M4L (MAX), genoeg om te bereiken wat ik wil, maar soms....

en heb geen verstand van DSP....

@ProgHead door jou, besteed ik er wel meer aandacht aan, of zoek ik dingen op, maar toch, ik wil muziek maken, en door kombineren van wat ik allemaal heb, kom toch erg erg ver.

toch blijft het me trekken. een granulator bouwen, zoals ik die wil... (al ligt het idee al bij een developer, maar weet niet wanneer ie er mee aan de gang gaat, of dat nog wil).

goed, ik volg ik volg!
 
@Fifth Bot you have read my mind, you yedi-yoda....

maar toch, ik kwam dit tegen;



zij brengt het in een goed tempo, kon door deze snel gaan, ik heb ooit C geprogrammeerd, maar dat is wel zo'n 100 jaar gelee... en ja, @Disharmonic , ook Pascal..... wat ik ook een fijne taal vond. (en Forth, en later, sja.... javascript, en zelfs een kleine reputatie mee opgebouwd, haha, 10.000 regels, met libs, etc. parsers, databases, XML/XSLT parsers... pfff idioot projekt... maar wel visueel een website bouwen... goed... nostalgie... wel is het programma gebruikt door een amerikaanse animator/animatrice?, sally cruikshank, uiteindelik bouwde ik vrijwel alleen voor haar, terwijl ik het wilde gebruiken, maar inderdaad je verliest je erin, maakt er geen website mee, die ik graag wide maken, en de tijd haalde mij in... javascript is nu veel uitgebreider dan toen, meen ik, maar ik deed een primitieve OO, Object was toch het meest gebruikt, met prototype... en veel funkties, en libraries, aparte files...).

@Makuro dank voor de link naar geek, mooi voor overzicht.

ik ga niet in C++ programmeren, maar vind het nog steeds interessant, om wat zaken dieper te kennen van C++.

ik houd me maar bij Csound, heeele kleine stapjes. en tussentijds, Plogue Bidule, en wellicht later M4L (MAX), genoeg om te bereiken wat ik wil, maar soms....

en heb geen verstand van DSP....

@ProgHead door jou, besteed ik er wel meer aandacht aan, of zoek ik dingen op, maar toch, ik wil muziek maken, en door kombineren van wat ik allemaal heb, kom toch erg erg ver.

toch blijft het me trekken. een granulator bouwen, zoals ik die wil... (al ligt het idee al bij een developer, maar weet niet wanneer ie er mee aan de gang gaat, of dat nog wil).

goed, ik volg ik volg!


Ik zit zelf in de .NET wereld (web)application development met C#/Typescript, en heb ook wel eens een poging gedaan met C++ (game development), maar dan kom je wel snel van een koude kermis thuis als je vanuit een managed omgeving komt.

Ik zeg trouwens niet dat je niet snel enig resultaat kunt behalen mbt een nieuwe taal leren, maar dan heb je het over een "hello world" niveau. Mijns inziens gaat programmeren eigenlijk helemaal niet over de taal zelf (syntax & semantics). Dat is maar bijzaak en een middel om een bepaald doel te bereiken. Heb je een doel, dan zijn er 1000 niveaus om dat doel te kunnen bereiken (lees: algorythmes doorgronden, performance/memory optimization etc.) en dat vergt gewoon heel veel oefening.
Ik ben inmiddels 20jr bezig, na 3-5 jaar dacht ik dat het eindelijk redelijk onder de knie had, maar inmiddels ben ik er achter dat je eigenlijk oneindig bezig bent met bijleren en dat ik nog heel veel te leren heb :D. Het gaat tegenwoordig zo hard dat alles volgen niet meer bij te houden is, keuzes maken/specialiseren is dan beter....

en heb geen verstand van DSP....
Maar dat bedoel ik ook, heb je een beetje een taal geleerd, dan ben je er nog lang niet, je moet er wat mee doen, in dit geval met DSP aan de slag, da's een wereld apart....

Dit is overigens niet bedoeld om te ontmoedigen, integendeel, juist goed bedoeld advies, leg de lat niet te hoog en begin lekker klein..., daarom zei ik ook Max met javascript (PureData of die anderen die genoemd worden zal ook prima zijn).
 
Labview is wel weer geschreven met c++ en dat heeft als voordeel dat je vrij gemakkelijk 🙄 dll files kan linken in programma's.
Ok, heeft niks met muziek te maken... 🥴 carry on..
 
Mijns inziens gaat programmeren eigenlijk helemaal niet over de taal zelf (syntax & semantics). Dat is maar bijzaak en een middel om een bepaald doel te bereiken. Heb je een doel, dan zijn er 1000 niveaus om dat doel te kunnen bereiken (lees: algorythmes doorgronden, performance/memory optimization etc.) en dat vergt gewoon heel veel oefening.

heb je geheel gelijk in. ik programmeer ook niet meer vanwege dat ik geen doelen heb. C++, is meer, ik vind soms leuk om de taal wat beter te leren kennen, pointers ken ik wel, de basiszaken, vanuit C. maar classes, structures (dat is ook C), structures ben ik op een of andere wijze vergeten.

vooral classes, namespaces (was ook al in javascript, heerlik). dus geen doel, dus doe het soms, een beetje.

ik schrijf, dat was al duidelik, hoe ik schrijf, er is een invloed van programmeren aanwezig, of programmeertalen. niet vreemd. hoe precies... sja, nogal op eigen wijze...

Ik ben inmiddels 20jr bezig, na 3-5 jaar dacht ik dat het eindelijk redelijk onder de knie had, maar inmiddels ben ik er achter dat je eigenlijk oneindig bezig bent met bijleren en dat ik nog heel veel te leren heb :D. Het gaat tegenwoordig zo hard dat alles volgen niet meer bij te houden is, keuzes maken/specialiseren is dan beter....

o dat klopt, ik heb niets tegen bijleren, ik vind dat juist heerlik, of blijven leren/studeren, maar als het materiaal konstant verandert, zoals een programmeertaal, of een vorm van aanpak, sja...

Maar dat bedoel ik ook, heb je een beetje een taal geleerd, dan ben je er nog lang niet, je moet er wat mee doen, in dit geval met DSP aan de slag, da's een wereld apart....

ja daarom zei ik het ook, ik denk dat ik de basis van C++ vrij snel onder de knie zou kunnen krijgen, vanwege de achtergrond die ik al heb, maar dan is het nog zeer specifiek voor DSP kode, en natuurlik optimalisaties, etc... SIMD, float/double, math funkties die veel cycles kunnen kosten, en andere juist weer niet.

dat is inderdaad een wereld op zich.
Dit is overigens niet bedoeld om te ontmoedigen, integendeel, juist goed bedoeld advies, leg de lat niet te hoog en begin lekker klein..., daarom zei ik ook Max met javascript (PureData of die anderen die genoemd worden zal ook prima zijn).

idd, daarom eerst Bidule, met MAX, ik was vergeten dat je daar ook javascript in kunt gebruiken.

Puredata spreekt me ook aan.

The Theory and Techniques of Electronic Music - Miller Puckette

dank! @Grumble dank voor de link!

wat ik het liefst zou doorgronden; spectral; FFT (met reële en imaginaire getallen (moet ik getallen zeggen?), dat moet ik ff doorkrijgen, zelfs bij Bidule of niet? o ja, MAX, doet reëel en imaginair zeker, Bidule? kom ik achter, is makkelik, achter te komen..), en granular...

Csound, Puredata, Max, Bidule, Supercollider...

goed, ik sprong in, omdat ik even wakker werd van het programmeren, het is heerlik om te programmeren, maar wanneer geen doel, niet, vanzelfsprekend.

genoeg voorbeelden te vinden, Csound en granular b.v., heel veel mogelikheden, en voordelen, nadelen van de opcodes, of andere implementaties, zonder opcodes... etc. etc.

heel langzaam, en dan bedoel ik een paar jaar, wellicht, haha... of wie weet zit ik eens een dag, met Csound te werken, de voorbeelden, en snap ik een buffer, en manipulatie, en ga ik aan de gang....

ik ontmoedig mijzelf al, want het heeft weinig nut, je zo te gaan koncentreren, op wat ik in zekere zin al kan, met een kombi van plugins, programma's (Cecilia 5, b.v.). of andere methoden, die bijna dezelfde resultaten geven, goed zoveel mogelikheden.

dit zij-onderzoek geeft me altijd wel meer inzicht in de techniek waarmee ik werk, en dat kan ik inkorperen, al vergeet ik meer dan de helft, merk ik: ik kan een aantal synths veel beter begrijpen, ik weet wat ik doe....

ik ben 30+ bezig met schrijven, heb een oeuvre, ik noem het een corpus, dat staat, of ligt.....
en nog immer, ik moet weer opnieuw beginnen, hoe zeer ik ook materiaal beheers, waarschijnlik juist daarom, ik heb wel het uiterste uit de materie gehaald op een bepaalde, unieke wijze.

dank voor de reakties! opent wel dingen, en breekt ook dingen open, zelfs voor schrijven.... wellicht heb dit nodig voor het schrijven, niet voor muziek (al zijn ze wel verbonden, wat ik schrijf kent een grote bron in de muziek, een aantal procedes, of algoritmen....)

goed....
 
Ik zie niet zo dat na een redelijke beheersing van een taal dan onmiddellijk een beheersing van DSP moet volgen als je je met audio wil bezighouden. Tenminste, DSP in de zin van wat gebruikelijk is in audiosoftware. Om te experimenteren kan het juist wenselijk zijn om 'ns in hele andere richting te kijken, om tot iets nieuws te komen. Het is dan wel een vorm van signal processing, en het is digitaal, maar de gebruikte algoritmes, werkwijzen e.d. kunnen uit een heel andere hoek komen. Flink studeren op de gebruikelijke DSP in de audiowereld kan juist belemmeren dat je tegen iets anders aanloopt.
 
Ik zie niet zo dat na een redelijke beheersing van een taal dan onmiddellijk een beheersing van DSP moet volgen als je je met audio wil bezighouden. Tenminste, DSP in de zin van wat gebruikelijk is in audiosoftware. Om te experimenteren kan het juist wenselijk zijn om 'ns in hele andere richting te kijken, om tot iets nieuws te komen. Het is dan wel een vorm van signal processing, en het is digitaal, maar de gebruikte algoritmes, werkwijzen e.d. kunnen uit een heel andere hoek komen. Flink studeren op de gebruikelijke DSP in de audiowereld kan juist belemmeren dat je tegen iets anders aanloopt.

Toch zeker als je niet iedereen klakkeloos wil copiëren . Uiteindelijk zijn het allemaal maar tools om ergens te geraken. Het idee is altijd belangrijker dan de uitvoering ervan ... niemand ligt nog wakker van de beste Minimoog emulatie ...
 
Het leuke is als je externals voor max msp of puredata in c schrijft dan kun je je focussen op een klein stukje code en dat dan in je patch gebruiken.
Zodoende kun je ervaring opdoen zonder het al te complex word.

Ik ben dat nu in max aan het doen.

Hier hoe je dat in Pd kan doen.
 
Back
Top