geluid zoeken: grafische manier

lievendv

Nieuwkomer
Lid sinds
19 januari 2009
Berichten
14
Beste specialisten en hobbyisten,

Het synthforum is de beste plaats om deze vraag te stellen, ongetwijfeld.

ik ben op zoek naar een hoop geluiden om het gitaren wat "synthier" te laten klinken.

De conventionele antwoorden zijn dan : "gebruik een fuzz etc"
Maar in vele gevallen neigen fuzzes nogal hard naar overdrives of distortions.

ik ben meer op zoek naar een zekere buzz.
En deze wil ik vrij precies bepalen weliswaar.

Ik ben op zoek naar software, een website, whatever die 1 en/of liefst meerdere van de volgende zaken voor me kan doen:

- een functievergelijking invullen en die grafisch weergeven maar ze ook laten horen (geluid is in essentie een sinuscurve met al dan niet wat aanpassingen).
- de mogelijkheid om met parameters te spelen (constantes, amplitudes,..)
- de mogelijkheid om functies "op te tellen" om nieuwe, meer gecompliceerde functies te krijgen.
- te vet zou ook de omgekeerde weg zijn; een benadering qua winskunde functie die gemaakt is op basis van een schets van de vorm van de wave (zou dit bestaan?)
- indien de wiskunde er niet echt bijgaat, zal ik toch iets nodig hebben dat van de manipulatie van de grafische weergave van de wave, er een geluid kan opgebouwd worden

in other words: ik zoek iets waarmee ik de wiskunde en het geluid kan combineren en de exacte vergelijking kan bepalen van het geluid dat ik zoek. Ik zoek een tool om mij te laten experimenteren met geluid dmv van de wiskundige vergelijkingen die erachter zitten.

een van de modificaties die zeker included zal zijn is de volgende:
(als je de waveforms bekijkt; van sine van square shape zal u dat zeker niet vreemd zijn :) )


Dit allemaal om, met de hulp van een Amerikaanse kennis, dit in hardware om te gaan zetten. hij kan dmv een programmeertaal die we beiden min of meer beheersen, gaan porten naar hardware om de pc overbodig te maken en toch die bepaalde sound te gaan creëren.

Van zo ver ik een beetje ervaring heb met audio programma's; heb ik al een paar keer gezien dat je adhv cutoff, envelope etc een grafische voorstelling krijgt van de waveform. (al gezien in FLoops etc denkik)
zoiets dus, maar dan met de wiskunde derbij


quite a sandwich (wa nen boterham!) maar ik hoop dat jullie mij in een goeie richting kunnen duwen!
 
Je maakt het jezelf niet makkelijk :)

Het grootste probleem is dat digitaal geluid op de computer niet gegenereerd wordt met de pure mathematische functies (Bv een zaagtand is een algoritme dat op het tempo van de samplerate -bv 44100 keren per seconde- de opeenvolgende getallen geeft tussen -1 en 1. Als het getal 1 bereikt wordt, begint de teller weer bij -1. ) en niet als een "oneindige" verzameling van sinussen met elk hun amplitude. Dit is een voorbeeld van Digital Signal Processing, hetgeen een gans vak apart dan de zuivere wiskunde is.

Vanaf je je formules gaat discretiseren zal je op een helse hoop problemen stoten.

Er bestaan programmeertalen die op muziek gericht zijn, waarmee je kan experimenteren. Gratis software is Synthedit, betalende zijn Reaktor, Max\msp, Synthmaker.
Volgens mij komt dit het dichtste bij wat je zoekt.

te vet zou ook de omgekeerde weg zijn; een benadering qua winskunde functie die gemaakt is op basis van een schets van de vorm van de wave (zou dit bestaan?)

Zoek eens op het net naar Fourier analyse, DFT, FFT enz...
 
Da's inderdaad een serieuze boterham.

Als je echt wiskundig aan de slag wil, kan ik je Matlab aanraden. Ik moest met deze software werken tijdens mijn opleiding (had in se niets met geluid te maken).

De dingen die jij aanhaalt kan je hier allemaal mee doen. Je kan een functie opstellen en beluisteren/grafisch weergeven. Je kan .wav-bestanden inladen en exporteren.

Wiskundig kan je doen wat je maar wil (lees: zo ingewikkeld je maar kan). Een filter kan je bvb gemakkelijk nabootsen na een tranformatie van je signaal in zijn frequentiespectrum, wat aanpassingen en weer terug. ADSR kan je gewoon doen door een vermenigvuldiging van je curve met je signaal. Samplerates zijn eenvoudig aan te passen ... mogelijkheden legio. Mijn grootste beperking was toen mijn eigen verstand en begrip van de theorie.

