Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Konečně mi došlo Raspberry PI a tak jsem se rozhodl k jeho prvnímu nasazení: Chtěl jsem „osvobodit“ své USB/MIDI klávesy od nutnosti pokaždé je připojovat k notebooku. Propojil jsem tedy klávesy s Raspberry PI s Raspbianem přes USB, k Raspberry přes malého Jacka bedýnky a ještě to celé napojil do lokální ethernetové sítě, aby se to dalo nějak rozumně konfigurovat.
Konfigurace Raspbianu byla celkem přímočará. Vyzkoušel jsem na něm nahodit MPD a fungoval prakticky hned. Poté jsem nainstaloval Timidity, což je „syntezátor“, který pojídá na vstupu MIDI zprávy (do chřtánu se mu dá nalít i MIDI soubor) a na výstupu vylézá digitální audio, které stačí už jen poslat do zvukovky.
Zdálo se, že Timidity po nainstalování hned začalo fungovat. Když jsem do něj nalil první MIDI soubor, co byl po ruce (pmidi -p 128:0 [soubor.midi]
) tak se sice cukal, ale to se dalo jednoduše spravit tím, že jsem v /etc/timidity/timidity.cfg prostě povypínal echa a chorusy a jemný resampling.
Pak jsem propojil Timidity s MIDI klávesami (aconnect 20:0 128:0
) a Timidity skutečně začalo hrát. Jenže ouha, s tak šílenou latencí, že to bylo horší, než nejhorší pneumatické varhany na které jsem se kdy pokoušel hrát.
Když jsem na internetu hledal, jak by se dalo Timidity přemluvit k nějaké menší latenci, našel jsem jen parametr -B pro příkazovou řádku. Pro Timidity v režimu démona tohle nikde zdokumentováno nebylo. Nakonec ale zvítězila taktika uživatelů Windows „nějak to zkusit.“ Konkrétně jsem si řekl, což kdyby parametr pro příkazovou řádky fungovat i v konfiguračním souboru . A taky, že jo. Toto mi funguje (v /etc/timidity/timidity.cfg):
opt B4,8
Pokud by to zlobilo, pak je nutno mírně zvýšit první číslo. Aby se Timidity vždy spojilo s MIDI klávesami, je nutné vždy po nastartování Timidity ještě spustit aconnect. To jsem nakonec vyřešil zásahem do /etc/init.d/timidity takto:
#!/bin/bash # # TiMidity /etc/init.d/ initscript for TiMidity++ # $Id: timidity.init,v 1.6 2004/09/30 01:04:04 hmh Exp $ # # Copyright (c) 2004 by Henrique M. Holschuh <hmh@debian.org> # Copyright (c) 2007-2009 Joost Yervante Damad <andete@debian.org> # Hacked (h) 2013 by Petr Tomasek # # Distributed under the GPL version 2 # ### BEGIN INIT INFO # Provides: timidity # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start and stop timidity # Description: TiMidity++ is a very high quality software-only MIDI sequencer # and MOD player. ### END INIT INFO . /lib/lsb/init-functions NAME="timidity" PATH=/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/bin/${NAME} DESC="TiMidity++ ALSA midi emulation" PIDFILE=/var/run/timidity/${NAME}.pid set -e test -x ${DAEMON} || exit 0 TIM_ALSASEQ=true TIM_ALSASEQPARAMS="-B2,8" [ -r /etc/default/timidity ] && . /etc/default/timidity if [ "${TIM_ALSASEQ}" != "true" ]; then log_daemon_msg "Starting" "${NAME}" log_daemon_msg " (to get timidity as an ALSA Sequencer enable this by editing the file /etc/default/timidity)" log_end_msg 0 exit 0 fi [ -z "$SERVER_USER" ] && SERVER_USER=timidity [ -z "$SERVER_GROUP" ] && SERVER_GROUP=timidity if ! getent passwd | grep -q "^${SERVER_USER}:"; then log_daemon_msg "Server user does not exist. Aborting" log_end_msg 0 exit 1 fi if ! getent group | grep -q "^${SERVER_GROUP}:" ; then log_daemon_msg "Server group does not exist. Aborting" log_end_msg = exit 1 fi PARAMS="${TIM_ALSASEQPARAMS} -iAD" START="--start --chuid ${SERVER_USER} --quiet --exec ${DAEMON} --pidfile ${PIDFILE} -- ${PARAMS}" case "$1" in start) #log_daemon_msg "Starting" "${NAME}" [ -d /proc/asound ] && [ -d /dev/snd/ ] || { log_end_msg 1 || echo -n log_warning_msg "ALSA is not active, cannot start $DESC" exit 0 } log_begin_msg "Starting $DESC..." mkdir -p /var/run/timidity chown timidity /var/run/timidity if start-stop-daemon ${START} < /dev/null >/dev/null >>&1; then echo -ne '\n\t\t... connecting to MIDI keyboard..\t' sleep 2 aconnect 20:0 128:0 echo "[ok]" log_end_msg 0 else log_end_msg 1 exit 1 fi ;; stop) log_begin_msg "Stopping $DESC..." if start-stop-daemon --stop --oknodo --pidfile ${PIDFILE} \ --name ${NAME} --retry 10 ; then log_end_msg 0 else log_end_msg 1 exit 1 fi ;; restart|force-reload) $0 stop exec $0 start ;; status) status_of_proc $DAEMON $NAME ;; *) echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2 exit 1 esac exit 0
Bacha na změnu /bin/sh na /bin/bash, jinak nefunguje echo -ne ...
. S touto změnou to funguje dobře. Třeba to bude někomu k užitku .
Tiskni Sdílej: