[RISOLTO] jack-audio-connection-kit e realtime scheduling

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.
Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da Procopio »

EDIT: eh e` quello il punto, ed il motivo per cui ti dicevo che non capisco con quale criterio mischi le schede, a volte accendo skype prima di jack e a volte dopo, ma in ogni caso ho gia` avuto sia le schede riconosciute che no...


comunque diciamo che forse tendenzialmente se apro skype come prima applicazione all'avvio me le legge, il fatto e` che ora che i suoni di sistema si setono dalla scheda audio esterna, credo quindi che anche quelli passino da jackd, quindi anche se apro skype come primo programma a mano all'apertura di una sessione in ogni caso jackd e` gia` stato aperto...
Ultima modifica di Procopio il mer 25 set 2013, 15:30, modificato 3 volte in totale.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

rik70 ha scritto: Prima o dopo jackd?
Vabbè lascia perdere, tanto mi sa che il dettaglio è ininfluente.

Hai detto che /proc/asond/cards rimane inalterato quando la scheda audio non viene vista da Skype.

Bene, prova in questo modo:

crea un file ~/.asoundrc per l'utente che usi abitualmente e mettici dentro questo:

Codice: Seleziona tutto

# skype casse/cuffie
pcm.skype_out {
	type hw
	card Intel
}

#skype microfono
pcm.skype_in {
	type hw
	card Intel
}
Ora riavvia skype e in impostazioni audio metti skype_out(hw) per altoparlanti e suoneria, skype_in(hw) per il microfono. Applica, verifica l'audio e fai una chiamata di prova per vedere se funziona il tutto.

Fai sapere, e se non va ne proviamo un'altra.

P.s.
Forse mi sto un pò incasinando, ma giusto per dire che in questo modo Skype dovrebbe usare la scheda audio interna tralasciando la USB.

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da Procopio »

rik70 ha scritto:
rik70 ha scritto: Prima o dopo jackd?
Vabbè lascia perdere, tanto mi sa che il dettaglio è ininfluente.

Hai detto che /proc/asond/cards rimane inalterato quando la scheda audio non viene vista da Skype.

Bene, prova in questo modo:

crea un file ~/.asoundrc per l'utente che usi abitualmente e mettici dentro questo:

Codice: Seleziona tutto

# skype casse/cuffie
pcm.skype_out {
	type hw
	card Intel
}

#skype microfono
pcm.skype_in {
	type hw
	card Intel
}
Ora riavvia skype e in impostazioni audio metti skype_out(hw) per altoparlanti e suoneria, skype_in(hw) per il microfono. Applica, verifica l'audio e fai una chiamata di prova per vedere se funziona il tutto.

Fai sapere, e se non va ne proviamo un'altra.

P.s.
Forse mi sto un pò incasinando, ma giusto per dire che in questo modo Skype dovrebbe usare la scheda audio interna tralasciando la USB.
eh, ma io è proprio quella usb che vorrei usare...ma vuoi solo fare un test? se è solo per un testo, ok , ma se ci siam capiti male io vorrei avere di default quella usb!

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

Procopio ha scritto:
eh, ma io è proprio quella usb che vorrei usare...ma vuoi solo fare un test? se è solo per un testo, ok , ma se ci siam capiti male io vorrei avere di default quella usb!
Cioè vuoi usare la USB per sentire anche Skype nelle casse collegate al mixer? E magari la stessa USB dove è in esecuzione jackd, dove passano i suoni di sistema di kde, le apps di kde, ora che tutto sto popo' di roba passa per jackd?

Azz... sono proprio fuso allora, mi sono 'capito" proprio male. La risposta è no, non puoi perché skype non supporta phonon e tantomeno jack.

O meglio potresti, o con PulseAudio - e torniamo a bomba, cioè a quello che si diceva tempo addietro e che io considero comunque un "danno" - oppure devi fare il routing anche di alsa verso jack. E qui entra sempre in gioco quel file ~/.asoundrc - non quello che ho postato io ovviamente - e il riferimento per tentare 'sto casino non da poco è questo:

http://jackaudio.org/routing_alsa

E qui però io mi fermo :)

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da Procopio »

eh ma io quella scheda audio USB esterna già la uso, su skype, e funziona! sento dalle casse collegate in out al mixer e comunico tramite un microfono collegato a un canale XLR del mixer! se vuoi ti chiamo e ti suono un pezzo di chopin via skype con la tastiera collegata al line in del mixer:) battuta a parte, la cosa che volevo fare era sincerarmi di far passare questo audio di skype sulla scheda esterna attraverso jack, in modo da sfruttare il real time, per quanto possa servire!

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

La cosa m'interessa, però solo se mi suoni un blues, cosi magari mi aggancio con l'elettrica :D

Non dubito che tu possa usare la scheda USB con skype e che funzioni. Ma puoi farlo anche se sulla stessa scheda hai in esecuzione jack? Si, anche questo è possibile, se la scheda USB ha + uscite/entrate: ma utilizzando alsa! Per usare jack, dato che skype non lo supporta, devi per forza appoggiarti da qualche parte - pulseaudio dicevamo - oppure con .asoundrc e instradando alsa verso jack. E, in questo caso, possibilmente creando dei "dispositivi", o alias alsa - trova tu il termine che a me non viene - da usare solo con skype - come nell'esempio fatto sopra - in modo da non disturbare le altre applicazioni che utilizzano direttamente jack.

Insomma, il link io te l'ho messo, poi... lascio a te l'arduo compito ;).

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da Procopio »