Ik heb me er toen best wel mee geamuseerd. Let wel een beetje op, heb één van de tweeters van m'n stereo verknoeid door te veel rare geluiden.

Het enige probleem is dat deze software volgens mij redelijk duur is. Indien je in een academische omgeving werkt, kan je er misschien nog wel aan geraken.

Laat je hier iets weten van het resultaat van je zoektocht? Lijkt me reuze interessant.
 
Da's inderdaad een serieuze boterham.

Als je echt wiskundig aan de slag wil, kan ik je Matlab aanraden. Ik moest met deze software werken tijdens mijn opleiding (had in se niets met geluid te maken).

De dingen die jij aanhaalt kan je hier allemaal mee doen. Je kan een functie opstellen en beluisteren/grafisch weergeven. Je kan .wav-bestanden inladen en exporteren.

Wiskundig kan je doen wat je maar wil (lees: zo ingewikkeld je maar kan). Een filter kan je bvb gemakkelijk nabootsen na een tranformatie van je signaal in zijn frequentiespectrum, wat aanpassingen en weer terug. ADSR kan je gewoon doen door een vermenigvuldiging van je curve met je signaal. Samplerates zijn eenvoudig aan te passen ... mogelijkheden legio. Mijn grootste beperking was toen mijn eigen verstand en begrip van de theorie.

Ik heb me er toen best wel mee geamuseerd. Let wel een beetje op, heb één van de tweeters van m'n stereo verknoeid door te veel rare geluiden.

Het enige probleem is dat deze software volgens mij redelijk duur is. Indien je in een academische omgeving werkt, kan je er misschien nog wel aan geraken.

Laat je hier iets weten van het resultaat van je zoektocht? Lijkt me reuze interessant.

Ik ga me even abonneren op deze thread.

'k Heb ooit eens een cursus numerieke analyse gehad (interpoleren van functies o.a.)

Hoe gaat dat in z'n werk in Mathlab dan? Een cycle van een golfvorm inladen, waarna deze wordt geïnterpoleerd. En hoe? Als som van sinussen (zie Fourier)? Met een polynoom?
 
Wel eens van MAX/MSP gehoord? Dat biedt je de mogelijkheid om behoorlijk diep te gaan met dit soort dingen en tegelijkertijd meteen te testen via een audio uit.
En al doende bouw je ook al meteen een stuk van de interface

Maar het is rechts- of linksom een hooop werk :)

ps. Volgens mij is dat youtube filmpje niet echt gebaseerd op fourier analyse maar gewoon een stukje additieve synthese (of heet dat dan ook al meteen Fourier) :geslaagd:
 
- te vet zou ook de omgekeerde weg zijn; een benadering qua winskunde functie die gemaakt is op basis van een schets van de vorm van de wave (zou dit bestaan?)
Wow, dit zou heel vet zijn maar ik vrees dat als je simpelweg een geschetste golfvorm wil omzetten in een formule deze operatie een floating-point madness wordt waar je een halve supercomputer voor nodig hebt.

Echter zul je hier wel een middenweg in kunnen vinden door het meer te zien als dat je een soort raster hebt waar je via rasterpunten lijnen kunt trekken met bepaalde variabelen zoals booglengte, curve etcetera. Als je hier een functiedatabase aan vastknoopt met honderden functies die al deze korte lijnstukken kunnen beschrijven kun je op een relatief sketchy manier toch zeer complexe golfvormen maken terwijl je minder rekenkracht nodig hebt.
Immers, als je alle eenvoudige functies waarmee je je golfvorm hebt "geschetst" bij elkaar optelt heb je toch een complexe functie (en dus golfvorm!!)

Ik hoop dat ik je duidelijk heb gemaakt wat ik bedoel.
 
Hoe gaat dat in z'n werk in Mathlab dan? Een cycle van een golfvorm inladen, waarna deze wordt geïnterpoleerd. En hoe? Als som van sinussen (zie Fourier)? Met een polynoom?

Als ik me niet vergis (is ondertussen meer dan vijf jaar geleden) werk je in Matlab met een soort matrices. Een van de kolommen is dan een tijdschaal en in de tweede kolom bereken je dan bijvoorbeeld een sinusfunctie van de waarden in de eerste kolom. Je eerste golf is dan een feit.

Dan kan je de verschillende waarden uit de kolommen uitzetten in een grafiekje en naar hartelust wiskundige formules toepassen op de kolom met de geluidsdata. En functies als FFT e.d. zijn allemaal voorzien in de software.

Matlab is een krachtige rekensoftware die zich goed leent voor theoretische signaalverwerking. Het is wel geen software ontwikkeld voor geluid alleen. Je kan ook geweldige dingen doen met plaatjes en dergelijke. Alles wat je enigszins in een matrix kan duwen kan je wiskundig aanvallen.

