Gentoo + Squeezelite-R2

Visualizzazione dei risultati da 1 a 10 su 87

Hybrid View

Messaggio precedente Messaggio precedente   Prossimo messaggio Prossimo messaggio
  1. #1
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da marcoc1712
    non ci capiamo:
    tranquillo: ci capiamo benissimo. :-)

    Originariamente inviato da marcoc1712
    la situazione è questa:
    [...]
    Per tutti i DEVICE ALSA il DEVICE HARDWARE è lo stesso: CARD=J20,DEV=0 o, se preferisci: 0,0. Non esiste prorpio il DEVICE HARDWARE 0,1
    ok, quindi la JLSounds ha un solo ingresso stereo, comune, che non permette di distinguere tra le diverse uscite. Perciò non è possibile scegliere quale usare. Quanto meno, non attraverso i "device" di ALSA.

    Il che verosimilmente significa che la JLSounds pilota contemporaneamente tutte le sue uscite a prescindere (eventualmente disabilitando internamente/automaticamente quella s/pdif se lo stream di ingresso è incompatibile). Oppure potrebbe esserci un apposito "switch" (logico) che permette di selezionare quale/i uscita/e pilotare (se c'è dovrebbe essere presente ad es. in "alsamixer"). Ma, almeno nel caso della JLSounds, non mi pare che sia così.

    Originariamente inviato da marcoc1712
    Se voglio 'attivare la S/PDIF attivo iec958:CARD=J20,DEV=0, o se preferisci iec958:0,0
    Se voglio 'attivare le uscite frontali (del DAC) attivo front:CARD=J20,DEV=0, o se preferisci front:0,0
    No: i diversi device "logici" identificano soltanto diverse catene di plugin: se il device "fisico" è lo stesso, a parte le differenze "a monte" (cioè al diverso "routing" dei canali, alla presenza di eventuali conversioni di formato e/o elaborazioni dei segnali, mixer, ecc) in uscita verso l'hardware non cambia nulla.

    In effetti tutti i vari "device logici" non sono altro che nomi di comodo per una qualche sequenza predefinita di plugin. Che (salvo casi particolari) alla fine della catena non fanno altro che indirizzare lo stream al device "raw" corrispondente, cioè proprio ad "hw:x,y".

    In altre parole, se anziché usare "hw:0,0" usi "iec958:0,0" non fai altro che far passare il tuo stream attraverso il plugin "iec958", l'output del quale viene poi indirizzato al (fatto uscire attraverso il) medesimo "hw:0,0".


    In una scheda che prevede uscite diverse e distinte, la situazione invece è simile a questa:
    codice:
    $ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: Intel [HDA Intel], device 0: STAC9271D Analog [STAC9271D Analog]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 0: Intel [HDA Intel], device 1: STAC9271D Digital [STAC9271D Digital]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    codice:
    $ aplay -L
    null
        Discard all samples (playback) or generate zero samples (capture)
    pulse
        PulseAudio Sound Server
    default
        Playback/recording through the PulseAudio sound server
    sysdefault:CARD=Intel
        HDA Intel, STAC9271D Analog
        Default Audio Device
    front:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        Front speakers
    surround21:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        2.1 Surround output to Front and Subwoofer speakers
    surround40:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        4.0 Surround output to Front and Rear speakers
    surround41:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        4.1 Surround output to Front, Rear and Subwoofer speakers
    surround50:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        5.0 Surround output to Front, Center and Rear speakers
    surround51:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        5.1 Surround output to Front, Center, Rear and Subwoofer speakers
    surround71:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
    iec958:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Digital
        IEC958 (S/PDIF) Digital Audio Output
    dmix:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        Direct sample mixing device
    dmix:CARD=Intel,DEV=1
        HDA Intel, STAC9271D Digital
        Direct sample mixing device
    dsnoop:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        Direct sample snooping device
    dsnoop:CARD=Intel,DEV=1
        HDA Intel, STAC9271D Digital
        Direct sample snooping device
    hw:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        Direct hardware device without any conversions
    hw:CARD=Intel,DEV=1
        HDA Intel, STAC9271D Digital
        Direct hardware device without any conversions
    plughw:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        Hardware device with all software conversions
    plughw:CARD=Intel,DEV=1
        HDA Intel, STAC9271D Digital
        Hardware device with all software conversions
    Originariamente inviato da marcoc1712
    Se, come dici tu, le carratteristiche le impone l'hw specifico di ogni uscita, allora il relativo plugin ne dovà tenere conto e dovrà fare downsampling a 192/24 per IEC958- supponendo che l'hardware imponga effettivamente quel limite - altrimenti non suonerà.
    dal momento che presenta un solo ingresso per tutte le sue uscite, anche i limiti dell'hardware che ALSA può conoscere sono unici.

    ALSA non ha la più pallida idea di cosa ci sia a valle dell'interfaccia USB. Non sa nulla di come è fatto il device, se questo ha una uscita analogica o digitale, se c'è s/pdif o dei segnali di fumo... sa soltanto ciò che gli dice l'interfaccia USB stessa, cioè ad es. che è in grado di accettare uno stream stereo con determinate caratteristiche.

    Cioè in questo caso conosce solo i limiti massimi dell'interfaccia, relativi alla sua uscita "più performante" (quella I2S).

    Di conseguenza, se stai utilizzando l'uscita s/pdif ed invii alla scheda uno stream con un formato non supportato da quella uscita, tutto ciò che ottieni è... un bel silenzio (auspicabilmente: se il firmware della Xmos gestisce correttamente la situazione disabilitando l'uscita s/pdif. In caso contrario otterresti la perdita del "lock" da parte del ricevitore s/pdif oppure, peggio, un bel po' di rumore).
    Ultima modifica di UnixMan : 19-12-2016 a 18:53
    Ciao, Paolo.

    «Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.»

  2. #2
    pebibyte L'avatar di marcoc1712
    Registrato
    Jan 2013
    Messaggi
    5,254
    configurazione

    Predefinito

    Originariamente inviato da UnixMan
    In una scheda che prevede uscite diverse e distinte, la situazione invece è simile a questa:

    codice:
    $ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: Intel [HDA Intel], device 0: STAC9271D Analog [STAC9271D Analog]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 0: Intel [HDA Intel], device 1: STAC9271D Digital [STAC9271D Digital]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    codice:
    $ aplay -L
    null
        Discard all samples (playback) or generate zero samples (capture)
    pulse
        PulseAudio Sound Server
    default
        Playback/recording through the PulseAudio sound server
    sysdefault:CARD=Intel
        HDA Intel, STAC9271D Analog
        Default Audio Device
    front:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        Front speakers
    surround21:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        2.1 Surround output to Front and Subwoofer speakers
    surround40:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        4.0 Surround output to Front and Rear speakers
    surround41:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        4.1 Surround output to Front, Rear and Subwoofer speakers
    surround50:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        5.0 Surround output to Front, Center and Rear speakers
    surround51:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        5.1 Surround output to Front, Center, Rear and Subwoofer speakers
    surround71:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
    iec958:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Digital
        IEC958 (S/PDIF) Digital Audio Output
    dmix:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        Direct sample mixing device
    dmix:CARD=Intel,DEV=1
        HDA Intel, STAC9271D Digital
        Direct sample mixing device
    dsnoop:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        Direct sample snooping device
    dsnoop:CARD=Intel,DEV=1
        HDA Intel, STAC9271D Digital
        Direct sample snooping device
    hw:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        Direct hardware device without any conversions
    hw:CARD=Intel,DEV=1
        HDA Intel, STAC9271D Digital
        Direct hardware device without any conversions
    plughw:CARD=Intel,DEV=0
        HDA Intel, STAC9271D Analog
        Hardware device with all software conversions
    plughw:CARD=Intel,DEV=1
        HDA Intel, STAC9271D Digital
        Hardware device with all software conversions

    dal momento che presenta un solo ingresso per tutte le sue uscite, anche i limiti dell'hardware che ALSA può conoscere sono unici.

    ALSA non ha la più pallida idea di cosa ci sia a valle dell'interfaccia USB. Non sa nulla di come è fatto il device, se questo ha una uscita analogica o digitale, se c'è s/pdif o dei segnali di fumo... sa soltanto ciò che gli dice l'interfaccia USB stessa, cioè ad es. che è in grado di accettare uno stream stereo con determinate caratteristiche.

    Cioè in questo caso conosce solo i limiti massimi dell'interfaccia, relativi alla sua uscita "più performante" (quella I2S).

    Di conseguenza, se stai utilizzando l'uscita s/pdif ed invii alla scheda uno stream con un formato non supportato da quella uscita, tutto ciò che ottieni è... un bel silenzio (auspicabilmente: se il firmware della Xmos gestisce correttamente la situazione disabilitando l'uscita s/pdif. In caso contrario otterresti la perdita del "lock" da parte del ricevitore s/pdif oppure, peggio, un bel po' di rumore).
    Se l'esempio lo hai costruito, ok, ma se è reale NON capisco perchè IEC958 stia sul device 0 ma riporti la descrizione del device 1, è un'incongruenza, dovrebbe stare sul device 1, non credi?

    In ogni caso e fermo restando che ALSA sa solo quello che gli dice (il driver della) interfaccia USB, il significato dei diversi plugin è proprio quello di costruire percorsi diversi dall'ingresso ai diversi endpoint, che vengono publicati (dal driver della) interfaccia ed indirizzati da ALSA come DEVICE ALSA proprio mediante i plugin.

    es.

    puoi settare il volume (v. alsamixer), in modo indipendentemente per ogni device ALSA (usando l'opportuno plugin), ma per farlo DEVI aprire i singoli device ALSA, non puoi farlo in modo generico (o meglio, puoi settare il volume generico se l'endpoint è pubblicato ed esiste un plugin apposito).

    (p.s. credo che il tuo problema con il volume stia qui).

    Quindi l'output NON E' univoco per il DEVICE HARDWARE, ogni DEVICE ALSA può indirizzare differentemente (ev. silenziando) i diversi endpoint pubblicati, ottennedo di fatto combinazioni di output diverse per DEVICE ALSA (uquindi plugin) diversi.

    Il problema è quando apri il device ALSA hw:X,Y. a quali endpoint ha accesso? Di certo saranno quelli che gli comunica (il driver della) interfaccia, su questo non ci piove, ma come li tratta? saperlo è utile, altrimenti si 'pensa' di ottenere X ed invece si ottiene Y.

    Spero di essere stato più chiaro, ma certament esono io che fatico a spiegarmi o non capisco.
    Ciao, Marco.

    "Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."
    — E. F. Schumacher (mis-attributed to A. Einstein)
    ________________________________________________________________________________
    Autore della patch R2 per Squeezelite e del plugin C-3PO. note libere
    Logitech media Server 7.9 > miniPc + squeezelite-R2 / SB+ > "Lu Scalmentu" NOS R2R DAC by TubeOne/ AudioResearch DAC 1-20 >
    Klimo Merlino Gold TPS > DIS Interconnect > Kent Gold > Reference > Monitor Audio Studio 20 SE

  3. #3
    byte
    Registrato
    Jan 2009
    Località
    Ancona, ma anche Torino e Roma.
    Messaggi
    110
    configurazione

    Predefinito

    Finalmente posso rimettere mano al client, ho provato a indirizzare il DAC con "hw:" e ora il display è coerente con il flusso inviato. Grazie!

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022