Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN

Le pub des programmeurs

  • 1 927 réponses
  • 117 participants
  • 131 712 vues
  • 130 followers
Sujet de la discussion Le pub des programmeurs
Salut :coucou: y a des programeurs sur AF si oui vous bossez sous quoi ?
Afficher le sujet de la discussion
1026

Citation : - pour le 32 bits flottant, on a 24 bits de mantisse et 8 d'exposant ?

oui

Citation :
- (en supposant qu'on a 24 bits de mantisse et 8 d'exposant) comment est représenté le 0dBFS : avec l'exposant à zéro et la mantisse à 1 ?

plutot l'inverse non ? 1e0=1 ... 0e1=0 ... en théorie le 0dFS est 0.

Citation :
- Dans ce cas, le headroom correspond à un passage de l'exposant de 2^0 à 2^7= 127, soit : 20log(127) = 42dB. D'où ma remarque : "en 32 bits flottants, on sature à +42dBFS". Je me trompe ?


oui
1027
C'est 2^24, en 24 bits, les flottants ca n'a rien a voir, ce sont des décimales après la virgule, donc on a :

résolution 24 bits : 2^24
résolution 32 bits : 2^24 avec e-8

soit 20log(16 777 000)=160dB

avec cette approche le flottant n'apporterait pas d'headroom supplémentaire,
juste une résolution plus fine qui permet d'éviter un peu plus les saturations numériques...

Citation :
- Dans ce cas, le headroom correspond à un passage de l'exposant de 2^0 à 2^7= 127, soit : 20log(127) = 42dB. D'où ma remarque : "en 32 bits flottants, on sature à +42dBFS".

pour du 8bits :clin:
1028
0 dB ça donne 1 hein :oops2:

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud

1029

Citation : : avec l'exposant à zéro et la mantisse à 1

dans ce cas oui
1030
Sans oublier le bit de signe...
1031
>>miles1981

Hors sujet :

Citation : http://www.phareaway.com/

c'est le bon lien ?

1032

Citation : en théorie le 0dFS est 0


Rhôôôôô :oops2:

Citation : C'est 2^24, en 24 bits, les flottants ca n'a rien a voir, ce sont des décimales après la virgule, donc on a :

résolution 24 bits : 2^24
résolution 32 bits : 2^24 avec e-8

soit 20log(16 777 000)=160dB

avec cette approche le flottant n'apporterait pas d'headroom supplémentaire,
juste une résolution plus fine qui permet d'éviter un peu plus les saturations numériques...


Je sais bien qu'un float = décimales après la virgule.

Citation : - pour le 32 bits flottant, on a 24 bits de mantisse et 8 d'exposant ?

- (en supposant qu'on a 24 bits de mantisse et 8 d'exposant) comment est représenté le 0dBFS : avec l'exposant à zéro et la mantisse à 1 ?

- Dans ce cas, le headroom correspond à un passage de l'exposant de 2^0 à 2^7= 127, soit : 20log(127) = 42dB. D'où ma remarque : "en 32 bits flottants, on sature à +42dBFS".


je cherche à connaître la réserve de gain dont on dispose, avant la moindre dégradation (= perte de précision). C'est ce que l'on entend par headroom.

Supposons que l'on ait un enregistrement 24 bits PCM. On peut recopier ces 24 bits dans la mantisse de notre float 32 bits, sans perte. Avec les autres suppositions (0dB représenté à 1, donc exposant 0 ; ce qui est effectivement le cas pour Ladspa, en principe similaire à VST), on positionne l'exposant à 0.
Le seul moyen d'avoir du headroom est d'augmenter l'exposant, donc de le faire passer de 0 à la valeur maxi sur 7 bits (étant bien entendu qu'il y a un bit de signe ;) ), soit 127 (ou 128, ça va pas changer grand chose). D'où un headroom de +42dB.


J'imagine que ceux qui ont déjà écrit des plug-in VST ou AU doivent savoir ça ?


Concernant Reaktor, je veux bien croire qu'il fonctionne en float, mais la saturation à 0dB est quand même dommage. Cela dit, j'ai fait la manip avec Reaktor 4. Ca peut avoir changé depuis...
1033

Citation : Citation :
en théorie le 0dFS est 0

Rhôôôôô

pardon pardon, autant pour moi, ... une sorte d absence
1034

Citation :

J'imagine que ceux qui ont déjà écrit des plug-in VST ou AU doivent savoir ça ?

Sont ils nombreux ? question naive, mais je ne me rend pas bien compte de la population dev.VST sur AF...
1035

Citation : mais la saturation à 0dB est quand même dommage.

??? :???: si t'as une solution à ca, je prends direct
1036

Citation :
je cherche à connaître la réserve de gain dont on dispose, avant la moindre dégradation (= perte de précision). C'est ce que l'on entend par headroom.