Maaaar, het is dus inderdaad digitaal en daarmee verlies je een deel van je gegevens. Het blijft een benadering van de werkelijkheid (cfr JugJug).
 
Als ik me niet vergis (is ondertussen meer dan vijf jaar geleden) werk je in Matlab met een soort matrices. Een van de kolommen is dan een tijdschaal en in de tweede kolom bereken je dan bijvoorbeeld een sinusfunctie van de waarden in de eerste kolom. Je eerste golf is dan een feit.

Dan kan je de verschillende waarden uit de kolommen uitzetten in een grafiekje en naar hartelust wiskundige formules toepassen op de kolom met de geluidsdata. En functies als FFT e.d. zijn allemaal voorzien in de software.

Matlab is een krachtige rekensoftware die zich goed leent voor theoretische signaalverwerking. Het is wel geen software ontwikkeld voor geluid alleen. Je kan ook geweldige dingen doen met plaatjes en dergelijke. Alles wat je enigszins in een matrix kan duwen kan je wiskundig aanvallen.

Maaaar, het is dus inderdaad digitaal en daarmee verlies je een deel van je gegevens. Het blijft een benadering van de werkelijkheid (cfr JugJug).

Ik weet wat Matlab inhoudt en ook wat je hierboven beschrijft, maar ik zie niet in hoe het de topicstarter kan helpen om een bestaand al dan niet digitaal signaal te benaderen met een functie? Er wordt een wiskundige vergelijking gevraagd die de grafiek van de golfvormfunctie (of althans één periode ervan) beschrijft. Met andere woorden: de (missing) link tussen de tijd en de amplitude bij elke sample.
 
Gaat het je nou om het zelf maken of om een goed resultaat?
 
Ik weet wat Matlab inhoudt en ook wat je hierboven beschrijft, maar ik zie niet in hoe het de topicstarter kan helpen om een bestaand al dan niet digitaal signaal te benaderen met een functie? Er wordt een wiskundige vergelijking gevraagd die de grafiek van de golfvormfunctie (of althans één periode ervan) beschrijft. Met andere woorden: de (missing) link tussen de tijd en de amplitude bij elke sample.

Je hebt helemaal gelijk, maar voor elke wiskundige bewerking die je op de gegevens loslaat, kan je ook je theoretische vergelijking aanpassen.

Je werkt dus als het ware in de omgekeerde richting dan de vraagstelling hierboven, maar het helpt je reuze om een beter begrip te krijgen.

Je kan inderdaad ook proberen een willekeurig signaal te benaderen door een hoge-orde polynoom of één of andere vieze functie, en dan kan je software gebruiken om je verschillende parameters van je functies te finetunen door bvb iteratief op zoek te gaan naar een zo klein mogelijke afwijking tussen je oorspronkelijke software en je begingeluid.

Het is echter niet zo gemakkelijk voor een beginner (en ik spreek dan enkel over mezelf), om een goed idee te hebben van wat voor type functie het best geschikt is om een bepaald geluid te benaderen. Al ben ik er stellig van overtuigd dat er bergen interessante literatuur bestaan over dit onderwerp.

Voor mij was het indertijd erg interessant om meer begrip te krijgen over de samenstelling van signalen door vanuit de wiskundige formule te vertrekken en te kijken waar ik uitkwam. Met dit inzicht kan je dan misschien achteraf in de andere richting werken.
 
Een golfvorm MOET je uit sinussen samenstellen (bedankt Fourier), maar de enige mogelijkheid om dat te weten te komen is bij mijn weten door naar het FFT-spectrum te kijken. Dan zit je in de additieve synthese.

De moeilijkheid is: een spectrum is iets continu, hoe ga je dat omzetten (inverse FFT) in een eindige som van sinussen. Welke pieken zijn belangrijk, welke verwaarloosbaar. Wiskundig gezien? Muzikaal gezien?

Ik denk zomaar wat hardop, maar ik ben wel zeer benieuwd of hier al vorderingen in zijn.
 
Ik wil er nog ff aan toevoegen dat de wiskundige formule niets of weinig zegt over de aard van het signaal en hoe het door ons ontvangen wordt. Daarom lijkt het me nuttiger voor de TS om eens flink te experimenteren met modulaire synthese met oscilloscoop, en een spectroscoop erachter.
Dan zie je hoe een square wave verandert onder invloed van een high- of lowpassfilter, of dat afgeronde glofvormen minder harmonischen hebben dan hoekige golfvormen, hoe FM er uitziet enz...
Deze informatie is volgens mij veel waardevoller dan het uitrekenen van golfvormen.

De conventionele antwoorden zijn dan : "gebruik een fuzz etc"
Maar in vele gevallen neigen fuzzes nogal hard naar overdrives of distortions.

een van de modificaties die zeker included zal zijn is de volgende:
(als je de waveforms bekijkt; van sine van square shape zal u dat zeker niet vreemd zijn )

Wat een overdrive feitelijk doet is door je signaal tegen een plafond te duwen, er een blokgolf van maken. Beiden zullen ongeveer hetzelfde karakter hebben...enkel zal de digitale variant schel klinken en vol aliasing zitten.
 
Een golfvorm MOET je uit sinussen samenstellen (bedankt Fourier), maar de enige mogelijkheid om dat te weten te komen is bij mijn weten door naar het FFT-spectrum te kijken. Dan zit je in de additieve synthese.

De moeilijkheid is: een spectrum is iets continu, hoe ga je dat omzetten (inverse FFT) in een eindige som van sinussen. Welke pieken zijn belangrijk, welke verwaarloosbaar. Wiskundig gezien? Muzikaal gezien?

je deelt het op in klein stukjes, fft window

- een functievergelijking invullen en die grafisch weergeven maar ze ook laten horen (geluid is in essentie een sinuscurve met al dan niet wat aanpassingen).

dit kan trouwens ook gewoon met synthedit (freeware)
Supported Math functions:
*, /, +, -, ^,sin,cos,tan,asin,acos,atan,sinh,cosh,tanh,exp,log,log10,sqrt,floor,ceil,abs,hypot,deg,rad,sgn,min,max
Inputs:
Signal In - Input signal
Outputs:
Signal Out - Output signal
 
Een golfvorm MOET je uit sinussen samenstellen (bedankt Fourier), maar de enige mogelijkheid om dat te weten te komen is bij mijn weten door naar het FFT-spectrum te kijken. Dan zit je in de additieve synthese.

De moeilijkheid is: een spectrum is iets continu, hoe ga je dat omzetten (inverse FFT) in een eindige som van sinussen. Welke pieken zijn belangrijk, welke verwaarloosbaar. Wiskundig gezien? Muzikaal gezien?

je deelt het op in kleine stukjes, fft window

- een functievergelijking invullen en die grafisch weergeven maar ze ook laten horen (geluid is in essentie een sinuscurve met al dan niet wat aanpassingen).

dit kan trouwens ook gewoon met synthedit (freeware)
Waveshaper2

Supported Math functions:
*, /, +, -, ^,sin,cos,tan,asin,acos,atan,sinh,cosh,tanh,exp,log,log10,sqrt,floor,ceil,abs,hypot,deg,rad,sgn,min,max
Inputs:
Signal In - Input signal
Outputs:
Signal Out - Output signal

heb je er oscilloscopejes en save-as-vst gratis bij :eureka:
 
je deelt het op in kleine stukjes, fft window

In spectrumweergave is window size gelukkig instelbaar, want gedetailleerde spectrale informatie kan dikwijls niet weergegeven worden op een scherm (wegens beperkingen pixels, langere berekentijd realtime).

Maar je wilt toch niet je spectrum herleiden naar 4096 meetpunten en dan gaan proberen na een IFT de bijhorende functie te interpoleren. Hoe worden die 4096 punten gekozen? Wiskundig of muzikaal? :).
 
Gitaarsynth?????

nee, dat was het "makkelijke" antwoord geweest hé :)
een gitaarsynth kopen valt niet binnen het te bereiken doel.

Het resultaat dat ik wil bekomen is een "synthese" van
"begrijpen"
"manipuleren"
en
"toepassen"

die wiskunde en die vorm van die waves die erachter zit dient om er programmatorisch met syntax mee om te gaan.

Ik lever die tech guy de "theorie" aan hij gaat proberen dat te bereiken aan de praktische kant. ons raakvlak is de syntax. (ChucK etc, die PureData ben ik oo kal aan het beijken geweest. ben zelfs al wat aan het moozen geweest met de Minim modulevan Processing)

Bedankt iedereen voor een hele hoop nuttige info en leads.
Jullie posts leverden mij nog meer op dan ik hoopte :maffia:

Ik hou jullie op de hoogte!
 
De beste buzz-geluiden hoorde ik in geluid van lagere bitrate (van 16bit verlaagd naar- of gesampled op 12bit of zelfs 8bit). Je kan eens proberen om je geluid door een effect te halen dat het verlagen van de bitrate toelaat. Echte buzz-geluiden kan je sneller bereiken op deze manier, dit is geloof ik maar heel moeilijk bereiken met louter mathematische synthese.

Experimenteren is de boodschap.
 
Back
Top