Jump to content
Annons

Kan man invertera ett ljudspår?


January12

Recommended Posts

pme (oregistrerad)
För att åstadkomma första inläggets förslag på invertering är det väl bara loopa igenom alla samplingar, om amplituden är störe än 0 så tilldelas den nya amplituden 1-orginalvärdet, och om amplituden är mindre än 0 så tilldelas den nya amplituden -1-orginalväldet)

// i en loop som snurrar igenom alla samples, orgAmpl är orginal-samplen, newAmpl är den nya samplen..

if (orgAmpl > 0)

newAmpl = 1-orgAmpl;

else if (orgAmpl < 0)

newAmpl = -1-orgAmpl;

else

newAmpl = 0; // detta är ju lite förvirrande, men vi räknar med att det aldrig är helt helt tyst i orginalljudet...

Skulle kunna sno ihop ett test men det orkar jag inte just nu...

edit: feltänk

Så där tolkar jag också bilderna. Och det låter illa kan jag meddela.

Link to comment
Dela på andra sajter

Annons
pme (oregistrerad)
Eller är det så att trådskaparen i det här fallet tänker sig att en invertering innebär att det mörka (låg tonhöjd) ljudet ska bli ljust och det ljusa (högtonhöjd) ska bli mörkt? eller att det ljudstarka ska bli svagt och det svaga bli starkt?

Precis så jag tänkte.

Om man skulle ta en trumsample t.ex. så skulle kaggen bli ett ljusare ljud och en hi-hat bli ett mörkare ljud.

Det som jag är mest nyfiken på är hur tal skulle låta. Till exempel skulle ett s-ljud som har en hög frekvens bli mörkare eller dovare. Självklart skulle ju styrkan också ändras.

om vi leker i ett spektrum på 20hz-20khz så skulle vi ha en median eller mitt någonstans strax under 10khz och alla frekvenser under det skulle alltså bli lika mycket över.

Jag önskar verkligen att det gick att genomföra för jag vill verkligen höra hur det skulle låta!

Fast det skulle i så fall inte alls se ut som dina bilder. Lite av effekten du är ute efter är som det låter när man lyssnar på "fel" sidband.

Har man en sinus ton och modulerar med en signal så uppstår det ett övre sidband och ett undre sidband kring sinustonen.

Filterar man bort det övre sidbandet och sinustonen har man bara det undre sidbandet kvar. Det blir en projektion där

höga frekvenser blir låga och låga blir höga.

Link to comment
Dela på andra sajter

"Problemet" är som jag skrev tidigare att den övre halvan av alla frekvenser kommer utgöra den översta oktaven av ljudet. Eftersom det är väldigt få ljud som innehåller nån "viktig" information så högt upp så kommer i princip allting bli till ett enda högfrekvent rassel. En hihat som du nämner t ex har det mesta av sitt intressanta ljudinnehåll långt under 10khz så även ett sånt ljud skulle alltså mestadels bli ljusare.

Man kan väl inte rotera det linjärt helt enkelt? Om vi räknar med att alla frekvenser mellan 20 och 20480 Hz är hörbara, det är tio oktaver. Säg att vi ska invertera 110 Hz, det är ett A i oktav två (om man börjar räkna på noll). Det inverterade värdet blir då ett A i oktav 9 - 2 = 7, alltså 3520 Hz.

Men det känns ändå ganska godtyckligt.

Link to comment
Dela på andra sajter

pme (oregistrerad)
"Problemet" är som jag skrev tidigare att den övre halvan av alla frekvenser kommer utgöra den översta oktaven av ljudet. Eftersom det är väldigt få ljud som innehåller nån "viktig" information så högt upp så kommer i princip allting bli till ett enda högfrekvent rassel. En hihat som du nämner t ex har det mesta av sitt intressanta ljudinnehåll långt under 10khz så även ett sånt ljud skulle alltså mestadels bli ljusare.

Man kan väl inte rotera det linjärt helt enkelt? Om vi räknar med att alla frekvenser mellan 20 och 20480 Hz är hörbara, det är tio oktaver. Säg att vi ska invertera 110 Hz, det är ett A i oktav två (om man börjar räkna på noll). Det inverterade värdet blir då ett A i oktav 9 - 2 = 7, alltså 3520 Hz.

Men det känns ändå ganska godtyckligt.

Borde inte ett inverterat B hamna ett tonsteg under A?

Link to comment
Dela på andra sajter

Analogfreak (oregistrerad)
"Problemet" är som jag skrev tidigare att den övre halvan av alla frekvenser kommer utgöra den översta oktaven av ljudet. Eftersom det är väldigt få ljud som innehåller nån "viktig" information så högt upp så kommer i princip allting bli till ett enda högfrekvent rassel. En hihat som du nämner t ex har det mesta av sitt intressanta ljudinnehåll långt under 10khz så även ett sånt ljud skulle alltså mestadels bli ljusare.

Man kan väl inte rotera det linjärt helt enkelt? Om vi räknar med att alla frekvenser mellan 20 och 20480 Hz är hörbara, det är tio oktaver. Säg att vi ska invertera 110 Hz, det är ett A i oktav två (om man börjar räkna på noll). Det inverterade värdet blir då ett A i oktav 9 - 2 = 7, alltså 3520 Hz.

Men det känns ändå ganska godtyckligt.

Borde inte ett inverterat B hamna ett tonsteg under A?

Tänk på att alla övertoner också ska inverteras... Det kommer låta snyggt tror jag... Där det normalt är paus kommer nivåerna slå i taket.. 😳

De energisvaga högfrekventa signalerna kommer efter invertering att bestå av lågfrekventa starka signaler.. Det blir jobbigt att lyssna på juuu... 😲

Link to comment
Dela på andra sajter

"Problemet" är som jag skrev tidigare att den övre halvan av alla frekvenser kommer utgöra den översta oktaven av ljudet. Eftersom det är väldigt få ljud som innehåller nån "viktig" information så högt upp så kommer i princip allting bli till ett enda högfrekvent rassel. En hihat som du nämner t ex har det mesta av sitt intressanta ljudinnehåll långt under 10khz så även ett sånt ljud skulle alltså mestadels bli ljusare.

Man kan väl inte rotera det linjärt helt enkelt? Om vi räknar med att alla frekvenser mellan 20 och 20480 Hz är hörbara, det är tio oktaver. Säg att vi ska invertera 110 Hz, det är ett A i oktav två (om man börjar räkna på noll). Det inverterade värdet blir då ett A i oktav 9 - 2 = 7, alltså 3520 Hz.

Men det känns ändå ganska godtyckligt.

Ja precis så måste man göra, som jag skrev innan, men det blir jobbigt att räkna exempel då. 😳 Och som sagt tänk på övertonerna... det kommer bara låta helt kajko.

För de första övertonerna till t ex ett C är ju ungefär C, G, C, E, G, Bb, C, D, E, F#, G... tätare och tätare ju högre vi kommer, till slut flera per halvton... Ska vi kasta om det så kommer det bli en jäkla gröt. 😲

Link to comment
Dela på andra sajter

  • 1 månad senare...
Penta_P (oregistrerad)

En intressant grundidé, men jag ser verkligen ingen nytta med det. 😛 Eventuellt kunde du ju försöka få tag i någon som är riktigt vass i linjär algebra eller något liknande och be honom sätta sig och skissa på några algoritmer, för det lär bli en del.

Link to comment
Dela på andra sajter

  • 8 månader senare...
  • 2 månader senare...
  • 3 månader senare...

Nu var det längesen någon skrev i den här tråden men jag har inte sett den förrän nu...

Jag funderade så här att om man tar t.ex. tonen A2 med övertoner:

A2 110 E3 164,81 A3 220 C#4 277,18 E4 329,63 A4 440 o.s.v.

så borde det inverterat på det sätt som nämns här bli:

A7 3520 E7 2637,02 A6 1760 C#6 1108,78 E5 659,26 A4 440 o.s.v.

i och för sig är det här enligt den tempererade skalan och övertonerna kommer inte ligga så i verkligheten men hittade ingen sådan tabell för toner

om man skulle göra så här skulle det i alla fall låta bra rent harmoniskt men klart annorlunda ton.

Jag vet att det i logic finns en plugg som alstrar en sinus ton vid ett visst inmatat frekvens. Om man laddar en sån per spår och frekvens och drar ner ljudet på övertonerna så att det låter som en ton och inte ett ackord, skulle man kunna pröva hur det låter. Har själv ingen sådan

En annan skum grej med det här är att inverterat försvinner A5 eftersom det normalt inte finns ett A mellan C#4 och E4 men det finns ett mellan C#6 och E5.

Redigerat av JonathanBerglund
Link to comment
Dela på andra sajter

Dessa tankar får en helt snurrig..

Men som pme sa så borde man inte utgå ifrån toner utan intervall.

Tar man ett Am, (A, C, E) i 5 oktaven och utgår ifrån att A5 är medianen (dvs om man inverterar A5 så blir det A5)(Vi bortser även ifrån alla övertoner för tillfället.)

Då borde tonerna i ackordet istället att bli D(Kvint NER från A5) F#(Liten ters NER från A5) och A. Detta bildar alltså ett D-dur.

Eller?

Man blir helt sjukt i huvudet när man tänker såhär mycket.. Jag lägger ner.. Haha

Mvh Rasmus

Link to comment
Dela på andra sajter

Men med en FFT-analys skulle det ju gå. Där får man alla frekvenser representerade i amplitud. Sedan vänder man på dom (maxvolym-ampl) och genererar en vågform utifrån det.. Dvs, vitt brus-orginalljudet.. Ingen som har matlab och kan prova? Vore spännande o höra hur det låter..
haha ja det blir det

kan inte någon överdrivet nördig och mattematiskt kunnig person programmera den här effekten, jag vill ha den

Varför frågade ni inte bara rakt ut? 😛

klockan är sen så jag reserverar mig för tabbar. hursomhelst gjorde jag en simulering av ett A dur (ren stämning med två övertoner) som jag fouriertransformerade och svepte runt 10kHz, låga frekvenser blev höga o tvärtom. kunde inte för stunden komma på nåt snyggare sätt att visa resultatet än som absolutbelopp, får återkomma på den punkten. jaja här är vad jag fick fram iallafall!

post-22621-1269909246_thumb.png

gonatt från fysikern!

Link to comment
Dela på andra sajter

Ser väldigt lovande ut, även fast jag inte helt förstod vad graf 5 och 7 visade

Frågan är ju om du kan exportera en ljudfil så man får höra

Och som tidigare nämnt så kanske det blir lite tråkigt om nästan all viktig information i låten ligger över 10´000 Hz (eller så är det då det blir roligt)

går det att anpassa din metod så den fungerar logaritmiskt alltså att mittpunkten ligger runt oktav 5?

Link to comment
Dela på andra sajter

Bli medlem (kostnadsfritt) eller logga in för att kommentera

Du behöver vara medlem för att delta i communityn

Bli medlem (kostnadsfritt)

Bli medlem kostnadsfritt i vår community genom att registrera dig. Det är enkelt och kostar inget!

Bli medlem nu (kostnadsfritt)

Logga in

Har du redan en inloggning?
Logga in här.

Logga in nu
×
×
  • Skapa ny...