ALSA, perdita di sample in registrazione

5 risposte [Ultimo contenuto]
Ritratto di jenner
jenner
(Junior)
Offline
Junior
Iscritto: 08/10/2004
Messaggi: 19

Salve,
ho uno strano problema con ALSA. Quando cerco di registrare dalla mia SBLive mi trovo a perdere, di tanto in tanto, qualche centinaio di sample con una cadenza regolare... quasi come se la registrazione fosse un task troppo pesante per il mio PC.
Ho provato sia con Audacity (che registra da /dev/dsp) sia con ecasound registrando da ALSA direttamente.

Il mio PC e' un PIII 800, 320MB di RAM, 160GB di HDD ext3, kernel 2.6.9 (ALSA abilitata, OSS emulato da ALSA, driver emu10k1).

Quale puo' essere il problema di questa perdita' di sample? [mediamente 40/45 msec di samples ogni 20/25 secondi]
Potrei aver dimenticato qualcosa nella configurazione del kernel?

Grazie per le eventuali risposte,
Jenner

Ritratto di kripsio
kripsio
(Collaboratore)
Offline
Collaboratore
Iscritto: 10/09/2004
Messaggi: 1511

butto li'. dma del disco fisso?

Ritratto di jenner
jenner
(Junior)
Offline
Junior
Iscritto: 08/10/2004
Messaggi: 19

Quote:

kripsio ha scritto:
butto li'. dma del disco fisso?

Temo di no... Sad
Ieri sera ho fatto un tentativo con ecasound lanciandolo cosi:

$ ecasound -i:alsa -o music/rectest.wav -c -b:4096

praticamente ho solamente specificato che il buffer di lettura deve essere di 4096 samples (praticamente piu' del default che e' 1024). Non ci sono stati problemi, registrava tranquillo.

Il problema e' che non posso sapere se anche Windows lavorava in questo modo oppure no... mi scoccierebbe non avere le stesse performance che avevo sotto Windows.

Grazie comunque!

Ciao
Jenner

Ritratto di kripsio
kripsio
(Collaboratore)
Offline
Collaboratore
Iscritto: 10/09/2004
Messaggi: 1511

tanto per dire qualcosa Laughing

