abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 2
    včera 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 11
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    26.4. 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 42
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 14
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 3
    25.4. 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    25.4. 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 852 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Raspberry PI, MIDI, timidity a hrozná latence

    15.6.2013 20:53 | Přečteno: 2430× | Raspberry PI | Výběrový blog | poslední úprava: 15.6.2013 20:53

    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 :-).

           

    Hodnocení: 82 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    16.6.2013 01:19 WNJ
    Rozbalit Rozbalit vše Re: Raspberry PI, MIDI, timidity a hrozná latence
    Jen pockej, az prijde systemd. Tam to takhle snadno neudelas.
    16.6.2013 08:52 potato
    Rozbalit Rozbalit vše Re: Raspberry PI, MIDI, timidity a hrozná latence
    Se systemd to uděláš stejně, až na to, že například status bude fungovat a nebude spouštět irelevantní příkazy a vypisovat irelevantní hlášky, jako je to zde...
    Petr Tomášek avatar 16.6.2013 12:23 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Raspberry PI, MIDI, timidity a hrozná latence
    Má pravdu. Se systemd člověk nejdřív týden bude pročítat dokumentaci, jak to udělat. Takhle může člověk jednodušše hacknout jeden skript.

    Na druhou stranu, jestli systemd umí závislosti mezi balíky, tak by se to dalo na druhou stranu udělat čistěji...
    multicult.fm | monokultura je zlo | welcome refugees!
    16.6.2013 09:39 doron | skóre: 21 | blog: Sensors a Ksysguard | Brno
    Rozbalit Rozbalit vše Re: Raspberry PI, MIDI, timidity a hrozná latence
    Proč to musí být Timidity? Fluidsynth mi vždy přišel lepší. Když už Timidity, tak samozřejmě přes Jack. Pokud si vzpomínám, takto jsem to dělával někdy před osmi lety. Pak jsem objevil Fluidsynth. Na rozdíl od Timidity nepodporuje GUS formát. Pokud stačí podpora SF2, tak není co řešit.
    You can't fuck everyone, but you can try to.
    stativ avatar 16.6.2013 09:56 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Raspberry PI, MIDI, timidity a hrozná latence
    Typoval bych náročnost na výkon – fluidsynth potřebuje víc výkonu a hlavně paměti. Zejména s lepšími většími soundfonty.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    16.6.2013 15:27 R
    Rozbalit Rozbalit vše Re: Raspberry PI, MIDI, timidity a hrozná latence
    Aj Timidity je katastrofa, nikdy mi to poriadne nefungovalo... Pritom vo Windows 98 chodi SW MIDI bez problemov aj na Pentiu MMX...
    stativ avatar 16.6.2013 17:17 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Raspberry PI, MIDI, timidity a hrozná latence
    Jestli myslíš ten syntetizér, co je default ve windows tak to je co se týče „kvality“ naprostá katastrofa.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    Petr Tomášek avatar 16.6.2013 12:26 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Raspberry PI, MIDI, timidity a hrozná latence
    Nemusí. Chtěl jsem nejdřív zkusit jedno. A navíc, jak píše někdo dole, nemuselo by to Raspberry Pi zvládnout...
    multicult.fm | monokultura je zlo | welcome refugees!

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.