Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

4 - Toutes les autres applications, les émulateurs...

Dernier post

calibrage du systême Hi-Fi ( LZK )

Kehevin Articles : 33 utilisateur non connecté
Bonjour, Bonsoir!

Je désire calibrer mon écoute, je suis sur Librazik3, j'ai entre les mains drc et brutefir.

Mon problème : drc s'utilise en ligne de commande et je n'ai encore pas trouver de tuto suffisamment clair pour le néophyte ( ++ ) que je suis, résultat : à part taper drc dans le terminal, puis drc --help,ou man drc, qui m'amène à une longue liste, je ne trouve rien à faire avec :
racine@studio:~$ drc --help

DRC 3.2.3: Digital Room Correction
Copyright (C) 2002-2019 Denis Sbragion

Compiled with double precision arithmetic.
Using the GNU Scientific Library FFT routines.

This program may be freely redistributed under the terms of
the GNU GPL and is provided to you as is, without any warranty
of any kind. Please read the file "COPYING" for details.

Usage: DRC [--help] [Options] DRCFile

Parameters:

  --help : show the full options list (long)
  Options: parameters overwriting options
  DRCFile: name of DRC configuration file

  Refer to the manual and samples for options
  details and file format

Available options:

  --BCBaseDir                    <STRING>
  --BCInFile                     <STRING>
  --BCInFileType                 <STRING>
  --BCSampleRate                 <INTEGER>
  --BCImpulseCenterMode          <STRING>
  --BCImpulseCenter              <INTEGER>
  --BCInitWindow                 <INTEGER>
  --BCPreWindowLen               <INTEGER>
  --BCPreWindowGap               <INTEGER>
  --BCNormFactor                 <FLOAT>
  --BCNormType                   <STRING>
  --MCFilterType                 <STRING>
  --MCInterpolationType          <STRING>
  --MCMultExponent               <INTEGER>
  --MCFilterLen                  <INTEGER>
  --MCNumPoints                  <INTEGER>
  --MCPointsFile                 <STRING>
  --MCMagType                    <STRING>
  --MCFilterFile                 <STRING>
  --MCFilterFileType             <STRING>
  --MCOutWindow                  <INTEGER>
  --MCNormFactor                 <FLOAT>
  --MCNormType                   <STRING>
  --MCOutFile                    <STRING>
  --MCOutFileType                <STRING>
  --BCDLType                     <STRING>
  --BCDLMinGain                  <FLOAT>
  --BCDLStartFreq                <FLOAT>
  --BCDLEndFreq                  <FLOAT>
  --BCDLStart                    <FLOAT>
  --BCDLMultExponent             <INTEGER>
  --HDMultExponent               <INTEGER>
  --HDMPNormFactor               <FLOAT>
  --HDMPNormType                 <STRING>
  --HDMPOutFile                  <STRING>
  --HDMPOutFileType              <STRING>
  --HDEPNormFactor               <FLOAT>
  --HDEPNormType                 <STRING>
  --HDEPOutFile                  <STRING>
  --HDEPOutFileType              <STRING>
  --MPPrefilterType              <STRING>
  --MPPrefilterFctn              <STRING>
  --MPWindowGap                  <INTEGER>
  --MPLowerWindow                <INTEGER>
  --MPUpperWindow                <INTEGER>
  --MPStartFreq                  <FLOAT>
  --MPEndFreq                    <FLOAT>
  --MPWindowExponent             <FLOAT>
  --MPFilterLen                  <INTEGER>
  --MPFSharpness                 <FLOAT>
  --MPBandSplit                  <INTEGER>
  --MPHDRecover                  <STRING>
  --MPEPPreserve                 <STRING>
  --MPHDMultExponent             <INTEGER>
  --MPPFFinalWindow              <INTEGER>
  --MPPFNormFactor               <FLOAT>
  --MPPFNormType                 <STRING>
  --MPPFOutFile                  <STRING>
  --MPPFOutFileType              <STRING>
  --DLType                       <STRING>
  --DLMinGain                    <FLOAT>
  --DLStartFreq                  <FLOAT>
  --DLEndFreq                    <FLOAT>
  --DLStart                      <FLOAT>
  --DLMultExponent               <INTEGER>
  --EPPrefilterType              <STRING>
  --EPPrefilterFctn              <STRING>
  --EPWindowGap                  <INTEGER>
  --EPLowerWindow                <INTEGER>
  --EPUpperWindow                <INTEGER>
  --EPStartFreq                  <FLOAT>
  --EPEndFreq                    <FLOAT>
  --EPWindowExponent             <FLOAT>
  --EPFilterLen                  <INTEGER>
  --EPFSharpness                 <FLOAT>
  --EPBandSplit                  <INTEGER>
  --EPPFFlatGain                 <FLOAT>
  --EPPFOGainFactor              <FLOAT>
  --EPPFFlatType                 <STRING>
  --EPPFFGMultExponent           <INTEGER>
  --EPPFFinalWindow              <INTEGER>
  --EPPFNormFactor               <FLOAT>
  --EPPFNormType                 <STRING>
  --EPPFOutFile                  <STRING>
  --EPPFOutFileType              <STRING>
  --PCOutWindow                  <INTEGER>
  --PCNormFactor                 <FLOAT>
  --PCNormType                   <STRING>
  --PCOutFile                    <STRING>
  --PCOutFileType                <STRING>
  --ISType                       <STRING>
  --ISPETType                    <STRING>
  --ISPrefilterFctn              <STRING>
  --ISPELowerWindow              <INTEGER>
  --ISPEUpperWindow              <INTEGER>
  --ISPEStartFreq                <INTEGER>
  --ISPEEndFreq                  <INTEGER>
  --ISPEFilterLen                <INTEGER>
  --ISPEFSharpness               <FLOAT>
  --ISPEBandSplit                <INTEGER>
  --ISPEWindowExponent           <FLOAT>
  --ISPEOGainFactor              <FLOAT>
  --ISSMPMultExponent            <INTEGER>
  --ISOutWindow                  <INTEGER>
  --ISNormFactor                 <FLOAT>
  --ISNormType                   <STRING>
  --ISOutFile                    <STRING>
  --ISOutFileType                <STRING>
  --PTType                       <STRING>
  --PTReferenceWindow            <INTEGER>
  --PTDLType                     <STRING>
  --PTDLMinGain                  <FLOAT>
  --PTDLStart                    <FLOAT>
  --PTDLStartFreq                <FLOAT>
  --PTDLEndFreq                  <FLOAT>
  --PTDLMultExponent             <INTEGER>
  --PTBandWidth                  <FLOAT>
  --PTPeakDetectionStrength      <FLOAT>
  --PTMultExponent               <INTEGER>
  --PTFilterLen                  <INTEGER>
  --PTFilterFile                 <STRING>
  --PTFilterFileType             <STRING>
  --PTNormFactor                 <FLOAT>
  --PTNormType                   <STRING>
  --PTOutFile                    <STRING>
  --PTOutFileType                <STRING>
  --PTOutWindow                  <INTEGER>
  --PLType                       <STRING>
  --PLMaxGain                    <FLOAT>
  --PLStart                      <FLOAT>
  --PLStartFreq                  <FLOAT>
  --PLEndFreq                    <FLOAT>
  --PLMultExponent               <INTEGER>
  --PLOutWindow                  <INTEGER>
  --PLNormFactor                 <FLOAT>
  --PLNormType                   <STRING>
  --PLOutFile                    <STRING>
  --PLOutFileType                <STRING>
  --RTType                       <STRING>
  --RTPrefilterFctn              <STRING>
  --RTWindowGap                  <INTEGER>
  --RTLowerWindow                <INTEGER>
  --RTUpperWindow                <INTEGER>
  --RTStartFreq                  <FLOAT>
  --RTEndFreq                    <FLOAT>
  --RTWindowExponent             <FLOAT>
  --RTFilterLen                  <INTEGER>
  --RTFSharpness                 <FLOAT>
  --RTBandSplit                  <INTEGER>
  --RTOutWindow                  <INTEGER>
  --RTNormFactor                 <FLOAT>
  --RTNormType                   <STRING>
  --RTOutFile                    <STRING>
  --RTOutFileType                <STRING>
  --PSFilterType                 <STRING>
  --PSInterpolationType          <STRING>
  --PSMultExponent               <INTEGER>
  --PSFilterLen                  <INTEGER>
  --PSNumPoints                  <INTEGER>
  --PSPointsFile                 <STRING>
  --PSMagType                    <STRING>
  --PSOutWindow                  <INTEGER>
  --PSNormFactor                 <FLOAT>
  --PSNormType                   <STRING>
  --PSOutFile                    <STRING>
  --PSOutFileType                <STRING>
  --MSMultExponent               <INTEGER>
  --MSOutWindow                  <INTEGER>
  --MSFilterDelay                <INTEGER>
  --MSNormFactor                 <FLOAT>
  --MSNormType                   <STRING>
  --MSOutFile                    <STRING>
  --MSOutFileType                <STRING>
  --TCNormFactor                 <FLOAT>
  --TCNormType                   <STRING>
  --TCOutFile                    <STRING>
  --TCOutFileType                <STRING>
  --TCOWFile                     <STRING>
  --TCOWFileType                 <STRING>
  --TCOWNormFactor               <FLOAT>
  --TCOWNormType                 <STRING>
  --TCOWSkip                     <INTEGER>
  --TCOWPrewindow                <INTEGER>
  --TCOWLength                   <INTEGER>
