Visar inlägg med etikett Söndags-nörderi. Visa alla inlägg
Visar inlägg med etikett Söndags-nörderi. Visa alla inlägg

2008-07-06

Massor av ljud i Python

Jag (erkänner helt öppet att jag) läste senaste numret av Linux Weekly News, där jag hittade nyheten att One Laptop Per Child-projektet har släppt ett samplingsbibliotek med över 8000 samplingar för fri nedladdning. Jag vet inte hur just du skulle reagera på en sådan nyhet, men min reaktion var att jag kände att jag måste skriva ett program som slumpar fram "musik" ur den här högen ljud.

Mina tidigare erfarenheter av att skriva ljudkod i mitt standardspråk C är att det brukar bli för jobbigt och att jag ger upp. Men Python då? Det har jag ju ändå tänkt lära mig någon gång. Att programmera i Python är typ 1000 gånger enklare än C, om man kan det, och det finns rutiner för att ladda och spara ljudfiler i standardbiblioteket. Bara att köra alltså. Jag skrev lite kod för att ladda och spara ljudfiler, vilket tog fem minuter. Mitt nästa steg var att testa lite enkla manipulationer av ljudbufferten. Där tog det stopp i över en timme, medan mr. Python n00b försökte ta reda på hur en int kan tryckas in i en sträng av bytes. I C hade man castat och varit klar. I Python, lärde jag mig till slut, kan man använda struct.pack(). Så nu sitter jag här med ett program på 21 rader som kan vända på en sampling, och känner mig nöjd tills vidare.

Kanske orkar jag vidare imorgon. Det känns som om jag har löst det ena av två svåra problem nu. (Det andra är hur jag ska få tag på 10GB ledigt diskutrymme till samplingarna.)