upsampling (universo LMS/Squeezelite/Squeezeplay)

Pagina 13 di 88
prima
... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 63 ... ultimo
Visualizzazione dei risultati da 121 a 130 su 874
  1. #121
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da antonellocaroli
    Da quello che ricordo io, quando ho messo sqeezelite su voyageMPD, a paritá di upsample sqeezelite consumava molto meno risorse rispetto a MPD....ma oramai sono in altri ambienti...
    Cosa usavi per fare resampling con MPD?

    Se usavi libsamplerate, la differenza in termini di consumo di CPU rispetto a libsoxr è nota (e notevole), così come ovvia e ben nota è la differenza nel suono tra le due.
    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. #122
    tebibyte
    Registrato
    Aug 2011
    Età
    50
    Messaggi
    2,928
    configurazione

    Predefinito

    Paolo, MPD l ho usato anche con libsoxr0 cmnq c´era una differenza di consumo di risorse...minore ma c era...

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

    Predefinito

    scusate se insisto, ma MPD è un server, in fase di scan l'utilizzo di CPU schizza e sulla ALIX bloccava la riproduzione, uno dei motivi per cui ho abbandonato MPD. Secondo me è improprio confrontarlo con Squeezelite.

    Per quanto ne so io Libsamplerate:Libsoxr-lsr = 10:1 in termini di cpu, in termini sonori non so.

    @Paolo, una differenza tra :Libsoxr-lsr e libsoxr è comprensibile: la prima è un binding, quindi - per quanto ottimizzata - ha certamente un overhead rispetto all'utilizzo nativo, non mi stupisce.

    Mi lascia più perplesso, la tua convinzione che libsoxr non sia una semplice componente di libsox e quest'ultima di sox. Anche dovesse essere nato prima SOX che non libsox e libsoxr, non vedo nessun valido motivo per cui avrebbero dovuto replicare il codice in tre istanza diverse.

    Come ti ho già riportato, questo è quello che scrivono sulla home page di SOX:

    "SoX is often used to convert an audio file from one sampling rate to another rate ...omissis...The resampler is also available separately as the SoX Resampler library (libsoxr). "

    e questa è la descizione in sourgeForce di libsox:

    libsox is a library of sound sample file format readers/writers and sound effects processors. It is mainly developed for use by SoX but is useful for any sound application.

    EDIT: Da un'indagine nel codice QUI e QUI è evidente che SOX (applicazione, sox.c come sorgente) usa Libsox (sox.h nel sorgente). Non è chiarissimo, invece, il meccanismo di chiamata a libsoxr, ma è evidente che il codice di libsoxr NON è replicato in Libsox e nemmeno in SOX. Probabilmente utilizza un meccanismo dinamico per caricare le librerie, dovrei scendere molto più nel dettaglio per averne certezza, ma direi che può bastare.
    Ultima modifica di marcoc1712 : 13-03-2015 a 12:04
    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

  4. #124
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Vediamo di schiarirci un po' le idee... :-)

    codice:
    $ apt-cache show sox
    Package: sox
    Version: 14.4.1-5
    Installed-Size: 172
    Maintainer: Pascal Giard <pascal@debian.org>
    Architecture: i386
    Depends: libsox-fmt-alsa (= 14.4.1-5) | libsox-fmt-ao (= 14.4.1-5) | libsox-fmt-oss (= 14.4.1-5) | libsox-fmt-pulse (= 14.4.1-5), libsox-fmt-base (= 14.4.1-5), libsox2 (= 14.4.1-5), libc6 (>= 2.15), libgomp1 (>= 4.2.1)
    Suggests: libsox-fmt-all
    Description-en: Swiss army knife of sound processing
    [...]
    come è evidente, sox NON dipende da libsoxr0 ma da libsox2.

    Ora, vediamo le dipendenze di libsox per vedere se per caso questa a sua volta usa libsoxr0:
    codice:
    # apt-cache show libsox2
    Package: libsox2
    Source: sox
    Version: 14.4.1-5
    Installed-Size: 643
    Maintainer: Pascal Giard <pascal@debian.org>
    Architecture: i386
    Replaces: libsox1b
    Depends: libc6 (>= 2.7), libgomp1 (>= 4.9), libgsm1 (>= 1.0.13), libltdl7 (>= 2.4.2), libmagic1 (>= 5.12), libpng12-0 (>= 1.2.13-4), zlib1g (>= 1:1.1.4)
    Pre-Depends: multiarch-support
    Recommends: libsox-fmt-alsa | libsox-fmt-ao | libsox-fmt-oss | libsox-fmt-pulse, libsox-fmt-base
    Suggests: libsox-fmt-all
    Conflicts: libsox0, libsox0a, libsox1, libsox1a
    Description-en: SoX library of audio effects and processing
     SoX is the swiss army knife of sound processing.
     .
     This package contains the SoX library which enables to convert various formats
     of computer audio files in to other formats. It also allows you to apply
     various effects to sound files.
     .
     Any format support requires at least libsox-fmt-base.
     Sound card I/O requires libsox-fmt-alsa, libsox-fmt-ao, libsox-fmt-oss or
     libsox-fmt-pulse.
    [...]
    Homepage: http://sox.sourceforge.net
    quindi libsox2 (la libreria utilizzata da sox) NON dipende da libsoxr0.

    Tanto per conferma, andiamo a verificare:
    codice:
    $ ldd /usr/lib/libsox.so.2.0.0
            linux-gate.so.1 (0xb7793000)
            libltdl.so.7 => /usr/lib/i386-linux-gnu/libltdl.so.7 (0xb76d1000)
            libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xb76cc000)
            libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb76a1000)
            libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7688000)
            libmagic.so.1 => /usr/lib/i386-linux-gnu/libmagic.so.1 (0xb766a000)
            libgomp.so.1 => /usr/lib/i386-linux-gnu/libgomp.so.1 (0xb765a000)
            libgsm.so.1 => /usr/lib/i386-linux-gnu/libgsm.so.1 (0xb764a000)
            libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb7603000)
            libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb7458000)
            /lib/ld-linux.so.2 (0xb7795000)
            librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xb744f000)
            libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb7433000)
    non c'è traccia di libsoxr0, né di altre librerie che a loro volta potrebbero utilizzarla. Ergo, libsox NON usa libsoxr.

    Ora, tanto per scrupolo andiamo a guardare libsoxr:
    codice:
    # apt-cache show libsoxr0
    Package: libsoxr0
    Source: libsoxr
    Version: 0.1.1-1
    Installed-Size: 232
    Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>
    Architecture: i386
    Depends: libc6 (>= 2.3.6-6~), libgomp1 (>= 4.4)
    Pre-Depends: multiarch-support
    Description-en: High quality 1D sample-rate conversion library
     The SoX Resampler library `libsoxr' performs one-dimensional sample-rate
     conversion - it may be used, for example, to resample PCM-encoded audio.
     .
     It aims to give fast and high quality results for any constant (rational or
     irrational) resampling ratio. Phase-response, preserved bandwidth, aliasing,
     and rejection level parameters are all configurable; alternatively, simple
     `preset' configurations may be selected.
     .
     A simple API is provided that allows interfacing using commonly-used sample
     formats and buffering schemes.
    Multi-Arch: same
    Homepage: http://sourceforge.net/projects/soxr/
    per maggiore sicurezza:
    codice:
    # ldd /usr/lib/i386-linux-gnu/libsoxr.so.0.1.0
            linux-gate.so.1 (0xb7729000)
            libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb7679000)
            libgomp.so.1 => /usr/lib/i386-linux-gnu/libgomp.so.1 (0xb7669000)
            libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb764c000)
            libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb74a1000)
            /lib/ld-linux.so.2 (0xb772b000)
            librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xb7498000)
    evidentemente non è vero neanche il contrario: libsoxr non usa libsox.

    Per quanto riguarda libsoxr-lsr0, questa non è che una sorta di "wrapper" intorno a libsoxr0 che "imita" (e può sostituire) libsamplerate (utilizzando libsoxr0 come "motore"). Ovviamente:
    codice:
    apt-cache show libsoxr-lsr0
    Package: libsoxr-lsr0
    Source: libsoxr
    Version: 0.1.1-1
    Installed-Size: 48
    Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>
    Architecture: i386
    Depends: libc6 (>= 2.3.6-6~), libgomp1 (>= 4.2.1), libsoxr0 (>= 0.1.0)
    Pre-Depends: multiarch-support
    Description-en: High quality 1D sample-rate conversion library (libsamplerate bindings)
     The SoX Resampler library `libsoxr' performs one-dimensional sample-rate
     conversion - it may be used, for example, to resample PCM-encoded audio.
    [...]
     This package contains bindings compatible with the resampling library
     `libsamplerate' (constant rate).
    Multi-Arch: same
    Homepage: http://sourceforge.net/projects/soxr/
    solita verifica:
    codice:
    $ ldd /usr/lib/i386-linux-gnu/libsoxr-lsr.so.0
            linux-gate.so.1 (0xb77a7000)
            libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb7733000)
            libsoxr.so.0 => /usr/lib/i386-linux-gnu/libsoxr.so.0 (0xb76f3000)
            libgomp.so.1 => /usr/lib/i386-linux-gnu/libgomp.so.1 (0xb76e2000)
            libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb76c6000)
            libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb751b000)
            /lib/ld-linux.so.2 (0xb77a9000)
            librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xb7512000)
    com'era ovvio libsoxr-lsr0 viene "linkata" dinamicamente con libsoxr0 (e non ha nulla a che fare con libsox).

    Risulta perciò evidente che (almeno a livello di binari) si tratta senza dubbio di due librerie diverse e completamente indipendenti l'una dall'altra.

    Da notare che anche le home pages dei rispettivi progetti (entrambi su SourceForge) indicate nei relativi pacchetti Debian sono DIVERSE. Di conseguenza diversi sono anche i rispettivi repository git (e quindi i relativi alberi dei sorgenti).

    Per sox e libsox la home page è questa: "SoX - Sound eXchange | HomePage", mentre per libsoxr e libsoxr-lsr la home page è: "The SoX Resampler library | SourceForge.net".

    Da lì però si arriva (o forse dovrei dire "si torna") qui: The SoX Resampler library / Wiki / Home, dove si legge (nel "README"):
    The resampler is currently available either as part of `libsox' (the audio
    file-format and effect library), or stand-alone as `libsoxr' (this package).
    The interfaces to libsox and libsoxr are slightly different, with that of
    libsoxr designed specifically for resampling. An application requiring
    support for other effects, or for reading-from or writing-to audio files or
    devices, should use libsox (or other libraries such as libsndfile or
    libavformat).
    In conclusione si tratta di due progetti strettamente "collegati" tra loro, ma al tempo stesso distinti. Il codice sorgente del "motore" di resampling viene in qualche modo condiviso tra i due, come per altro è ovvio che sia (però non è affatto detto che i due progetti siano sempre "allineati" l'uno con l'altro in occasione di tutte le rispettive "release").
    Ultima modifica di UnixMan : 13-03-2015 a 01:29
    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.»

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

    Predefinito

    Originariamente inviato da UnixMan
    Vediamo di schiarirci un po' le idee... :-)

    codice:
    $ apt-cache show sox
    Package: sox
    Version: 14.4.1-5
    Installed-Size: 172
    Maintainer: Pascal Giard <pascal@debian.org>
    Architecture: i386
    Depends: libsox-fmt-alsa (= 14.4.1-5) | libsox-fmt-ao (= 14.4.1-5) | libsox-fmt-oss (= 14.4.1-5) | libsox-fmt-pulse (= 14.4.1-5), libsox-fmt-base (= 14.4.1-5), libsox2 (= 14.4.1-5), libc6 (>= 2.15), libgomp1 (>= 4.2.1)
    Suggests: libsox-fmt-all
    Description-en: Swiss army knife of sound processing
    [...]
    come è evidente, sox NON dipende da libsoxr0 ma da libsox2.

    Ora, vediamo le dipendenze di libsox per vedere se per caso questa a sua volta usa libsoxr0:
    codice:
    # apt-cache show libsox2
    Package: libsox2
    Source: sox
    Version: 14.4.1-5
    Installed-Size: 643
    Maintainer: Pascal Giard <pascal@debian.org>
    Architecture: i386
    Replaces: libsox1b
    Depends: libc6 (>= 2.7), libgomp1 (>= 4.9), libgsm1 (>= 1.0.13), libltdl7 (>= 2.4.2), libmagic1 (>= 5.12), libpng12-0 (>= 1.2.13-4), zlib1g (>= 1:1.1.4)
    Pre-Depends: multiarch-support
    Recommends: libsox-fmt-alsa | libsox-fmt-ao | libsox-fmt-oss | libsox-fmt-pulse, libsox-fmt-base
    Suggests: libsox-fmt-all
    Conflicts: libsox0, libsox0a, libsox1, libsox1a
    Description-en: SoX library of audio effects and processing
     SoX is the swiss army knife of sound processing.
     .
     This package contains the SoX library which enables to convert various formats
     of computer audio files in to other formats. It also allows you to apply
     various effects to sound files.
     .
     Any format support requires at least libsox-fmt-base.
     Sound card I/O requires libsox-fmt-alsa, libsox-fmt-ao, libsox-fmt-oss or
     libsox-fmt-pulse.
    [...]
    Homepage: http://sox.sourceforge.net
    quindi libsox2 (la libreria utilizzata da sox) NON dipende da libsoxr0.

    Tanto per conferma, andiamo a verificare:
    codice:
    $ ldd /usr/lib/libsox.so.2.0.0
            linux-gate.so.1 (0xb7793000)
            libltdl.so.7 => /usr/lib/i386-linux-gnu/libltdl.so.7 (0xb76d1000)
            libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xb76cc000)
            libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb76a1000)
            libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7688000)
            libmagic.so.1 => /usr/lib/i386-linux-gnu/libmagic.so.1 (0xb766a000)
            libgomp.so.1 => /usr/lib/i386-linux-gnu/libgomp.so.1 (0xb765a000)
            libgsm.so.1 => /usr/lib/i386-linux-gnu/libgsm.so.1 (0xb764a000)
            libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb7603000)
            libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb7458000)
            /lib/ld-linux.so.2 (0xb7795000)
            librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xb744f000)
            libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb7433000)
    non c'è traccia di libsoxr0, né di altre librerie che a loro volta potrebbero utilizzarla. Ergo, libsox NON usa libsoxr.

    Ora, tanto per scrupolo andiamo a guardare libsoxr:
    codice:
    # apt-cache show libsoxr0
    Package: libsoxr0
    Source: libsoxr
    Version: 0.1.1-1
    Installed-Size: 232
    Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>
    Architecture: i386
    Depends: libc6 (>= 2.3.6-6~), libgomp1 (>= 4.4)
    Pre-Depends: multiarch-support
    Description-en: High quality 1D sample-rate conversion library
     The SoX Resampler library `libsoxr' performs one-dimensional sample-rate
     conversion - it may be used, for example, to resample PCM-encoded audio.
     .
     It aims to give fast and high quality results for any constant (rational or
     irrational) resampling ratio. Phase-response, preserved bandwidth, aliasing,
     and rejection level parameters are all configurable; alternatively, simple
     `preset' configurations may be selected.
     .
     A simple API is provided that allows interfacing using commonly-used sample
     formats and buffering schemes.
    Multi-Arch: same
    Homepage: http://sourceforge.net/projects/soxr/
    per maggiore sicurezza:
    codice:
    # ldd /usr/lib/i386-linux-gnu/libsoxr.so.0.1.0
            linux-gate.so.1 (0xb7729000)
            libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb7679000)
            libgomp.so.1 => /usr/lib/i386-linux-gnu/libgomp.so.1 (0xb7669000)
            libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb764c000)
            libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb74a1000)
            /lib/ld-linux.so.2 (0xb772b000)
            librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xb7498000)
    evidentemente non è vero neanche il contrario: libsoxr non usa libsox.

    Per quanto riguarda libsoxr-lsr0, questa non è che una sorta di "wrapper" intorno a libsoxr0 che "imita" (e può sostituire) libsamplerate (utilizzando libsoxr0 come "motore"). Ovviamente:
    codice:
    apt-cache show libsoxr-lsr0
    Package: libsoxr-lsr0
    Source: libsoxr
    Version: 0.1.1-1
    Installed-Size: 48
    Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>
    Architecture: i386
    Depends: libc6 (>= 2.3.6-6~), libgomp1 (>= 4.2.1), libsoxr0 (>= 0.1.0)
    Pre-Depends: multiarch-support
    Description-en: High quality 1D sample-rate conversion library (libsamplerate bindings)
     The SoX Resampler library `libsoxr' performs one-dimensional sample-rate
     conversion - it may be used, for example, to resample PCM-encoded audio.
    [...]
     This package contains bindings compatible with the resampling library
     `libsamplerate' (constant rate).
    Multi-Arch: same
    Homepage: http://sourceforge.net/projects/soxr/
    solita verifica:
    codice:
    $ ldd /usr/lib/i386-linux-gnu/libsoxr-lsr.so.0
            linux-gate.so.1 (0xb77a7000)
            libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb7733000)
            libsoxr.so.0 => /usr/lib/i386-linux-gnu/libsoxr.so.0 (0xb76f3000)
            libgomp.so.1 => /usr/lib/i386-linux-gnu/libgomp.so.1 (0xb76e2000)
            libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb76c6000)
            libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb751b000)
            /lib/ld-linux.so.2 (0xb77a9000)
            librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xb7512000)
    com'era ovvio libsoxr-lsr0 viene "linkata" dinamicamente con libsoxr0 (e non ha nulla a che fare con libsox).

    Risulta perciò evidente che (almeno a livello di binari) si tratta senza dubbio di due librerie diverse e completamente indipendenti l'una dall'altra.

    Da notare che anche le home pages dei rispettivi progetti (entrambi su SourceForge) indicate nei relativi pacchetti Debian sono DIVERSE. Di conseguenza diversi sono anche i rispettivi repository git (e quindi i relativi alberi dei sorgenti).

    Per sox e libsox la home page è questa: "SoX - Sound eXchange | HomePage", mentre per libsoxr e libsoxr-lsr la home page è: "The SoX Resampler library | SourceForge.net".

    Da lì però si arriva (o forse dovrei dire "si torna") qui: The SoX Resampler library / Wiki / Home, dove si legge (nel "README"):


    In conclusione si tratta di due progetti strettamente "collegati" tra loro, ma al tempo stesso distinti. Il codice sorgente del "motore" di resampling viene in qualche modo condiviso tra i due, come per altro è ovvio che sia (però non è affatto detto che i due progetti siano sempre "allineati" l'uno con l'altro in occasione di tutte le rispettive "release").
    Non stiamo dicendo cose necessariamente in contraddizione, tu fai un'analisi delle dipendenze tra librerie in una particolare configurazione, io ho guardato nel codice sorgente.

    1. SOX dipende da Libsox. (0,1,2,...) è in funzione della release, si tratta sempre di Libsox, v. SOX.c e SOX.h.

    2. ne SOX ne LIBSOX hanno chiamate esplicite a Libsoxr, ma nel loro repository non c'è traccia di codice dedicato all'upsampling, ai filtri,...

    3. Libsox ha un meccanismo di chiamata dinamica delle librerie, per cui non è strettamente necessaria una dipendenza nel senso streto del termine (inversion of control).

    4. libsoxr-lsr è un wrapper, credo che qui diciamo esattamente la stessa cosa, probabilmente però ho capito da dove si genera il fraintendimento, colpa mia, nel post precedente avevo scritto libsox-lsr invece di libsoxr-lsr, ma intendevo quest'ultima. Chiedo scusa.

    Confermo trattarsi di due progetti e di due repository distinti, avevo postato 2 link infatti.

    SOX e LIBSOX non hanno internamente codice per l'upsampling, questo unito a quanto dichiarano esplicitamente nelle rispettive home pages, mi fa pensare che LIBSOXR venga utilizzata da libsox per il resampling mediante un collegamento dinamico in inversione di controllo (stile plug-in) quindi non derivabie da un analisi delle dipendenza a compile/buid time ma solo runtime.

    Per averne certezza bisognerebbe scendere in maggiore dettaglio e seguire un caso reale o di test con resampling, vedo di farlo.
    Ultima modifica di marcoc1712 : 13-03-2015 a 12:08
    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

  6. #126
    tebibyte
    Registrato
    Aug 2011
    Età
    50
    Messaggi
    2,928
    configurazione

    Predefinito

    Sarebbe interessante implementare in LMS una conversione PCM to DSD al volo.....

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

    Predefinito

    Credo che questo tagli la testa al toro, al netto di menzogne...


    Dal readMe:

    The resampler is currently available either as part of `libsox' (the audio
    file-format and effect library), or stand-alone as `libsoxr' (this package).
    The interfaces to libsox and libsoxr are slightly different, with that of
    libsoxr designed specifically for resampling. An application requiring
    support for other effects, or for reading-from or writing-to audio files or
    devices, should use libsox (or other libraries such as libsndfile or
    libavformat).
    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

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

    Predefinito

    Originariamente inviato da antonellocaroli
    Sarebbe interessante implementare in LMS una conversione PCM to DSD al volo.....
    C'è una qualche libreria che lo fa?
    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

  9. #129
    tebibyte
    Registrato
    Aug 2011
    Età
    50
    Messaggi
    2,928
    configurazione

    Predefinito

    Originariamente inviato da marcoc1712
    C'è una qualche libreria che lo fa?
    Mhhhh non so....ma via dop...come é possibile dsd>pcm...dovrebbe essere possibile anche il contrarrio...ma io non ne capisco sinceramente....

  10. #130
    tebibyte L'avatar di UnixMan
    Registrato
    Sep 2013
    Messaggi
    2,529
    configurazione

    Predefinito

    Originariamente inviato da marcoc1712
    Non stiamo dicendo cose necessariamente in contraddizione
    no, certo. Si tratta solo di capire come stanno le cose. Forse facciamo prima a chiedere agli sviluppatori... :-)

    Originariamente inviato da marcoc1712
    2. ne SOX ne LIBSOX hanno chiamate esplicite a Libsoxr, ma nel loro repository non c'è traccia di codice dedicato all'upsampling, ai filtri,...
    da qualche parte ci deve pur essere. Magari lo tengono in un qualche repository separato, che usano sia da una parte che dall'altra? boh.

    Originariamente inviato da marcoc1712
    3. Libsox ha un meccanismo di chiamata dinamica delle librerie, per cui non è strettamente necessaria una dipendenza nel senso streto del termine (inversion of control).
    sì, ma se Debian non dichiara nessuna dipendenza di sox/libsox da libsoxr -neanche come semplice "suggests"- vuol dire che non ne ha il benché minimo bisogno, non la usa in alcun modo, non c'è nessuna relazione funzionale.

    Se una funzionalità fondamentale di sox/libsox (qual è il resampling, da cui tra l'altro dipendono un mucchio di altre funzionalità diverse) dipendesse veramente da libsoxr, il pacchetto di sox e/o quello di libsox dovrebbero dipendere da libsoxr. Se non proprio come "Depends", quanto meno come "Recommends". Mentre invece non c'è neanche un semplice "Suggests".

    Ciò significa che, installando sox, libsoxr non viene installato (e neanche ne viene suggerita l'installazione). Come dire che ci si ritroverebbe una installazione di sox che "non funziona". E questo a causa di un bug banale e semplicissimo da risolvere nella definizione delle dipendenze del pacchetto. Il che può anche capitare, ma è a dir poco improbabile. Specie nella "stable".

    Elucubrazioni a parte, quello che taglia la testa al toro su questo punto è il fatto che sox funziona perfettamente (funzioni di resampling incluse) anche se libsoxr non è installata!

    Ergo tali funzioni devono necessariamente essere già incluse in libsox. Non si scappa: di certo non possono provenire in alcun modo da una libreria (libsoxr) che non è neanche installata nel sistema...

    Di più: poiché libsox2 sostanzialmente installa un unico file, quello della libreria (libsox.so.X.Y.Z) e non dipende da altre librerie o plugin fatta eccezione per le libsox-fmt-* (che in sostanza si occupano solo di I/O), il codice di resampling deve necessariamente essere integrato proprio all'interno di libsox.so, non può essere altrove.

    Originariamente inviato da marcoc1712
    SOX e LIBSOX non hanno internamente codice per l'upsampling,
    evidentemente... è impossibile. Da qualche parte il codice deve pur esserci.

    Presumibilmente ti sarà sfuggito: magari è "nascosto" da qualche parte, in funzioni/files/includes/librerie/whatever che non hanno nomi così ovvi per chi non ha confidenza con quel progetto.
    Ultima modifica di UnixMan : 13-03-2015 a 14:07
    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.»

Pagina 13 di 88
prima
... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 63 ... ultimo

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