Přejít k navigační liště

Zdroják » Zprávičky » Kuriozita: zvukový syntezátor ve 140 znacích

Kuriozita: zvukový syntezátor ve 140 znacích

Zprávičky ‐ ‐ JavaScript, Různé ‐

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

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Nejvíce hlasů

Rust pomohl vrátit JPEG XL do Chromu. Stačí to k úspěchu na webu?

Před čtyřmi lety Google podporu JPEG XL z Chromu odstranil. Teď formát vrací s dekodérem v Rustu, který vznikl na popud vývojářů Firefoxu. AVIF přitom může nabídnout menší soubory a bezeztrátový WebP rychlejší dekódování. JPEG XL má jiné přednosti: velkou fotografii dokáže zobrazovat už během stahování a staré JPEGy zmenší bez další ztráty kvality. Vedle historie jeho návratu se podíváme na výsledky srovnání, bezeztrátovou kompresi i praktické nasazení jednotlivých formátů na webu.

ISO, WIN, nebo MAC? Válka o kódování češtiny na webu

Kdo se webem zabýval na přelomu tisíciletí, zná ten pohled: stránka se načte a místo české věty se na ní objeví změť znaků jako ą, ľ a ». Nebyla to chyba monitoru ani písma. Byl to následek války, která se na českém internetu vedla po dlouhá léta. Šlo v ní o zdánlivou maličkost: jak do jednoho bajtu vměstnat písmeno „ř“. Podívejme se, kdo v ní proti komu stál, proč ji nešlo vyhrát a jak skončila.