| Résolu: [CBLX] SoX ne veut pas enregistrer à 44100 Hz |
[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]
Bonjour Aldo et tous,
ENFIN! :) Ben c'est pas trop tôt! :)
En fait, il y avait tout plein de soucis. Pour la plupart, c'était des problèmes dus au fait que je n'avais jamais pris le temps de comprendre la fameuse libasound, (Alsa, c'est pas du gâteau). Et puis, j'avoue; je suis maniaque. Je ne voulais surtout pas d'un rééchantillonnage logiciel. Ma carte étant capable d'échantillonner au moins en 44100 Hz, 48 kHZ, et peut-être d'autres fréquences encore, je voulais que mes enregistrements soient échantillonnés en hardware, (par la carte donc), précisément dans la fréquence que je voulais. Donc, entre autres 44,1 kHz pour des vinyles susceptibles d'être gravés par la suite pour écouter dans le vieux baladeur radio de ma femme.
Dans un premier temps, je m'étais concentré sur les warnings que SoX me renvoyait à propos de la fréquence d'échantillonnage mais mauvaise pioche. J'aurais dû faire attention au message qui après quelques secondes arrêtaient abruptement le programme en me disant qu'il n'avait pas pu configurer l'appareil par dé"faut, un message du genre "Could not configure default device". Ceci venait du fait que, sans me casser la tête, j'avais copié un fichier .asoundrc depuis quelque site web en me disant que ça allait faire le taf vu que la config décrie par l'auteur de la page ressemblait à la mienne. Oui mais ce n'était pas la mienne. En regardant les résultats obtenus par la commande alsa-info et en étudiant plus attentivement la doc d'alsa, j'ai fini par produire un .asoundrc qui fait le job. SoX est maintenant en mesure de capturer mais avec encore tout plein de warnings. A nouveau étude des résultats de alsa-info pour me rendre compte que, bien que ma carte sache échantillonner à différentes fréquences, elle ne supporte qu'un seul mode d'encodage, qu'alsa-info m'a appelé "S24_3LE". De par S24, j'ai compris que les échantillons admis par, ou sortant de la carte, sont systématiquement encodés sur 24 bits. Le LE à la fin, j'ai compris que ça voulait dire Little Endian. Le chiffre 3 avant LE reste pour moi un mystère à ce jour mais, en me disant qu'il serait toujours temps de s'y intéresser plus tard dans le cas où ça ne marcherait toujours pas, j'ai commencé à bidouiller mon script.
D'abord, j'ai enlevé les options "-b 16 -e signed-integer" de la commande "rec". Et voilà. Plus de warnings sur la commande "rec". Histoire d'être sûr, j'ai ajouté une option "-V4" pour augmenter la verbosité de SoX au niveau debugging et j'ai constaté qu'il capturait bien des échantillons de 24 bits à une fréquence de 44100 par seconde.
Après, en lisant la doc de SoX, j'ai appris que pour traiter ses données, il commençait toujours par les réencoder en mots de 32 bits. Autrement dit, il commençait par ajouter systématiquement 8 bits à chaque échantillon qu'il recevait. Si je voulais avoir in fine des échantillons de 16 bits dans mon fichier résultat, je devais accepter ce qu'ils appellent le "dithering". Il en résulte un écrasement de la dynamique mais, j'avoue n'avoir jamais su différencier un son échantillonné en 24 bits, du même son échantillonné en 16 bit, pas comme le rééchantillonnage "à la Microsoft" pour faire jouer un CD sur une carte à 48 kHz. Et une fois que le script a fonctionné, j'ai enlevé l'option "-V4" pour qu'il ne bavarde plus trop.
En résultat, le script qui marche chez moi pour capturer mes vinyles est le suivant:
rec -r 44100 -p silence 1 0.50 0.1% 1 02:00 0.1% | \ sox -p -b 16 song.flac silence 1 0.50 0.1% 1 2.0 0.1% : newfile : restart
Maintenant, y a plus qu'à! :)
Merci à tous pour votre aide. Bon après-midi. @+ ChD
Yooh Chris, essayes dans un premier temps de "le laisser faire" avec son 48 kHz et de convertir toi-même par la suite ton enregistrement avec lame en mp3 ou avec sox en 44,1 kHz, en wav ou autre. Tu as une raison particulière d'utiliser le format .flac ? Pour info, le standard en audio (cf. Tascam, mon Akai MPC2500 et autres apapreils) c'est le format WAV. On est donc sur du 44.1 16-bit. Essayes aussi - quand ça bloque - avec bcp moisn de params / d'options, juste la base, pour voir où ça coince exactement... ça m'est arrivé dans d'autres situations (scriptes) de me dépétrer grâce au fait qu'on retente le coup avec un minimum d'options, puis on re rajoute petit à petit (c'est pas très scientifique ma méthode, je sais! mais en studio lorsuq'on a un big problem, on y va tj en reprenant une à une les étapes). Bàt, Aldo. On Fri, Jan 23, 2026 at 10:53:37AM +0100, Christophe Delaunay wrote:Bonjour tous, Ma carte son est une vieille EMU 0202 USB. Pour l'avoir utilisée bien des fois, je sais qu'elle peut échantillonner soit à 44100 Hz, soit à 48000 Hz. Mais elle est tellement vieille et plus maintenue que je ne peux plus m'en servir que sous Linux, (avec mon Raspberry Pi donc). Comme la machine n'est pas très puissante, je me suis contenté d'y mettre un Linux sans environnement graphique et je m'en sers donc exclusivement dans une console. Comme j'aimerais m'en servir pour numériser des vieux Vinyles, j'ai installé SoX. Pour lancer un enregistrement, j'utilise la commande suivante: rec -r 44100 -b 16 -e signed-integer -p \ silence 1 0.50 0.1% 1 02:00 0.1% | \ sox -p song.flac silence 1 0.50 0.1% 1 2.0 0.1% : \ newfile : restart Malheureusement, SoX n'aime pas le paramètre "-r 44100". Il m'envoie un avertissement m'indiquant qu'il ne peut pas configurer le hardware correctement et persiste donc à échantillonner en 48000 Hz. Alors certes, comme je demande de produire du FLAC, SoX rééchantillonne en 44100 Hz après coup mais je préférerais que le hardware fasse le bon échantillonnage du premier coup pour éviter les artefacts, surtout que je sais l'avoir fait avec cette même carte, mais sur un très vieux PC Windows. D'où ma question: Connaîtriez-vous un autre moyen pour forcer ma carte son à échantillonner en 44100 Hz par défaut? Le système qui tourne sur mon Raspberry est un Debian 12 64-bits pour processeurs ARM. J'ai bien installé quelques utilitaires Alsa dont amixer ou alsamixer mais je n'ai peut-être pas mis tout ce qu'il faudrait pour savoir ajuster des paramètres comme le taux d'échantillonnage. Donc, toute idée est bonne à prendre. Merci infiniment. Bonne journée. @+ ChD -- CBLX - CarrefourBLinuX MailingListe Pour obtenir de l'aide, envoyez le sujet help à: carrefourblinux-request@xxxxxxxxxxxxxxxxxxx Archives: http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux ou http://www.mail-archive.com/carrefourblinux@xxxxxxxxxxxxxxxxxxx/
| Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |