Chargement...
 
Skip to main content

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


calibrage du systême Hi-Fi ( LZK )

Articles: 33
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 :
Copy to clipboard
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 ?
Articles: 33
Merci Beaucoup Olinux !

Voilà de quoi occuper mes prochaines soirées 😀

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 ) ?
Articles: 2020 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 ?
Articles: 33
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 :
Copy to clipboard
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.😀

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

Merci !
Articles: 33
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 ! 😉) et voici ce que dis le terminal :
Copy to clipboard
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 :
Copy to clipboard
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.
Articles: 2020 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.
Articles: 33
Bonjour !

Alors voici donc :

1: générer un sweep grâce à glsweep :
Copy to clipboard
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 ) :

Copy to clipboard
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 :
Copy to clipboard
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 :
Copy to clipboard
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 ) :
Copy to clipboard
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 :
Copy to clipboard
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 :
Copy to clipboard
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 :
Copy to clipboard
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
Articles: 19560 France
Bon, j'essaye ( comme dans le lien ) d'ouvrir mon fichier ( caché ) : /.butefir_defaults :

Copy to clipboard
/home/racine/.brutefir_defaults


Ce n'est pas une commande valide pour cela.

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


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


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

Articles: 2020 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
Articles: 33
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 bases😀

Donc brutefir a l'air ok :
Copy to clipboard
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 :
Copy to clipboard
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 :
Copy to clipboard
racine@studio:~$ jconvolver /convolver/new 1 2 256 200000 0.5 Can't open '/convolver/new' for reading

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

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


bien sur j'ai essayé la magie :
Copy to clipboard
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 :
Copy to clipboard
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 :
Copy to clipboard
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 😂 connaissez vous l'expression : " une poule qui a trouver un couteau" ?
Articles: 33
j'ai aussi essayer cela :
Copy to clipboard
racine@studio:~$ jconvolver /home/racine/essaiimpulse2.pcm Line 2: Syntax error.


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


😕 une poule a trouver un couteau, je répète : une poule a trouver un couteau 😂
Articles: 33
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 ) :
Copy to clipboard
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 !
Articles: 33
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à 😛our 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 !!!!