diff --git a/mk/audio.mk b/mk/audio.mk new file mode 100644 index 0000000..64dc403 --- /dev/null +++ b/mk/audio.mk @@ -0,0 +1,24 @@ +# -prf "asendcmd=0.0 afftdn sn start,asendcmd=2 afftdn sn stop,afftdn=nr=10:nf=-40" \ + +SRC ?= tmp.opus +record-audio: + record-audio.sh $(SRC) + +record-video: + record-video.sh $(SRC) + +OUTPUT ?= tmp.opus +extract-audio: + ffmpeg -i $(SRC) $(OUTPUT) + +normalize: + @# f: force overriding previous files + @# koa: keep original audio + @# pr: progress + @# -nt {ebu,rms,peak}: normalization type (default is "ebu", which is what we want) + @# -t TARGET_LEVEL: target db/LUFS level (default is "-23") + @# (for EBU) -lrt LOUDNESS_RANGE_TARGET: max audio range (default is "7") + @# + @# ffmpeg options + @# -c:a AUDIO_CODEC + ffmpeg-normalize -f -koa -pr -c:a libopus $(SRC) diff --git a/mk/random.mk b/mk/random.mk new file mode 100644 index 0000000..0cc4bc4 --- /dev/null +++ b/mk/random.mk @@ -0,0 +1,8 @@ +APP ?= my-app +strace-pid: + @# strace an already running application + sudo strace -p $$(pidof $(APP)) + +strace: + @# --decode-fds = get file names + sudo strace --decode-fds -e desc,network $(APP) diff --git a/mk/zram.mk b/mk/zram.mk new file mode 100644 index 0000000..6cecf49 --- /dev/null +++ b/mk/zram.mk @@ -0,0 +1,44 @@ +PDNSDIR ?= /tmp/zram + +# Currently not working with alpine linux. +zram: mkdir zram-module zram-create zram-format zram-mount +unzram: zram-umount zram-free + +btrzram: mkdir zram-module zram-create btrzram-format zram-mount + +mkdir:; -mkdir $(PDNSDIR) 2>/dev/null + +zram-module:; modprobe zram +zram-create:; zramctl --find --size 50000M -a zstd + +# -b 2048 block size, cannot be used (mkfs.ext4 wants 4k blocks minimum) +# -N xxx nb of inodes +# -i xxx higher inode ratio +zram-format:; mkfs.ext4 -N 50000000 /dev/zram0 +zram-mount:; mount /dev/zram0 $(PDNSDIR) + +zram-umount:; -umount $(PDNSDIR) +zram-free:; -zramctl -r /dev/zram0 + +BTRFS_DIR ?= /tmp/btrfs +BTRFS_IMG ?= /tmp/btrfs.img +BTRFS_SIZ ?= 5000 +BTRFS_SECTOR_SIZE ?= 4096 +BTRFS_NODE_SIZE ?= 4096 # Minimal accepted value. +BTRFS_LOOP ?= /dev/loop100 +BTRFS_COMP ?= zstd:8 + +# apt install btrfs-progs +btrfs: btrfs-mkdir btrfs-create btrfs-loop btrfs-format btrfs-mount btrfs-chown +btrfs-mkdir:; [ ! -d $(BTRFS_DIR) ] && mkdir $(BTRFS_DIR) 2>/dev/null || : +btrfs-create: + [ ! -f $(BTRFS_IMG) ] && su karchnu -c "dd if=/dev/zero of=$(BTRFS_IMG) bs=1M count=$(BTRFS_SIZ)" || : +btrfs-loop:; losetup --sector-size $(BTRFS_SECTOR_SIZE) $(BTRFS_LOOP) $(BTRFS_IMG) +btrfs-format:; mkfs.btrfs -s $(BTRFS_SECTOR_SIZE) -n $(BTRFS_NODE_SIZE) -L BTRDATA $(BTRFS_LOOP) +btrfs-mount:; mount -o compress=$(BTRFS_COMP) $(BTRFS_LOOP) $(BTRFS_DIR) +btrfs-chown:; chown karchnu $(BTRFS_DIR) + +unbtrfs: btrfs-umount btrfs-unloop btrfs-rm +btrfs-unloop:; [ -b $(BTRFS_LOOP) ] && losetup -d $(BTRFS_LOOP) || : +btrfs-umount:; umount $(BTRFS_DIR) +btrfs-rm:; rm $(BTRFS_IMG)