racine@studio:~$


Je ne trouve pas d'info pour m'en dire plus, là, ce n'est, à mes pauvres yeux, qu'une liste incompréhensive , je ne sais plus quoi tenter. J'ai fouillé le net mais je n'ai pas encore trouvé la lumière ...

Du coup, pour brutefir je n'ai même pas essayer encore de le mettre en route.

Quelqu'un aurait il la gentillesse de me révéler ses secrets de calibration ?

Merci bien, bien ,bien !
Bonne soirée/journée ou que sais-je ?

Kehevin Articles : 33 utilisateur non connecté
Merci Beaucoup Olinux !

Voilà de quoi occuper mes prochaines soirées biggrin

Du coup, je dois avoir mes réponses là dedans mais je me permet de poursuivre par :

Quel moyen, logiciel plus particulièrement, utilisez vous, amis utilisateur de linux, pour calibrer votre écoute ( à part DRC ) ?

Samuel Articles : 1996 utilisateur non connecté Allemagne
Salut,
tu peux utiliser Room EQ Wizard. Il a pas mal d'explications en ligne. Dis nous où/si ça coince pour toi. Tu as un micro pour calibrer ?

Kehevin Articles : 33 utilisateur non connecté
Merci Samuel !

Il me faut, peut être, vous expliquer, vite fait, ma position : je suis musicien ( passionné mais pas pro ) travaillant avec des techniciens ( pro, eux ) pour le mix et pour le master . Je cherche à calibrer mon son afin de pouvoir bien écouter leurs propositions, sans me déplacer, et de leurs faire un retour précis et clair en étant, au minimum, handicapé par le lieu ( un garage bas de plafond ) et le système ( alesis elevate 4 ) qui ne sont pas très adaptés .
Comme ce n'est ni mon taf, ni ma passion ( l'informatique et l'ingénierie sonore ), je manque donc de temps, et de connaissance pour tout comprendre ce qui se déroule.

Néanmoins, je tiens à utiliser Linux, pour des raisons philosophique uniquement ( pour l'instant ) et je compte bien y arriver, un jour, correctement. Pour cela, il me semble que Librazik offre une belle distribution de pouvoir le faire, moi, simple musicien. Depuis presque 3 ans je l'utilise sans grande prise de tête ( enfin si, au début, quand même ) grâce aux interface graphique qui m'évitent toute ligne de commande ( à part alsamixer, enfin juste pour l'allumer, le reste est visuel ) .

