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ší Most Voted
Inline Feedbacks
Zobrazit všechny komentáře

Konec npm tokenů: publikujte balíčky bez secrets přes GitHub Actions

Publikování npm balíčků pomocí dlouhodobých tokenů uložených v GitHub Secrets je pohodlné, ale riskantní. Od léta 2025 nabízí npm elegantnější řešení: Trusted Publishers s OIDC autentizací, které tokeny zcela nahrazují. Žádné secrets, žádná rotace, žádný únik přihlašovacích údajů z logů. Ukážeme si, jak vše nastavit za pár minut.