/me rompe con dma. output di hdparm -d0 /dev/hdX (dove x e' device dove vuoi scrivere?) mello posti?

Potrebbero esserci processi rompini che girano occupando risorse, prova a lanciare top per vedere cosa ciucca risorse.

Che ambiente grafico usi? Se fosse gnome o kde proverei a tentare esperimenti con un ambiente piu' leggero (fluxbox). Devi eseguire operazioni impegnative, meglio dedicare risorse a quelle e non al desktop environment.

Btw.
Imho, per applicazioni musicali e video, i programmi per linux, al momento, non competono con i prodotti per windows. Non ci sono programmi fatti cosi' bene e diffusi (in ambiente home o amatore evoluto, per ambienti superprofessionali si (la pixar ha render farm redhat tanto per dire Wink).
_se_ hai fini amatorialissimi (come me che registro col microfono da 5 euri la mia chitarra) i programmi che trovi per linux vanno benino. Se hai fini un po' piu' seri (da amatore evoluto in su), al momento, su windows e mac trovi piu' programmi e soprattutto scritti molto meglio Smile

ziauu

Ritratto di jenner
jenner
(Junior)
Offline
Junior
Iscritto: 08/10/2004
Messaggi: 19

Quote:

kripsio ha scritto:
/me rompe con dma. output di hdparm -d0 /dev/hdX (dove x e' device dove vuoi scrivere?) mello posti?

In questo fine settimana ho trovato l'origine del problema, infatti hdparm -d0 /dev/hdc mi da questo risultato:

/dev/hdc:
setting using_dma to 0 (off)
using_dma = 0 (off)

(lo so che e' strano avere il sistema di boot in hdc... ma per ora va cosi' Tongue)

Per risolvere la cosa ho seguito il consiglio segnato in questo documento qua:
http://www.linuxdevcenter.com/pub/a/linux/2000/11/17/low_latency.html
ovvero eseguire un hdparm -m 8 -d 1 -u 1 -c 1 /dev/hdc

Per farlo eseguire sempre all'avvio del sistema dovrei farne uno script eseguibile e poi aggiungerlo nelle directory rc (con update-rc.d)? Se si quanta priorita' devo dargli?

Quote:

Che ambiente grafico usi?

Sto usando GNOME... ma a breve penso di tornare a fvwm visto che mi trovavo meglio.
Ad ogni modo i test con ecasound li facevo da console in modo testo (senza lanciare X).

Quote:

Btw.
Imho, per applicazioni musicali e video, i programmi per linux, al momento, non competono con i prodotti per windows. Non ci sono programmi fatti cosi' bene e diffusi (in ambiente home o amatore evoluto, per ambienti superprofessionali si (la pixar ha render farm redhat tanto per dire Wink).

Non la penso esattamente cosi'. L'unico difetto che riscontro nelle applicazioni audio per Linux e' soprattutto la diversita' (talvolta proprio radicale) d'impostazione delle interfacce. Avere PureData, Ardour, Rosegarden e AlsaModularSynth aperti significa avere 4 ambienti estremamente eterogenei connessi - tramite JACK - fortunatamente tramite un'infrastruttura standardizzata.
E' una situazione che tollero... ma la tollero per un solo motivo: spesso l'impostazione di un programma e' molto focalizzata all'uso pratico e non per imbellettarlo inutilmente. Basta vedere PureData: adoro la sua interfaccia in quanto ti fa sbattere direttamente con i suoi oggetti, con le varie connessioni, ecc. ecc. nessuna fuffa intermedia, niente accozzaglie di immagini per tracciare l'interfaccia e che finiscono in breve tempo la RAM di sistema; si va al dunque immediatamente.

Quote:

Se hai fini un po' piu' seri (da amatore evoluto in su), al momento, su windows e mac trovi piu' programmi e soprattutto scritti molto meglio Smile

Perche' dici scritti meglio?
Sotto Linux mi sto trovando BENISSIMO! La convergenza del software su architetture come ALSA, JACK e LADSPA rende poi il tutto ancora piu' confortevole come ambiente.
Registrare le sessioni audio con ecasound in console e' un piacere (prima regoli i livelli con ecasignalview)... dal mio punto di vista e' il modo in cui si dovrebbero fare certe cose. Ha senso tirare su tonnellate di interfaccia grafica (con tutti i bug che si portano dietro prima di funzionare come si deve) per registrare le varie traccie? Per mixare i segnali e' altrettanto buono...

E' un po' come quando ho letteralmente riscoperto la masterizzazione di CD con mkisofs e cdrecord: ma esistono modi migliori di questi? (provengo da Nero)
Masterizzare da console e' semplicemente fantastico per come e' facile e diretta l'operazione.

Tirando le somme ho potuto vedere come Linux mi ha dato possibilita', in campo audio, che su Windows me le sognavo. E il tutto lo trovo assolutamente non a livello amatoriale... o perlomeno, gli usi che ne faccio io tendo a non considerarli amatoriali, bisognerebbe sapere che ne direbbero i tizi "pro-audio".

Ciao e grazie! Smile
Jenner

Ritratto di kripsio
kripsio
(Collaboratore)
Offline
Collaboratore
Iscritto: 10/09/2004
Messaggi: 1511

Quote:

Per farlo eseguire sempre all'avvio del sistema dovrei farne uno script eseguibile e poi aggiungerlo nelle directory rc (con update-rc.d)? Se si quanta priorita' devo dargli?

Purtroppo non sono grande esperto di queste cose, tutt'altro. Dovrebbe essere sufficiente impostare il dma anche al termine del boot ma senti anche un'altra campana. Non ho mai avuto esigenze di performance sui dischi, le mie attivita' informatiche sono di altro genere Big Grin .

A proposito del resto: ottima spiegazione che credo, oltre che a me, possa essere utile a tanti altri. Complimenti.
Din Don. Hai un nuovo messaggio privato Smile