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

Stav SIMD v Rustu v roce 2025

Různé
Komentáře: 1
SIMD - neboli Single Instruction, Multiple Data - znamená, že procesor může jednou instrukcí zpracovat více datových prvků najednou. Typicky to znamená, že místo sčítání dvou čísel přičtete dvě sady čísel paralelně. To může přinést výrazné zrychlení například při zpracování obrazu, audia nebo numerických výpočtů. Pokud již SIMD znáte, tato tabulka je vše, co budete potřebovat. A pokud s SIMD teprve začínáte, tabulku pochopíte do konce tohoto článku

GPUI Component: moderní Rust GUI komponenty pro cross-platform desktop aplikace

Různé
Komentáře: 0
GPUI Component je open-source Rust knihovna rozšiřující framework GPUI o více než 60 moderních, nativních a multiplatformních UI komponent. Staví na deklarativním přístupu, stateless renderování a jednoduchém API inspirovaném Reactem či Yew. Díky optimalizovanému výkonu, podpoře témat a flexibilním layoutům umožňuje rychlý vývoj desktopových aplikací, jako je například trading nástroj Longbridge Pro. Knihovna je licencována pod Apache 2.0 a dostupná na GitHubu.