Onko jotain keinoa, jolla käsitellä ja manipuloida ääntä Windowsin API-funktioilla.
Tarkemmin haluaisin pystyä soittamaan MP3-tiedostoja, ja äänentoiston aikana napata äänestä näytteitä esim. 10 ms:n välein johonkin taulukkoon.
Tarkoitus olisi pystyä vertailemaan kahta MP3-tiedoston äänentoiston samankaltaisuutta. Vertailu tapahtuisi siten, että verrataan kahdesta MP3-filestyksestä napattuja näytejonoja toisiinsa.
Tällä hetkellä ei ole harmainta aavistusta, miten voisin homman tehdä. Osaan kyllä soittaa MP3-tiedostoja mciSendString ja mciSendCommand-funktioilla, mutta tuo näytteiden ottaminen on tällä hetkellä pimeän peitossa.
Aiheesta oli hiljattain keskustelu:
https://www.ohjelmointiputka.net/keskustelu/6908-äänikortin-line-in-signaali-käsittelyyn
Itse lähtisin tekemään tuota niin, että hankkisin jonkun DLL-kirjaston, joka osaa purkaa MP3-tiedoston näytejonoksi. MP3:n soittaminen MCI:llä ja siitä näytteiden nappailu tuntuisi aika purkalta viritykseltä :)
Esimerkiksi mpg123:n mukana tulee mpglib jolla homman pitäisi onnistua; kunhan ensin saat käännettyä ko. kirjaston DLL:ksi :)
http://www.nctsoft.com/products/NCTAudioStudio2/
Ei winapi mutta... sisältää paljon ominaisuuksia mutta näyttää mainoksen ellei maksa
Onnistuisko DirectSoundilla? Tosin DirectSound ei pysty käsittelemään MP3-tiedostoja, mutta kai wav-tiedostot voi jotenkin muuttaa MP3:ksi ja toisinpäin?
Aihe on jo aika vanha, joten et voi enää vastata siihen.