Hogy lehet programot csinálni? (lent)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Kb. sehogy. Ha eleve feltettél egy ilyen kérdést, akkor sehogy, mert ez azt jelenti, hogy nincsenek fizikai információd, nem ismered az egyes hangformátumok mibenlétét.
Léteznek programok, amik megkísérlik az adott átalakítást, de ez nagyon nem triviális téma, rengeteg matek kellene hozzá. A wav és az mp3 a hanghullámokat tárolja. A midi meg a kottát, amiből elő lehet állítani az adott zenét. A hangmintában ott van összekeverve egy csomó hanghullám, az egyes hangszerek által megszólaltatott fő frekvencia, meg annak az összes felharmonikusa. (Ráadásul az mp3 bele is rondít ebbe, eltűnnek felharmonikusok, illetve változik az amplitúdójuk. Emberi füllel hallgatva nem biztos, hogy észrevehetően, de pont eléggé ahhoz, hogy matematikailag problémát jelentsen.) Még ha meg is van, hogy milyen hangszerekből áll a zene, azoknak a hangszereknek milyen felharmonikusai vannak, akkor sem triviális a dolog. Kicsit olyan, mintha azt mondanám, hogy gondoltam három számra, az összegük 56, találd ki mi volt a három eredeti szám.
Pont ezért mondjuk egy mai pop, rock, stb… zene esetén a midi változatot kottaszerkesztővel hozzák létre, és nem konvertálás útján készítik el.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Mikor azt írom, hogy léteznek ilyen programok, amik megpróbálják ezt az átalakítást, akkor azt úgy kell érteni, hogy általában egy egyszólamú hangszer esetén még egész jól eltalálják a hangokat (pl. egy furulya esetén). Egy többszólamú hangszer esetén, mikor egy időben több hang is szól (pl. gitár, zongora), akkor már elég sokat tévesztenek. Mikor több hangszer is szól egyszerre, neadjisten még ének is van benne, akkor kb. használhatatlan a végeredmény. Pl. valami ilyesmi: http://www.youtube.com/watch?feature=player_detailpage&v=oTh..
(És itt nincsenek is különösebben akkordhangszerek, és az elején megadta, hogy milyen hangszerek vannak a zenében, ennek ellenére az eredmény szörnyű.)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Hát mint írtam, ez nem triviális kérdés. Vagy van egy korszakalkotó ötleted, vagy nincs.
De mindenképpen úgy kell elindulni, hogy wav esetén csinálsz egy gyors Fourier-transzformációt ( [link] ), illetve MP3-ból is lehet, de ott máshogy is meg lehet kapni a különböző frekvenciákat. Innen van ugye egy spektrumod. Ebből esetleg ki tudsz mutatni ismétlődő távolságokat a frekvenciák között, amiből lehet következtetni az alap frekvenciákra. (Ez meg lehet könnyíteni, hogy a legnagyobb amplitúdójú frekvenciák környékén keresgélsz.)
Meg persze kell egy csomó hangszerről minta, ami alapján tudod az adott hangszer – lehetőleg adott hangmagasságú – spektrális összetételét. Ezt végül is akár a MIDI hangmintáiból is veheted.
Innen jön a nem triviális rész, mert rá kell passzintani az „esélyes” hangmagasságokra a különböző hangok képét, és megnézni, melyik hangszerekből áll össze a legjobban az eredeti hangminta, stb…
Aztán lehet finomítani, optimalizálni, pl hangközöket, akkordvilágot nézni, és ez alapján kiszűrni a helytelenül felismert hangokat, és újrakezdeni a mintaegyeztetést.
Én valahogy így indulnék neki. De ha nem ismered az egész matematikáját, akkor inkább hagyd a fenébe, mert úgysem jutsz semmire. Esetleg tanulj ezekről többet, zeneelméletet fizikáról szóló részeit, stb… Illetve ha egy gyors Fourier-transzformációt sem tudsz algoritmizálni, akkor megint azt mondom, hogy túl magas feladat.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!