logo

bytemedia

Home to byte-level sounds, images, videos, … git clone https://anongit.hacktivis.me/git/bytemedia.git/
commit: 90b76ddd99556b4760e4b171c86ca4a36b321c6e
parent 4be5f4d3b12af833ebe9c29fe84785d30881feaa
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Sat, 29 Mar 2025 23:56:48 +0100

C/fast_alpha.c: new, based on C/alpha.c

Diffstat:

AC/fast_alpha.c37+++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+), 0 deletions(-)

diff --git a/C/fast_alpha.c b/C/fast_alpha.c @@ -0,0 +1,37 @@ +// cat ./fast_alpha.c | tcc -run ./fast_alpha.c | mpv - +#define _POSIX_C_SOURCE 200809L +#include <stdio.h> // getchar() +#include <inttypes.h> // uint32_t + +#include "au.h" + +int +main(void) +{ + // Use AU defaults + struct au_header header = { + .offset = 24, // no-annotation, in octets + .length = 0xFFFFFFFF, // unknown data size + .encoding = 02, // unsigned 8-bit linear PCM + .samplerate = 8000, // Hz + .channels = 1 + }; + + // fd 1 is stdout + write_au_header(1, &header); + + int c = 0, t = 0, o = 0; + + while((c = getchar()) != -1) { + int dur = 7000/14; + o = 1; // Magic number + if(c >= 'a' && c <= 'z') { dur = 7000/15; o=c-'a'+1; } + if(c >= '0' && c <= '9') { dur = 7000/16; o=c-'0'+1; } + if(c >= 'A' && c <= 'Z') { dur = 7000/17; o=c-'a'+1; } + + for(int i = 0;i<dur;i++,t++) + putchar(t++*o%30); + } + + return 0; +}