Emulazione MIDI Sequencer con TiMidity

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Emulazione MIDI Sequencer con TiMidity

Messaggio da phobos3576 »

Visto che molti utenti hanno ancora dei problemi, ecco l'ennesimo tutorial per chi vuole sentire i MIDI su schede audio prive di sequencer; il tutorial fa riferimento, per comodità, alla Sound Blaster 128 PCI.

Prima di tutto il Kernel.
Da utenti root provate a dare un

Codice: Seleziona tutto

modprobe snd-seq-oss
Se ottenete un messaggio di errore, dovete ricompilare il kernel con il supporto ALSA, e l'emulazione del sequencer e di OSS; l'emulazione Sequencer permette di creare i dispositivi del tipo /dev/sequencer,

Le opzioni da utilizzare per il kernel sono le seguenti

Codice: Seleziona tutto

#
# Sound
#
CONFIG_SOUND=y

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
CONFIG_SND_VERBOSE_PRINTK=y
# CONFIG_SND_DEBUG is not set
CONFIG_SND_GENERIC_DRIVER=y

#
# Generic devices
#
CONFIG_SND_MPU401_UART=m
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m
Per caricare i moduli all'avvio di Linux, la funzione load_alsa_oss_modules()
nel file /etc/rc.d/rc.alsa deve essere configurata in questo modo (esempio per
la SB 128 PCI):

Codice: Seleziona tutto

# A function to load the ALSA OSS compat modules:
load_alsa_oss_modules() {
  if ! cat /proc/modules | grep -w snd-pcm-oss 1> /dev/null 2> /dev/null ; then
    echo "Loading OSS compatibility modules for ALSA."
    modprobe snd-ens1371
    modprobe snd-pcm-oss
    modprobe snd-mixer-oss
    modprobe snd-seq-oss
  fi
}
Installazione di TiMidity, delle fonti sonore e di timidity.cfg

Controllate se in /usr/share è presente la directory timidity
contenente le fonti sonore e il file timidity.cfg.

In caso contrario, scaricare il file timidity.tar.gz (14 Mb) da questo link: http://www.djcj.org/LAU/timidity.tar.gz
(in genere, questo file è già incorporato negli Slack Package di TiMidity).

Prima di tutto, il file timidity.tar.gz deve essere decompresso in /usr/share
in modo da ottenere /usr/share/timidity (che contiene le fonti sonore e il file
timidity.cfg).

Se TiMidity è già installato, provate a dare il seguente comando dalla console:

Codice: Seleziona tutto

timidity -iA -B3,9 -Os
Se ottenete un messaggio di errore, dovete reinstallare solamente
l'eseguibile /usr/bin/timidity.
In tal caso, dal sito ufficiale http://timidity.sourceforge.net/
scaricare TiMidity++-2.13.2.tar.bz2 (source code)

Decomprimiamo ora TiMidity++-2.13.2.tar.bz2 in una directory temporanea (ad
esempio, /root/Temp).
Apriamo una console e andiamo in /root/Temp/TiMidity++-2.13.2

Impartiamo i soliti comandi

Codice: Seleziona tutto

./configure --prefix=/usr --enable-audio=alsa --enable-alsaseq --enable-dynamic --enable-gtk
make
make install
(le opzioni fondamentali sono --prefix=/usr e --enable-alsaseq)

A questo punto possiamo abilitare il server TiMidity con il comando:

Codice: Seleziona tutto

timidity -iA -B3,9 -Os -EFresamp=l
(per il buffer size e il fragment size si possono provare altri valori - Il valore di EFresamp è una lettera "elle")

Dovrebbero comparire le seguenti informazioni:

Codice: Seleziona tutto

Requested buffer size 6144, fragment size 2048
ALSA pcm 'default' set buffer size 60208, period size 3760 bytes
TiMidity starting in ALSA server mode
Opening sequencer port: 128:0 128:1 128:2 128:3
Come si può notare, TiMidity ha aperto 4 porte MIDI!

Ora apriamo una applicazione MIDI come, ad esempio, KMidi.
Selezionando il menu Impostazioni - Impostazioni MIDI ... dovremmo trovare
delle porte del tipo TiMidity TiMidity port 0 - ALSA device.

Selezionando la porta 0 dovremmo ora essere in grado di sentire i file MIDI.

P.S.

Attenzione al parametro predefinito -EFresamp=g (Gauss resample algorithm);
sulle CPU meno potenti tale parametro può provocare una notevole distorsione
del suono!

Avatar utente
touchstyle
Linux 4.x
Linux 4.x
Messaggi: 1085
Iscritto il: gio 13 mag 2004, 0:00
Slackware: 12.1
Kernel: 2.6.27
Desktop: KDE
Località: Portogruaro [VE]
Contatta:

Messaggio da touchstyle »

Impeccabile. 8)

Copialo ed incollalo in un how-to ed entrerai a far parte dell'olimpo dei Sapienti.
Prima però mandalo a Lorys...
:wink:

Grazie,
Touch.

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Messaggio da phobos3576 »

Ho scordato di scrivere che per eseguire TiMidyty come ALSA server daemon (in background), bisogna aggiungere l'opzione D al parametro i; ad esempio:

Codice: Seleziona tutto

timidity -iAD -B3,9 -Os -EFresamp=l

Avatar utente
phobos3576
Staff
Staff
Messaggi: 2980
Iscritto il: dom 17 apr 2005, 0:00
Slackware: 13.1
Kernel: 2.6.37-smp
Desktop: KDE 4.5.3

Messaggio da phobos3576 »

Se volete divertirvi con il karaoke su KMid potete scaricare dei brani dal
sito dello stesso sviluppatore di KMid:

http://perso.wanadoo.es/antlarr/midifiles.html

In particolare, ai programmatori consiglio di scaricare Another glitch in the call
(un altro intoppo nella chiamata di funzione) per farsi quattro risate.

Avatar utente
IceSlack
Linux 4.x
Linux 4.x
Messaggi: 1313
Iscritto il: dom 30 ott 2005, 13:27

Messaggio da IceSlack »

umm per xmm-timidity?

non riesco a sentire i midi ma xmms li visualizza e li manda in play facnedo passare i secondi, con timidity va da dio..............

Avatar utente
touchstyle
Linux 4.x
Linux 4.x
Messaggi: 1085
Iscritto il: gio 13 mag 2004, 0:00
Slackware: 12.1
Kernel: 2.6.27
Desktop: KDE
Località: Portogruaro [VE]
Contatta:

Messaggio da touchstyle »

IceSlack ha scritto:umm per xmm-timidity?

non riesco a sentire i midi ma xmms li visualizza e li manda in play facnedo passare i secondi, con timidity va da dio..............
Hai provato a configurare il plugin?

Avatar utente
IceSlack
Linux 4.x
Linux 4.x
Messaggi: 1313
Iscritto il: dom 30 ott 2005, 13:27

Messaggio da IceSlack »

umm gli ho dato il path di dove si trova la config e vabbe' stereo mono 44 mhz e basta non c'e' molto da configurare

Avatar utente
tojo72
Linux 2.x
Linux 2.x
Messaggi: 210
Iscritto il: dom 4 gen 2004, 0:00
Kernel: 2.6.32-22
Desktop: LXDE
Distribuzione: Lubuntu
Contatta:

Messaggio da tojo72 »

riesumo il topic (prima di sentirmi dire "fai una ricerca" ;) )

premesso che mi funziona tutto
premesso che ho proprio la Sound Blaster 128 PCI riportata nell'esempio
volevo chiedere questo:

ho un pc piuttosto antico (PIII 450mhz + 320MB di ram), sapreste darmi i parametri giusti per evitare che il suono salti???
per essere piu' chiaro, non e' che salta durante la riproduzione vera e propria, salta se mentre ascolto il midi apro o chiudo finestre o compio altri gesti innoqui come questo

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

tojo72 ha scritto:riesumo il topic (prima di sentirmi dire "fai una ricerca" ;) )

premesso che mi funziona tutto
premesso che ho proprio la Sound Blaster 128 PCI riportata nell'esempio
volevo chiedere questo:

ho un pc piuttosto antico (PIII 450mhz + 320MB di ram), sapreste darmi i parametri giusti per evitare che il suono salti???
per essere piu' chiaro, non e' che salta durante la riproduzione vera e propria, salta se mentre ascolto il midi apro o chiudo finestre o compio altri gesti innoqui come questo
Non credo che tu possa fare molto, anche sul mio pc con un AtlhonXp 1800 e 512 Mega, la cpu è occupata al 90% nella conversione midi > wav!
Ti occorre per forza di cosa una scheda sonora con sintesi midi in hardware

Avatar utente
tojo72
Linux 2.x
Linux 2.x
Messaggi: 210
Iscritto il: dom 4 gen 2004, 0:00
Kernel: 2.6.32-22
Desktop: LXDE
Distribuzione: Lubuntu
Contatta:

Messaggio da tojo72 »

beh qui spezzo una lancia a favore del "vecchio" win98!!!
sullo stesso pc i midi se li mangia come le noccioline ;)

va beh... grazie per la risposta :D

Rispondi