ok, ma fammi solo capire: alsa sono dei driver, giusto? "instradare" un driver verso un audio server significa fare in modo che il server audio gestisca il dispositivo tramite quel driver, giusto? che dovrebbe essere quello che accade settando la voce "driver" di qkackctl su "alsa"...oppure significa percorrere queste connessioni a ritroso? cioè io capisco che jack usi alsa per gestire un dispositivo, ma cosa dovrebbe fare alsa "verso" jac?

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

Eh, mi chiedi troppo amico. Io non ho le competenze per spiegare prima di tutto a me stesso come funziona la faccenda. Alsa però non è soltanto un driver, credo sia qualcosa di più complesso. Alsa ad esempio è il back-end usato da jack, o meglio uno dei possibili. Cosa voglia poi significare backend anche questo mi sfugge.

Il resto è solo frutto dei miei maldestri tentativi di tradurre concetti espressi in lingue che poco conosco. E questi inglesi come parlano solo loro lo sanno. "Routing alsa via/through jack" ... come lo rendiamo in Italiano: passare attraverso jack?

Ad ogni modo il concetto lo possiamo intuire anche noi comuni mortali.
Abbiamo il nostro programmino che deve compiere una missione. Per centrare l'obbiettivo, sa che deve passare per alsa. Quindi punta dritto verso quella meta, conosce la rotta (uh... rotta = routing: che sia un indizio?) e solo quella, e tira dritto. Nel frattempo però qualcosa "si muove": lungo la strada (route = strada: altro indizio?) quel giorno c'è un bivio. Ma il nostro amico non se ne accorge, non ha gli strumenti per farlo, e tira di nuovo dritto, incurante di tutto e di tutti. Giunge dunque a casa della signora Alsa, ma quel giorno di li' non si passa: al bivio doveva svoltare, non andare dritto. E qui finisce la sua avventura.

Ma la signora Alsa, se correttamente predisposta e approcciata con le dovute maniere (quelle che si convengono a una signora), se "domandata" risponde. E così indica al nostro amico la strada da seguire: gli dice che prima deve passare da zio Jack, e che sarà lui a indicargli la giusta via.

E qui finisce la storia, e il mio indispensabile contributo al progresso dell'informatica :D

Poi magari un giorno ti saprò anche dire se quella che mi son fumato stamattina era una sigaretta o altro.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: [RISOLTO] jack-audio-connection-kit e realtime schedulin

Messaggio da rik70 »

P.s.
Comunque finisca questa storia, il metodo 'snd-aloop' funziona perfettamente, o così sembra :thumbright:

Allego il file ~/.asoundrc , preso dall'amico Thorgal, modificato a mia "immagine e somiglianza".

La periferica da utilizzare si chiamerà nel mio caso "(Duplex loopback) alsaloop" - dato che non la imposto come "scheda" predefinita, come invece fa lui con la stringa 'pcm.!default':

Codice: Seleziona tutto

#####

# ------------------------------------------------------
# hardware 0,0 : used for ALSA playback
pcm.loophw00 {
  type hw
  card Loopback
  device 0
  subdevice 0
  format S16_LE
  rate 48000
}

# ------------------------------------------------------
# playback PCM device: using loopback subdevice 0,0
# Don't use a buffer size that is too small. Some apps 
# won't like it and it will sound crappy 

pcm.amix {
  type dmix
  ipc_key 219345
  slave {
    pcm loophw00
    period_size 4096
    periods 2
  }
}

# ------------------------------------------------------
# software volume
pcm.asoftvol {
  type softvol
  slave.pcm "amix"

  control { name PCM }

# min_dB -51.0
# max_dB   0.0
}

# ------------------------------------------------------
# for jack alsa_in: looped-back signal at other ends
pcm.cloop {
  type hw
  card Loopback
  device 1
  subdevice 0
  format S16_LE
  rate 48000
}

# ======================================================
# ------------------------------------------------------
# hardware 0,1 : used for ALSA capture
pcm.loophw01 {
  type hw
  card Loopback
  device 0
  subdevice 1
  format S16_LE
  rate 48000
}

# ------------------------------------------------------
# for jack alsa_out: looped-back signal at other end
pcm.ploop {
  type hw
  card Loopback
  device 1
  subdevice 1
  format S16_LE
  rate 48000
}

# ======================================================
# ------------------------------------------------------
# duplex device combining our PCM devices defined above
pcm.aduplex {
  type asym
  playback.pcm "asoftvol"
  capture.pcm "loophw01"
}

# ------------------------------------------------------
# default device
pcm.alsaloop {
  type plug
  slave.pcm aduplex

  hint {
       show on
       description "Duplex Loopback"
  }
}
Lanciati i comandi alsa_out e alsa_in come specificato, basta collegare - anche da qjacktl - le porte cloop-->system, - e se si vuole il microfono: system-->ploop - ed il gioco è fatto.
Ora anche Skippo, dopo aver modificato le impostazioni audio, "passa attraverso" jack.

Bisognrebbe testare il tutto per vedere quanto regge la baracca con questa sorta di "emulazione", capire come si può cambiare microfono - es. quello della webcam (ma a questo punto chissene) - e tante altre belle "cosettine".

Ma mantengo la promessa e quindi qui mi fermo.

Ciao

-----------

Edit:
rik ha scritto:[..]come si può cambiare microfono[...]
Questa era semplice, bastava pensarci un attimo.

Codice: Seleziona tutto

# hardware 0,1 : used for ALSA capture
pcm.loophw01 {
  type hw
  card Loopback
  device 0
  subdevice 1
  format S16_LE
  rate 48000
}
Basta sostituire "card Loopback" con "card <ID_della_Webcam>" preso da /proc/asound/cards e commentare 'subdevice 1'

Rispondi