Voilà...

Samuel, merci pour ce retour, l'homme du mix m'avait déjà conseillé cela pour les mesures ( si j'ai compris drc= room eq wizard ) , d'ailleurs l'homme du mix et celui du master calibre avec Sonarworks ( si j'ai bien compris Brute fir = Sonarworks ) .

Pour des raisons techniques, je préfère passer par Synaptic pour installer quoi que ce soit ( je ne sais pas compiler ) mais tout n'est pas dispo. Par contre, je voulais essayer de compter sur Librazik qui possède DRC et Brutefir ( ou en tout cas sont sur synaptic ) et ne pas aller chercher quelque chose que j'ai déjà.

Comme je reconnais ma défaite, je vais voir Room Eq Wizard, mais il me dit qu'il me faut java8 . Sur synaptic, pas de java8 mais plein d'autres paquets avec java dans le nom, certains sont déjà installer . Est ce à cause de cela que je n'ai pas l'autorisation :
racine@studio:~$ /home/racine/Téléchargements/REW_linux_5_19.sh
bash: /home/racine/Téléchargements/REW_linux_5_19.sh: Permission non accordée
racine@studio:~$ ls-l
bash: ls-l : commande introuvable
racine@studio:~$ ls -l
total 4660
drwxr-xr-x 3 racine racine    4096 déc.  13 10:33 Bureau
drwxr-xr-x 9 racine racine    4096 nov.  30 13:40 Documents
drwxr-xr-x 6 racine racine    4096 déc.  11 17:00 Images
drwxr-xr-x 2 racine racine    4096 oct.  12 18:29 Modèles
drwxr-xr-x 3 racine racine    4096 oct.  12 19:41 Musique
drwxr-xr-x 2 racine racine    4096 oct.  12 18:29 Public
-rw-r--r-- 1 racine racine 4734040 déc.  15 08:13 qjackctl.log
drwxr-xr-x 3 racine racine    4096 déc.  14 16:43 Téléchargements
drwxr-xr-x 5 racine racine    4096 nov.   2 09:01 Vidéos
racine@studio:~$ su
Mot de passe : 
root@studio:/home/racine# /home/racine/Téléchargements/REW_linux_5_19.sh
bash: /home/racine/Téléchargements/REW_linux_5_19.sh: Permission non accordée

Je continue, je me retrouve là : https://www.commentcamarche.net/faq/3603-securite-droits-d-acces-gnu-linux ... et là, je me dis que ça me fait ...de me taper un cours sur les droits d'accès, je scroll juste assez pour me dire que je ne suis peut être pas au bon endroit, et je m'y replongerai plus tard avant de trop entamer ma sérénité.


Pour l'histoire du micro, me connaissant, je préfère d'abord faire fonctionner les logiciels, après j'en emprunte un ( j'évite, ainsi, de le squatter 6 mois... )

hier j'ai fouillé la doc transmise par Olinuxx ( merci encore ), malheureusement je ne trouve pas de lignes de commandes à taper, il y a, par contre, toutes les explications pour comprendre le processus et retourner ma petite tête.biggrin

Bon, je tiendrais au jus quand j'aurais réussis à installer EqWizard.

Merci !

Kehevin Articles : 33 utilisateur non connecté
hihi, je me disais bien que je n'étais pas au bon endroit, en fait j'ai simplement modifié les permissions du fichiers ( clic droit : ça ça me parle ! wink) et voici ce que dis le terminal :
racine@studio:~$ /home/racine/Téléchargements/REW_linux_5_19.sh
No suitable Java Virtual Machine could be found on your system.
The version of the JVM must be at least 1.7 and at most 1.8.
Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.


ensuite :
racine@studio:~$ java -version
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Debian-1deb10u1, mixed mode, sharing)


a plus pour la suite.

Samuel Articles : 1996 utilisateur non connecté Allemagne
Bon, j'ai un peu regardé la doc exhaustive et illisible de drc.
En fait c'est très simple.

Étape 1 : générer un sweep

Avec le programme glsweep intégré à drc, on génère un sweep.

Étape 2 : enregistrement

Jouer le sweep créé précédemment et l'enregistrer avec un micro de mesure.

Étape 3 : transformation

On utilise l'utilitaire lsconv pour déduire le fichier de correction à partir de l'enregistrement et du sweep de référence. (Pour moi c'est par très clair s'il faut retravailler l'enregistrement pour ça)

Étape 4 : correction

Avec brutefir? tu charges la réponse impulsionnelle créée à l'étape précédente. Terminé.

Je te laisse trouver les bons paramètres pour toi, tiens nous au courant.

Kehevin Articles : 33 utilisateur non connecté
Bonjour !

Alors voici donc :

1: générer un sweep grâce à glsweep :
racine@studio:~$ glsweep

GLSweep 1.1.1: log sweep and inverse filter generation.
Copyright (C) 2002-2019 Denis Sbragion

Compiled with double precision arithmetic.

This program may be freely redistributed under the terms of
the GNU GPL and is provided to you as is, without any warranty
of any kind. Please read the file "COPYING" for details.

Usage: glsweep rate amplitude hzstart hzend duration silence
        leadin leadout sweepfile inversefile

Parameters:

  rate: reference sample rate
  amplitude: sweep amplitude
  hzstart: sweep start frequency
  hzend: sweep end frequency
  duration: sweep duration in seconds
  silence: leading and trailing silence duration in seconds
  leadin: leading window length as a fraction of duration
  leadout: trailing window length as a fraction of duration
  sweepfile: sweep file name
  inversefile: inverse sweep file name

Example: glsweep 44100 0.5 10 21000 45 2 0.05 0.005 sweep.pcm inverse.pcm


un exemple est donné avec son explication plus haut, je vais garder les mêmes réglages, je me renseignerai par la suite sur ces donné. ( il doit y avoir le lieu qui rentre en compte, je pense ) :

racine@studio:~$ glsweep 44100 0.5 10 21000 45 2 0.05 0.005 essaisweep.pcm essaiinverse.pcm

GLSweep 1.1.1: log sweep and inverse filter generation.
Copyright (C) 2002-2019 Denis Sbragion

Compiled with double precision arithmetic.

This program may be freely redistributed under the terms of
the GNU GPL and is provided to you as is, without any warranty
of any kind. Please read the file "COPYING" for details.

Command line parsing.
Sweep generation setup.

Sweep length: 1984500 samples
Silence length: 88200 samples
Total sweep length: 2160900 samples
Total sweep file size: 8643600 bytes
Total inverse length: 1984500 samples
Total inverse file size: 7938000 bytes

Opening sweep file: essaisweep.pcm
Generating the sweep file...
Sweep file generated.
Sweep normalizaton factor: 7.34232e-06
Opening inverse file: essaiinverse.pcm
Generating the inverse file...
Inverse file generated.
racine@studio:~$


Là, 2 fichiers sont apparus dans mon répertoire utilisateur de base ( /home/utilisateur ) - il doit bien être possible de changer cette destination mais je ne le ferais pas -: essaisweep.pcm ainsi que inversesweep.pcm

2 Enregistrement

Il faut d'abord convertir le signal "essaisweep.pcm' en fichier wav car je ne peux pas lire un .pcm directement, à ma connaissance. J'utilise donc Sox ( section 4.4.1 du lien http://drc-fir.sourceforge.net/doc/drc.html )

Sox :
racine@studio:~$ sox
sox:      SoX v14.4.2

sox FAIL sox: Not enough input filenames specified

Usage summary: [gopts] [[fopts] infile]... [fopts] outfile [effect [effopt]]...

SPECIAL FILENAMES (infile, outfile):
-                        Pipe/redirect input/output (stdin/stdout); may need -t
-d, --default-device     Use the default audio device (where available)
-n, --null               Use the `null' file handler; e.g. with synth effect
-p, --sox-pipe           Alias for `-t sox -'

SPECIAL FILENAMES (infile only):
"|program [options] ..." Pipe input from external program (where supported)
http://server/file       Use the given URL as input file (where supported)

GLOBAL OPTIONS (gopts) (can be specified at any point before the first effect):
--buffer BYTES           Set the size of all processing buffers (default 8192)
--clobber                Don't prompt to overwrite output file (default)
--combine concatenate    Concatenate all input files (default for sox, rec)
--combine sequence       Sequence all input files (default for play)
-D, --no-dither          Don't dither automatically
--dft-min NUM            Minimum size (log2) for DFT processing (default 10)
--effects-file FILENAME  File containing effects and options
-G, --guard              Use temporary files to guard against clipping
-h, --help               Display version number and usage information
--help-effect NAME       Show usage of effect NAME, or NAME=all for all
--help-format NAME       Show info on format NAME, or NAME=all for all
--i, --info              Behave as soxi(1)
--input-buffer BYTES     Override the input buffer size (default: as --buffer)
--no-clobber             Prompt to overwrite output file
-m, --combine mix        Mix multiple input files (instead of concatenating)
--combine mix-power      Mix to equal power (instead of concatenating)
-M, --combine merge      Merge multiple input files (instead of concatenating)
--magic                  Use `magic' file-type detection
--multi-threaded         Enable parallel effects channels processing
--norm                   Guard (see --guard) & normalise
--play-rate-arg ARG      Default `rate' argument for auto-resample with `play'
--plot gnuplot|octave    Generate script to plot response of filter effect
-q, --no-show-progress   Run in quiet mode; opposite of -S
--replay-gain track|album|off  Default: off (sox, rec), track (play)
-R                       Use default random numbers (same on each run of SoX)
-S, --show-progress      Display progress while processing audio data
--single-threaded        Disable parallel effects channels processing
--temp DIRECTORY         Specify the directory to use for temporary files
-T, --combine multiply   Multiply samples of corresponding channels from all
                         input files (instead of concatenating)
--version                Display version number of SoX and exit
-V[LEVEL]                Increment or set verbosity level (default 2); levels:
                           1: failure messages
                           2: warnings
                           3: details of processing
                           4-6: increasing levels of debug messages
FORMAT OPTIONS (fopts):
Input file format options need only be supplied for files that are headerless.
Output files will have the same format as the input file where possible and not
overridden by any of various means including providing output format options.

-v|--volume FACTOR       Input file volume adjustment factor (real number)
--ignore-length          Ignore input file length given in header; read to EOF
-t|--type FILETYPE       File type of audio
-e|--encoding ENCODING   Set encoding (ENCODING may be one of signed-integer,
                         unsigned-integer, floating-point, mu-law, a-law,
                         ima-adpcm, ms-adpcm, gsm-full-rate)
-b|--bits BITS           Encoded sample size in bits
-N|--reverse-nibbles     Encoded nibble-order
-X|--reverse-bits        Encoded bit-order
--endian little|big|swap Encoded byte-order; swap means opposite to default
-L/-B/-x                 Short options for the above
-c|--channels CHANNELS   Number of channels of audio data; e.g. 2 = stereo
-r|--rate RATE           Sample rate of audio
-C|--compression FACTOR  Compression factor for output format
--add-comment TEXT       Append output file comment
--comment TEXT           Specify comment text for the output file
--comment-file FILENAME  File containing comment text for the output file
--no-glob                Don't `glob' wildcard match the following filename

AUDIO FILE FORMATS: 8svx aif aifc aiff aiffc al amb amr-nb amr-wb anb au avr awb caf cdda cdr cvs cvsd cvu dat dvms f32 f4 f64 f8 fap flac fssd gsm gsrt hcom htk ima ircam la lpc lpc10 lu mat mat4 mat5 maud nist ogg paf prc pvf raw s1 s16 s2 s24 s3 s32 s4 s8 sb sd2 sds sf sl sln smp snd sndfile sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 u32 u4 u8 ub ul uw vms voc vorbis vox w64 wav wavpcm wv wve xa xi
PLAYLIST FORMATS: m3u pls
AUDIO DEVICE DRIVERS: alsa

EFFECTS: allpass band bandpass bandreject bass bend biquad chorus channels compand contrast dcshift deemph delay dither divide+ downsample earwax echo echos equalizer fade fir firfit+ flanger gain highpass hilbert input# ladspa loudness lowpass mcompand noiseprof noisered norm oops output# overdrive pad phaser pitch rate remix repeat reverb reverse riaa silence sinc spectrogram speed splice stat stats stretch swap synth tempo treble tremolo trim upsample vad vol
  * Deprecated effect    + Experimental effect    # LibSoX-only effect
EFFECT OPTIONS (effopts): effect dependent; see --help-effect


La commande est celle ci : sox -t f32 -r 44100 -c 1 essaisweep.pcm -t wav -c 2 essaisweep.wav

Cela conçoit un fichier wav dans le même répertoire que les fichiers .pcm .

Je lis ce fichier et l'enregistre, pour ma part avec ardour, je l'exporte format 32 bits flottants ( voir section 4.4.2 : lsconv )

Que je retransforme ( mon export : enregistrement sweep qui est en wav ) en fichier .pcm avec sox :
racine@studio:~$ sox enregistrementsweep-2.1.wav -t f32 enregistrementsweep.pcm
sox WARN wav: wave header missing extended part of fmt chunk
. Je ne comprends pas sa conclusion mais j'ai un fichier .pcm

3 : Transformation ( lsconv )

J'ai d'abord essayer lsconv sans ce fichier pcm ( la conclusion de sox, plus haut, ne me dis rien qui vaille ) :
racine@studio:~$ lsconv enregistrementsweep-2.1.wav essaiinverse.pcm essaiimpulse.pcm

LSConv 1.1.1: log sweep and inverse filter convolution.
Copyright (C) 2002-2019 Denis Sbragion

Compiled with single precision arithmetic.

This program may be freely redistributed under the terms of
the GNU GPL and is provided to you as is, without any warranty
of any kind. Please read the file "COPYING" for details.

Command line parsing.
Convolution length computation.
Convolution arrays allocation.
Reading inverse file: essaiinverse.pcm
Inverse filter FFT...
Reading sweep file: enregistrementsweep-2.1.wav
Sweep and inverse convolution...
Finding impulse response peak value...
Peak position: 0
Peak value: 0.000000 (-inf dB)
Writing output file: essaiimpulse.pcm
Completed.


Mais ces résultat à base de 0 m'ont montré qu'il ne se passait pas grand chose .

Donc avec un fichier "enregistrementsweep" en . pcm , cela donne :
racine@studio:~$ lsconv enregistrementsweep.pcm essaiinverse.pcm essaiimpulse2.pcm

LSConv 1.1.1: log sweep and inverse filter convolution.
Copyright (C) 2002-2019 Denis Sbragion

Compiled with single precision arithmetic.

This program may be freely redistributed under the terms of
the GNU GPL and is provided to you as is, without any warranty
of any kind. Please read the file "COPYING" for details.

Command line parsing.
Convolution length computation.
Convolution arrays allocation.
Reading inverse file: essaiinverse.pcm
Inverse filter FFT...
Reading sweep file: enregistrementsweep.pcm
Sweep and inverse convolution...
Finding impulse response peak value...
Peak position: 2280158
Peak value: 0.083843 (-21.530638 dB)
Writing output file: essaiimpulse2.pcm
Completed.


J'ai donc mon fichier impulse nommé : "essaiimpulse2.pcm" comme demander.

Je passe donc à l'étape 4 : Brutefir

brutefir : https://web.archive.org/web/20180521024857/https://www.ludd.ltu.se/~torger/brutefir.html

J'ai essayé la magie :
racine@studio:~$ brutefir essaiimpulse2.pcm

BruteFIR v1.0m (November 2013)                                (c) Anders Torger

Parse error on line 1 in file "essaiimpulse2.pcm":
  unrecognised token.

ça ne marche pas ...

Bon, j'essaye ( comme dans le lien ) d'ouvrir mon fichier ( caché ) : /.butefir_defaults :
racine@studio:~$ /home/racine/.brutefir_defaults
/home/racine/.brutefir_defaults: ligne 3: float_bits: : commande introuvable
/home/racine/.brutefir_defaults: ligne 4: sampling_rate: : commande introuvable
/home/racine/.brutefir_defaults: ligne 5: filter_length: : commande introuvable
/home/racine/.brutefir_defaults: ligne 6: config_file: : commande introuvable
/home/racine/.brutefir_defaults: ligne 7: overflow_warnings: : commande introuvable
/home/racine/.brutefir_defaults: ligne 8: show_progress: : commande introuvable
/home/racine/.brutefir_defaults: ligne 9: max_dither_table_size: : commande introuvable
/home/racine/.brutefir_defaults: ligne 10: allow_poll_mode: : commande introuvable
/home/racine/.brutefir_defaults: ligne 11: modules_path: : commande introuvable
/home/racine/.brutefir_defaults: ligne 12: monitor_rate: : commande introuvable
/home/racine/.brutefir_defaults: ligne 13: powersave: : commande introuvable
/home/racine/.brutefir_defaults: ligne 14: lock_memory: : commande introuvable
/home/racine/.brutefir_defaults: ligne 15: sdf_length: : commande introuvable
/home/racine/.brutefir_defaults: ligne 16: safety_limit: : commande introuvable
/home/racine/.brutefir_defaults: ligne 17: convolver_config: : commande introuvable
/home/racine/.brutefir_defaults: ligne 21: coeff : commande introuvable
/home/racine/.brutefir_defaults: ligne 22: format: : commande introuvable
/home/racine/.brutefir_defaults: ligne 23: attenuation: : commande introuvable
/home/racine/.brutefir_defaults: ligne 24: blocks: : commande introuvable
/home/racine/.brutefir_defaults: ligne 25: skip: : commande introuvable
/home/racine/.brutefir_defaults: ligne 26: shared_mem: : commande introuvable
/home/racine/.brutefir_defaults: ligne 27: erreur de syntaxe près du symbole inattendu « } »
/home/racine/.brutefir_defaults: ligne 27: `};'


Heu ... je pense que j'ai un problème ici ...

Je pars cheercher des infos, si vous en avez, n'hésitez pas !

A bientôt

olinuxx Articles : 18531 utilisateur non connecté France
Citation :
Bon, j'essaye ( comme dans le lien ) d'ouvrir mon fichier ( caché ) : /.butefir_defaults :

/home/racine/.brutefir_defaults


Ce n'est pas une commande valide pour cela.

Si tu veux lire ce fichier :
cat /home/racine/.brutefir_defaults


Si tu veux l'éditer en ligne de commande :
nano /home/racine/.brutefir_defaults


Si tu veux l'éditer en graphique :
pluma /home/racine/.brutefir_defaults


Samuel Articles : 1996 utilisateur non connecté Allemagne
Salut, c'est déjà super.

2 pistes:
Essayer jconvolver qui fait la même chose que brutefir.

Sinon je pense effectivement que le problème se situe avec sox lors de la 2e conversion. Est ce que tu peux exporter en wav raw dans ardour ?
Brutefir n'arrive pas à lire le fichier pcm, c'est juste ça le soucis que je vois pour le moment

Kehevin Articles : 33 utilisateur non connecté
Salut !

Ok, merci Olinuxx pour ces infos essentielles, j'espère que nous ne sommes pas trop nombreux, dans mon cas, te faire répéter ces commandes de basesbiggrin

Donc brutefir a l'air ok :
racine@studio:~$ cat /home/racine/.brutefir_defaults
## DEFAULT GENERAL SETTINGS ##

float_bits: 32;             # internal floating point precision
sampling_rate: 44100;       # sampling rate in Hz of audio interfaces
filter_length: 65536;       # length of filters
config_file: "~/.brutefir_config"; # standard location of main config file
overflow_warnings: true;    # echo warnings to stderr if overflow occurs
show_progress: true;        # echo filtering progress to stderr
max_dither_table_size: 0;   # maximum size in bytes of precalculated dither
allow_poll_mode: false;     # allow use of input poll mode
modules_path: ".";          # extra path where to find BruteFIR modules
monitor_rate: false;        # monitor sample rate
powersave: false;           # pause filtering when input is zero
lock_memory: true;          # try to lock memory if realtime prio is set
sdf_length: -1;             # subsample filter half length in samples
safety_limit: 20;           # if non-zero max dB in output before aborting
convolver_config: "~/.brutefir_convolver"; # location of convolver config file

## COEFF DEFAULTS ##

coeff {
	format: "TEXT";     # file format
	attenuation: 0.0;   # attenuation in dB
	blocks: -1;         # how long in blocks
	skip: 0;            # how many bytes to skip
	shared_mem: false;  # allocate in shared memory
};

## INPUT DEFAULTS ##

input {
	device: "file" {};  # module and parameters to get audio
	sample: "S16_LE";   # sample format
	channels: 2/0,1;    # number of open channels / which to use
	delay: 0,0;         # delay in samples for each channel
	maxdelay: -1;       # max delay for variable delays
	subdelay: 0,0;      # subsample delay in 1/100th sample for each channel
	mute: false,false;  # mute active on startup for each channel
};

## OUTPUT DEFAULTS ##

output {
	device: "file" {};  # module and parameters to put audio
	sample: "S16_LE";   # sample format
	channels: 2/0,1;    # number of open channels / which to use
	delay: 0,0;         # delay in samples for each channel
	maxdelay: -1;       # max delay for variable delays
	subdelay: 0,0;      # subsample delay in 1/100th sample for each channel
	mute: false,false;  # mute active on startup for each channel
	dither: false;      # apply dither
};

## FILTER DEFAULTS ##

filter {
	process: -1;        # process index to run in (-1 means auto)
	delay: 0;           # predelay, in blocks
	crossfade: false;   # crossfade when coefficient is changed
};


Ce qui ne m'empêche pas de ne pas réussir à le faire fonctionner .

J'avais en tête qu'à partir du fichier généré par lsconv de DRC ( en l'occurence : essaiimpulse2.pcm ) brutefir, ou jconvolver filtrerai automatiquement ?! mais plus "j'avance" plus j'ai l'impression que je vais devoir faire de la configuration à n'en plus finir, cela, évidemment, m'effraie. Qu'en pensez vous ?

Sinon, côté jconvolver, qui, désormais, occupe mes recherches, j'ai trouvé ( enfin, c'est écrit dans le gestionnaire synaptic où chercher :/usr/share/doc/jconvolver/README.CONFIG. ) de la doc :
Configuration file format for jconvolver and fconvolver
-------------------------------------------------------

See the files in the directory 'config-files' for some
examples. Lines starting with '#' are comments.

The file processor fconvolver accepts the same config
files as the real-time processer jconvolver. Any commands
relating to Jack ports are ignored, and input and output
numbers refer to channels in the input and output files.


The following commands are available:


/convolver/new  <inputs> <outputs> <partition size> <maximum impulse length> <density>

    This command is always required and must be first one. The 'partition
    size' is the minumum partition size that will be used, and should be
    between 1 and 16 times the Jack period size. It will be adjusted (with
    a warning) otherwise. Processing delay will be zero if this is set to
    the Jack period size.

    The 'maximum impulse length' has little or no effect on CPU usage, but
    determines the amount of memory used, and will determine the sequence 
    of partition sizes that will be used, so it should not be much larger
    than the longest convolution you want to use. Unused inputs or outputs
    do not take significant CPU or memory. 

    The optional 'density' parameter should be between 0 and 1. It should
    be representative of the fraction of possible input/output pairs that
    will actually have a convolution defined between them. It is used as a
    hint to optimize the sequence of partition sizes for short and medium
    length convolutions.


/input/name <input number> <port name> {<source port>}
/output/name <output number> <port name> {<destination port>}

    These can be used to provide more informative ports names,
    and to optionally connect the inputs or outputs. Input and
    output numbers start at 1.


/cd <path>

    Change the directory where impulse response files are searched for to 'path'.
    Permits the use of short names in the next command. Initial value is the
    current directory.


/impulse/read   <input> <output> <gain> <delay> <offset> <length> <channel> <file>

    Read impulse from a sound file. 'Input', 'output' and 'channel'
    start from 1. Impulse files are read by libsndfile.
    'Gain' is the linear gain (i.e. not in dB) applied to the response.
    'Delay' sets the number of zero samples inserted before any data read.
    'Offset' can be used to skip frames at the start of the file.
    'Length' is the number of frames used, or zero for all.


/impulse/dirac  <input> <output> <gain> <delay>

    Create an impulse response consisting of a single sample of amplitude
    'gain' at position 'delay'. This is mainly used together with the
    /impulse/hilbert command to create complex matrices. Don't use this
    to measure CPU usage as only a single partition will be computed.


/impulse/hilbert  <input> <output> <gain> <delay> <length>

    Create an hilbert transform impulse response of the given lenght and
    having a delay equal to 'delay', which must be at least half the lenght
    (plus any latency compensation). The 90 degrees phase relation compared
    to a Dirac impulse with the same delay will be exact at all frequencies.
    The magnitude response will roll off at low frequencies, with a -3 dB
    point at approximately the sample frequency divided by the length.


The commands /impulse/read, /impulse/dirac and /impulse/hilbert
can be used any number of times on the same input/output pair.
The individual impulse responses will be added.


/impulse/copy  <input> <output> <from input> <from output>

    Copy a convolution to another input/output pair. This can save a lot
    of memory if the same long convolution has to be performed on many
    in/out pairs. This is a 'symbolic link' - forward transformed impulse
    data will be shared for such copies. This includes any additions made
    to the original after the copy has been made.


Mais je dois faire des erreurs de synthaxe et n'arrive pas à interpréter ce document ex :
Comment devrais-je inscrire :
/convolver/new .
J'essaie tout ce qui me passe par la tête :
racine@studio:~$ jconvolver /convolver/new 1 2 256 200000 0.5
Can't open '/convolver/new' for reading

racine@studio:~$ jconvolver /convolver/new 1 2 256 200000 0.5
Can't open '/convolver/new' for reading

racine@studio:~$ jconvolver convolver new 1 2 256 200000 0.5
Can't open 'convolver' for reading


bien sur j'ai essayé la magie :
racine@studio:~$ jconvolver essaiimpulse2.pcm
Line 2: Syntax error.


Je pense vraiment tourner autout du pot pour des raisons qui ne sont pas du ressort de ce sujet . Dois je ouvrir un autre post ailleurs pour mes problèmes de bases?

Cela marche aussi avec l'aide par exemple je vois ça :
racine@studio:~$ jconvolver

Jconvolver 0.9.3
(C) 2006-2014 Fons Adriaensen  <fons@linuxaudio.org>

Usage: jconvolver <options> <config file> {<connect file>}
Options:
  -h                 Display this text
  -v                 Print partition list to stdout [off]
  -L <nframes>       Try to compensate <nframes> latency
  -M                 Use the FFTW_MEASURE option [off]
  -V                 Use vector mode processing [off]
  -N <name>          Name to use as JACK client [jconvolver]
  -s <server>        Jack server name


j'essaie avec le -v mais il ne se passe rien :
racine@studio:~$ jconvolver

Jconvolver 0.9.3
(C) 2006-2014 Fons Adriaensen  <fons@linuxaudio.org>

Usage: jconvolver <options> <config file> {<connect file>}
Options:
  -h                 Display this text
  -v                 Print partition list to stdout [off]
  -L <nframes>       Try to compensate <nframes> latency
  -M                 Use the FFTW_MEASURE option [off]
  -V                 Use vector mode processing [off]
  -N <name>          Name to use as JACK client [jconvolver]
  -s <server>        Jack server name


Hahaha lol connaissez vous l'expression : " une poule qui a trouver un couteau" ?

Kehevin Articles : 33 utilisateur non connecté
j'ai aussi essayer cela :
racine@studio:~$ jconvolver /home/racine/essaiimpulse2.pcm
Line 2: Syntax error.


racine@studio:~$ jconvolver /home/racine/essaiimpulse2.pcm 1 2 256 200000 0.5
Line 2: Syntax error.


confused une poule a trouver un couteau, je répète : une poule a trouver un couteau lol

Kehevin Articles : 33 utilisateur non connecté
Ok,

grâce à cela : https://github.com/TheBigW/DRC/blob/master/.brutefir_config ainsi que https://torger.se/anders/brutefir.html
et grâce à " nano " ( et non cli ? come sur le doc ( merci Olinuxxx ) :
racine@studio:~$ cat /home/racine/.brutefir_essai
## DEFAULT GENERAL SETTINGS ##

float_bits: 32;             # internal floating point precision
sampling_rate: 44100;       # sampling rate in Hz of audio interfaces
filter_length: 65536;       # length of filters
config_file: "~/.brutefir_config"; # standard location of main config file
overflow_warnings: true;    # echo warnings to stderr if overflow occurs
show_progress: true;        # echo filtering progress to stderr
max_dither_table_size: 0;   # maximum size in bytes of precalculated dither
allow_poll_mode: false;     # allow use of input poll mode
modules_path: ".";          # extra path where to find BruteFIR modules
monitor_rate: false;        # monitor sample rate
powersave: false;           # pause filtering when input is zero
lock_memory: true;          # try to lock memory if realtime prio is set
sdf_length: -1;             # subsample filter half length in samples
safety_limit: 20;           # if non-zero max dB in output before aborting
convolver_config: "~/.brutefir_convolver"; # location of convolver config file

## COEFF DEFAULTS ##

coeff "essai" {
        filename:"/home/racine/essaiimpulse2.pcm"
	format: "FLOAT_LE";     # file format
	attenuation: 0.0;   # attenuation in dB
	blocks: -1;         # how long in blocks
	skip: 0;            # how many bytes to skip
	shared_mem: false;  # allocate in shared memory
};

## INPUT DEFAULTS ##

input "front-left", "front-right" {
	device: "alsa" { device : "hw:1"; ignore_xrun: true; };  # module and parameters to get audio
	sample: "S32_LE";   # sample format
	channels: 2/0,1;    # number of open channels / which to use
	delay: 0,0;         # delay in samples for each channel
	maxdelay: -1;       # max delay for variable delays
	subdelay: 0,0;      # subsample delay in 1/100th sample for each channel
	mute: false,false;  # mute active on startup for each channel
};

## OUTPUT DEFAULTS ##

output "playback_1", "playback_2" {
	device: "alsa" { device: "hw:1"; ignore_xrun: true };  # module and parameters to put audio
	sample: "S32_LE";   # sample format
	channels: 2/0,1;    # number of open channels / which to use
	delay: 0,0;         # delay in samples for each channel
	maxdelay: -1;       # max delay for variable delays
	subdelay: 0,0;      # subsample delay in 1/100th sample for each channel
	mute: false,false;  # mute active on startup for each channel
	dither: false;      # apply dither
};

## FILTER DEFAULTS ##

filter "DRC" {
	from_inputs: "front-left", "front-right";
	to_outputs: "playback_1", "playback_2";
	coeff:"essai";
	process: -1;        # process index to run in (-1 means auto)
	delay: 0;           # predelay, in blocks
	crossfade: false;   # crossfade when coefficient is changed


Je pense avoir réglé brutefir :
  • "front-left" "front-right", "playback_1" et "playback_2" sont les noms trouvés sur le graphe de Jack .mais y a t il vraiment un lien ?
  • je ne suis pas sur de ma " device " : sur le lien "github", nommé en début de paragraphe, sa "device" change entre l'input et l'output . Chez moi, il me semble bien que je n'ai qu'1 carte son qui fonctionne à la fois, j'ai donc rentré le nom de celle ci à chaque fois : hw:1 ( le hw:0 étant la carte son interne, enfin je pense : hda nvidia )
  • l'ordi est en 64 bits, mais le son que j'ai enregistrer et donc à la base de ma réponse est de 32bit/virgules flottantes . Est ce que je me trompe en inscrivant mes réglages Brutefir avec le 32bit ? ( je trouve, à l'instant, ceci : https://archimago.blogspot.com/2016/03/howto-logitech-media-server-brutefirdrc.html , où il me semble que le monsieur le fait en 64 bits )

Il me reste maintenant à le mettre en route ... mais cela reste un mystère à l'heure actuelle.

à bientôt !

Kehevin Articles : 33 utilisateur non connecté
Hello,


apparemment, il est possible d'utiliser jconvolver via Carla ( que je découvre ) et Ir ( qui travail avec Jconvolver ), cela permet d'avoir une interface graphique .

Bon, je charge mon "essaiimpulse.wav", car je ne peux pas ouvrir mes .pcm ( bizarre déjà :pour moi .wav n'amène pas les même info que .pcm non ? ) .

Ensuite, je ne pense pas que ce soit une bonne alternative car si je veux faire une calibration stéréo je serais obligé d'utiliser IR × 2, un pour chaque canaux, cela me semble être un peu du bricolage non ?


Si quelqu'un par ici calibre son écoute grâce à des software je suis prenant de toute solution !!!!

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

calixtus06, 09:10, jeu. 30 mars 2023: Bonjour et bienvenue à Fmacarel :-)
calixtus06, 07:00, sam. 25 mars 2023: Bonjour et bienvenue à Frkbod :-)
olinuxx, 18:48, dim. 19 mars 2023: Bonjour et bienvenue à Midolaarbi11@gmail.com cool
ravik857, 21:02, mar. 14 mars 2023: des nouvelles de cassis36 ? pas vu en 2023. La commu est-elle intéressée par la cornemuse ?
calixtus06, 21:32, lun. 13 mars 2023: Bonjour et bienvenue à Karamba :-)
karamba, 19:15, lun. 13 mars 2023: Bonjour à tous! Et merci de m'accueillir sur ce site que je consulte depuis de nombreuses années, sans avoir franchi le cap de l'inscription.
olinuxx, 11:39, dim. 12 mars 2023: Bonjour et bienvenue à ravik857 cool
olinuxx, 10:50, dim. 12 mars 2023: @KABORE Alain : il semble qu'il y ait un soucis avec l'adresse courriel que vous utilisez pour vous inscrire. Veuillez essayer avec une autre adresse courriel (pas yahoo).
sub26nico, 13:37, ven. 10 mars 2023: Sympa ce petit eq, pas vraiment transparent : [Lien]
calixtus06, 07:03, jeu. 09 mars 2023: Bonjour et bienvenue à Tux le Manchot et Johnbass :-)
allany, 11:26, mer. 08 mars 2023: Pour garder l'moral, pas d'gardénal, juste l'éditorial ! [Lien]
CyrilRos, 19:07, lun. 06 mars 2023: Bonjour cinnamon [Lien]