ok
je manipule pas trop dans le domaine des headroom, mais bon, en numérique il me semble qu'un headroom et toujours plus ou moins un faux headroom non ?
Une sorte de décalage du zéro ?
Vous pouvez me taper si vous voulez, mais je ne vois pas comment le 32bits float va empecher le signal qui sort du convertos de taper sur le zéro (0dB) le voltage dépasse la bande dB dispo.
Le float, c'est pour atteindre le 0dB avec plus de finesse, et permettre à de sauver des crash qui auraient eu lieu en 24b ?
1037
C'est pour permettre de faire les calculs sans soucis : même si au cours du trajet suivi par le signal il y a des endroits intermédiaires où ça dépasse le 0dBFS, du moment qu'à la fin ça retombe en-dessous, alors les saturations sont évitées.

Pour cela il faut évidemment que les calculs intermédiaires soient stockés sur des nombres "plus grand" que 0dBFS. C'est effectivement le cas (32 bits flottants, voire plus, contre 16 ou 24 bits fixe). On peut facilement le vérifier avec probablement n'importe quel séquenceur.

Par contre c'est assez peu expliqué dans la doc, du coup par curiosité je me demandais comment c'est fichu. De plus certains plug-in ne le gèrent pas (Reaktor 4...), donc il faut faire gaffe...

Le thread de discussion original (merci de lire le début pour ne pas revenir sur des points déjà traités).

Citation : Sont ils nombreux ? question naive, mais je ne me rend pas bien compte de la population dev.VST sur AF...


Il y en a déjà plusieurs qui ont posté dans ce thread. D'où espoir de réponse :mrg:
1038

Citation :
Le thread de discussion original (merci de lire le début pour ne pas revenir sur des points déjà traités).

ok
1039
Moi j'ai fait pas mal de VST. Les signaux à traiter doivent être compris entre -1 et 1 pour ne pas dépasser le 0 dBFS, et ça utilise par défaut le format float 32 bits de base du C/C++ :noidea:

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud

1040
Yope :| , le float cpp
1041

Hors sujet : Le site a fermé il y a qqs temps, oublié de mettre à jour ma signature...



Effectivement, on peut dépasser les -1/+1 pendant les traitements, à partir du moment où on repasse en-dessous avant d'écouter sur sa chaîne. A noter que ça ne suffit pas, qu'il faut parfois regarder entre les échantillons pour éviter le dépassement analogique (c'est le travail des limiteurs normalement).

Et le format VST supporte maintenant le double (64bits).
1042
Je programme un outil d'analyse audio en c++, pour certains paramètres je voudrais permettre une communication midi (assignation par défaut et par click droit, classique)

Est ce que vous utilisez des librairies ou pas pour ca ?
1043

Citation : Est ce que vous utilisez des librairies ou pas pour ca ?


J'ai le même problème que toi: j'ai trouvé MidiIO qui est compatible Win32/Linux (bientôt Mac OSX) ou PortMusic qui est compatible WIN32/MacOSX/Linux.

A+
1044
Cool. J'ai trouvé LibJdkMidi mais ca m'a rien dit (malgré GPL-Xplateform). J'ai pensé à Jack (audio) mais je ne sais plus s'il implémente le midi...
1045

Hors sujet :

Citation : Who Uses PortMusic?
Ross Bencina, AudioMulch.com (AudioMulch)


Ross Bencina a fait ReactiVision, le module de reconnaissance visuelle intégré à la ReacTable.

1046

Citation : Moi j'ai fait pas mal de VST. Les signaux à traiter doivent être compris entre -1 et 1 pour ne pas dépasser le 0 dBFS, et ça utilise par défaut le format float 32 bits de base du C/C++


Donc ça devrait correspondre avec ce que je disais...
0dBFS -> amplitude 1 -> mantisse de -1 à 1 et exposant à zéro
Le headroom est fourni par l'exposant, soit 2^7 (ou 42dB). Et normalement les plug-in ne devraient pas saturer en dessous.

Pour Reaktor, ça semble particulièrement dommage de saturer à 0dBFS, vu qu'on n'a pas forcément des jauges tout le long du trajet du signal.
:??:
1047
Vraiment chelou ce truc avec Reaktor...

Sinon, en librairie audio, j'utilise exclusivement JUCE, c'est multi-plateformes, très bien documenté, et il y a tout ce qu'il faut au niveau gestion audio et MIDI.

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud

1048
Mmh... Juce ca m'a pas paru démend, dans la démo t'as surtout des exemples OpenGL ou graphiques qui font largement penser à du QT...mais ca vaut le coup de s'y pencher. La gestio Midi dans Juce, c'est quoi ? Lecture fichier ou aussi gestion de ports/communication ?
sinon pour PortMidi, t'as trouvé des tutos ?
1049
Essaie d'interfacer de l'audio (portaudio ou Asio en dur) avec Qt en version libre, tu m'en diras des nouvelles. ;)

Affiliation : Dirigeant Fondateur d'Orosys - Two notes Audio Engineering

1050
Lol, :mdr: un jour peut être... je me suis dépatouillé avec Fmod pour l'audio, mais pour du Sysex dans Qt ... j'irai me jeter un autre jour.