Kuriozita: zvukový syntezátor ve 140 znacích
25. 10. 2011 11:30
Martin Malý
Mathieu Henry na svém blogu zveřejnil kuriozitu: JavaScriptovou funkci, která generuje zvukové soubory a vejde se do 140 znaků, tedy do jednoho tweetu.
function(f){for(var t=0,S='RIFF_oO_WAVEfmt '+
atob('EAAAAAEAAQBAHwAAQB8AAAEACAA')+'data';++t<3e5;)
S+=String.fromCharCode(eval(f));
return S}
Tato funkce vytvoří WAV soubor (mono, 8bit, 8kHz) podle předpisu. Její výstup pak můžete přiřadit do elementu Audio jako zdroj.
Ve skutečnosti tato funkce pouze zajišťuje zabalení zvukových samplů do obálky WAVE PCM, takže samotný zvuk negeneruje (a ani rošádu neumí). Samotný zvuk je generován funkcí f, která vypadá např. takto:
(t<<3)*[8/9,1,9/8,6/5,4/3,3/2,0][[0xd2d2c8,0xce4088,0xca32c8,0x8e4009][t>>14&3]>>(0x3dbe4688>>((t>>10&15)>9?18:t>>10&15)*3&7)*3&7]&255
Dále čtěte…
- Rozšířená dokumentace pro SproutCore 23. 5. 2012 15:04
- Flotr2 - javascriptová knihovna na grafy 17. 5. 2012 9:16
- Videa z JSConf 2012 zveřejněna 15. 5. 2012 10:40
- *JS aneb JavaScript ve stylu céčka 14. 5. 2012 12:00
- Illuminated.js - knihovna pro renderování v canvasu 11. 5. 2012 13:00