Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN

Le pub des programmeurs

  • 1 927 réponses
  • 117 participants
  • 131 737 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
1351

Java est effectivement plus intuitif et facile à coder (àmha). après, c'est un peu moins performant. Mais c'est le même fonctionnement sur toute machine avec une JVM, pas besoin de recoder spécifiquement.

mais bon c'est comme tout, faut faire des compromis, et trouver le meilleur langage pour telle situation.

 

Référence en matière de bon gout capillaire et vestimentaire.
homme à tête de zizi.

http://soundcloud.com/djardin

1352
@VvSurLeRiddim
Toutes les appli web que j'ai vu en dotnet étaient plus lente qu'en java !
En appli autonome ou client lourd, java reste assez lent, ok, mais pas en serveur
1353
C'est sûr que si on parle d'audio, Java c'est sans doute pas le top.

Je pense que c'est en grande partie pour ça que les applis de musique et/ou de son sur iOS sur vachement plus réactives que sur Android, objective-C étant un langage compilé assez léger, alors que sur Android tout passe par une JVM "sauce google" par défaut.

Enfin je crois qu'il y a une API en C pour faire des trucs plus performants mais ça fait longtemps que je ne me suis pas penché sur la question.

D'ailleurs quelqu'un aurait il des livres, des articles ou des tutos à conseiller pour bien débuter en audionumérique? Il me faudrait quelque chose avec des bonnes bases théorique, et si possible des exemples pratiques en C ou C++.

Je ne voudrais pas spécialement faire des VSTs mais bricoler des ptits programmes standalone pour comprendre les bases. Pour windows le SDK de asio4all est il payant? Sinon sans doute que l'API de Jack sous Linux doit être sympa pour bricoler rapidement.

[ Dernière édition du message le 08/01/2013 à 14:41:43 ]

1354
je dis pas qu'il n'y a pas plus lourd ni plus lent et que c'est la pire techno au monde, je dis juste que c'est loin d'être transcendant niveau perfs, c'est tout.
Après bien sûr la compatibilité multi-plateformes est intéressante et le langage bien foutu, j'ai jamais dit le contraire.
1355

En audio numérique, je pense que le plus dur c'est pas la partie programmation, c'est plutôt la théorie de traitement du signal, de filtres, et tout. faut faire du matlab à balle ?

Référence en matière de bon gout capillaire et vestimentaire.
homme à tête de zizi.

http://soundcloud.com/djardin

1356
LéoMoldo : pour le traitement du signal en général : http://www.dspguide.com/
Facilement compréhensible et très bon.

Pour l'audionumérique : http://crca.ucsd.edu/~msp/techniques.htm
Pas encore lu, mais il paraît que c'est très bien aussi.

1357
En oui en fait si il y a un bon bouquin de théorie avec des exemples de scripts Matlab je suis aussi preneur, je peux me débrouiller avec GNU Octave qui est libre et gratuit et qui est compatible avec Matlab.

J'avais déjà implémenté un algo de FFT sur Matlab pour un cours de Maths, mais c'était il y a longtemps et je me rappelle avoir déjà pas mal galéré à comprendre la théorie à l'époque. Il faut dire que j'étais en Erasmus et j'avais que des bouquins en allemand sous la main :??:

Mais ça me dirait bien aussi de coder direct en C ou C++, pour pouvoir faire du temps réel et des ptites interfaces graphiques. Il faudrait peut être que je checke le framework Juce qui a l'air d'être pas mal utilisé pour l'audio. Ou alors que je me remette à Qt, j'ai jamais regardé ce qu'il était possible de faire en audio avec.

1358
Il y a aussi ça : https://puredata.info/

mais faut pas avoir peur d'y passer des nuits ;) sans causer java ni C++

Sinon, pour les transformées de fourier il y a de bonne bibliothèques en C++ et en java
http://www.fftw.org/ pour le C et jtransforms pour JAVA

[ Dernière édition du message le 08/01/2013 à 17:29:56 ]

1359
Il y a Csound aussi qui est spécialisé en traitement audio, il parait qu'il est utilisable avec d'autres langages plus conventionnels.
1360
Csound est un peu vieux, mais on peut faire pas mal de choses avec.

Pour les plus audacieux, il y a un kit de dev (linux/ + ou - multiplateforme) spécialisé en audio sur le site du CCRMA qui reprend l'essentiel des outils expérimentaux de ce labo...

https://ccrma.stanford.edu/software/stk/

[ Dernière édition du message le 08/01/2013 à 17:34:27 ]

1361
Pure Data j'ai déjà pas mal testé c'est très sympa mais moi ce que je veux c'est apprendre comment ça marche à bas niveau et non pas me créer mon "instrument" personnel.

CSound c'est pareil, il y a des bindings pour plein de langages, ce qui me permettrait sans doute de développer des trucs sympas rapidement, mais je ne sais pas si c'est le mieux pour comprendre la théorie.

En fait il faudrait que je me plonge dans du code existant: j'avais téléchargé les sources d'un synthé libre et gratuit pour linux (codé en C++) mais je sentais qu'il me manquait de la théorie pour m'y repérer.

Edit : merci pour les liens Zerosquare et citron, j'avais zappé vos posts...:oops:

[ Dernière édition du message le 08/01/2013 à 17:57:29 ]

1362
Citation de citron69 :
Pour le C++, si on ne veut pas payer ni pirater, il faut se lever de bonne heure (je l’ai fait avec un MINGW pour les bibliothèques et GCC et un CODEBLOCKS) avant de sortir un premier VSTi.

Mais non, il y a la version express de Visual Studio pour ça ;)
1363
Citation de LéoMoldo :
Enfin je crois qu'il y a une API en C pour faire des trucs plus performants mais ça fait longtemps que je ne me suis pas penché sur la question.

Non, pas vraiment. C'est JNI et ça oblige à copier les données en entrée et en sortie.
Citation de LéoMoldo :
D'ailleurs quelqu'un aurait il des livres, des articles ou des tutos à conseiller pour bien débuter en audionumérique? Il me faudrait quelque chose avec des bonnes bases théorique, et si possible des exemples pratiques en C ou C++.

Je ne voudrais pas spécialement faire des VSTs mais bricoler des ptits programmes standalone pour comprendre les bases. Pour windows le SDK de asio4all est il payant? Sinon sans doute que l'API de Jack sous Linux doit être sympa pour bricoler rapidement.

Difficile de trouve un ouvrage à ce niveau :(
Asio4All n'est qu'une implémentation du protocole ASIO sous Windows, ce n'est pas un SDK. C'est Steinberg qui le propose gratuitement, comme pour le SDK VST (mais attention, ce n'est pas la même chose !)
1364
@LeoMoldo, je ne suis pas sur que tu puisses comprendre grand chose en faisant du reverse engineering sur un VST si tu n'as pas de bonne bases de traitement du signal.

Le plus simple pour commencer est de faire un standalone qui travaille en différé sur des fichiers wav. L'avantage, c'est que tu auras des traces des traitements que tu auras fait (avec audacity en mode sonagramme par exemple).

Une autre option serait d'utiliser Reaper et d'écrire tes plugs en langage JS.

je pense que ce qu'il y a de mieux sur le web pour vraiment comprendre le traitement et la synthèse de signal audio ce sont les pages et les articles de Julius Orion Smith III du CCRMA (Stanford) : https://ccrma.stanford.edu/~jos/ (puis suivre liens sur les Online Books).
Faut causer Anglais et avoir des bases de maths et traitement du signal.

[ Dernière édition du message le 08/01/2013 à 21:25:12 ]

1365
@miles : merci pour les précisions, je vais renseigner sur le protocole asio. Je m'étais pas mal documenté sur Jack et Alsa sous Linux, mais je connais mal l'audio sous windows.

@citron: ouais en fait je pourrai commencer par des programmes en ligne de commande qui traitent des fichiers wav en différé, l'inconvénient par rapport à du Matlab c'est que je ne bénéficie par des outils de visualisations intégrés, mais l'avantage c'est que je peux réutiliser mon code par la suite pour des projets plus complexes si j'ai envie.

J'ai Reaper, j'utilise assez peu les plugins (en dehors de l'égalisation et du compresseur) mais c'est pas con, j'avais pas pensé à regarder le code des plugs JS. En plus on peut les modifier et tester très rapidement en plus non?

Pour la théorie je vais essayer de me chopper une bonne référence de bouquin sur le traitement du signal en français.
1366
La syntaxe de JS est assez proche du C mais peut être assez déroutante car simplifiée à l'extrême. Par contre, comme tu dis, l'utilisation est directe et temps réel (bien que les perfs soient très moyennes).
Je pense que vu ton approche, ça peut très bien te convenir.

Dans les cours de traitement du signal "typiques" qu'on trouve en Français, tu trouveras en général tout ce qu'il faut sur la transformée de Fourier et sur la théorie des filtres.
Par contre, peu de choses sur les effets spécifiques à l'audio, sur la distorsion, la reverb, les modulations. C'est mieux de se mettre à l'anglais quand même.

En cherchant bien, il y a quelques rares exceptions ;)

Tiens, au fouillant sur le net je t'ai trouvé une copie du poly de Jean Laroche. Ca date de 95 mais c'est toujours bon !

https://perso.telecom-paristech.fr/~prado/enseignement/polys/tsaf.pdf

[ Dernière édition du message le 09/01/2013 à 14:22:37 ]

1367
Merci!
1368
Il ya Faust qui est assez intéressant pour faire du dsp.
http://faust.grame.fr/

C'est une algebre qui se compile en C avec des interface pour plusieurs formats (ladspa, Jack,...)

[ Dernière édition du message le 09/01/2013 à 17:26:46 ]

1369
Ouah ça a l'air génial ce truc : j'imagine qu'on peut regarder le code C++ généré, ça doit être super instructif!

Ca a l'air d'être exactement ce que cherchais : un langage à la CSound mais conçu pour le temps réel sans besoin d'un environnement pour le faire tourner. Une fois qu'on a les classes en C++ on peut faire ce qu'on veut!

Merci guitoo, je pense que je vais me plonger la dedans, et ma fois pour la théorie je vais bien me débrouiller avec tous les cours dont vous m'avez envoyé les liens et mes vieux polycopiés de maths.

Enfin je vais quand même jeter un oeil aux plugins JS sous Reaper, ça m'intrigue de voir ce qu'il est possible de faire avec ça.
1370
Est ce que quelqu'un a expérimenté avec les versions récentes synthedit ou flowstone (synthmaker) ?
C'est peut être intéressant si ces environnements permettent de se focaliser sur les algos plutôt que sur les soucis vst (interface graphique et autres).
1371
oui, synthedit est simple à utiliser mais plutôt puissant. et on peux développer des modules en c++. synthmaker ne permet pas de faire ça je crois.
1372

Citation :

Visual BASIC et .NET c'est bien pour les enfants...

 Mais ouiiii... je sais tout, je connais toutes les applications du monde, je connais l'industrie et sa problématique de pérennité et surtout de maintenabilité mais je trolle parce que c'est ce qu'on m'a appris à l'école.  mrgreen

 

Je ne dirai qu'une chose : LOL.

 

Il y a deux moyens d’oublier les tracas de la vie : la musique et les chats.
Albert Schweitzer

1373
D'abord, J-Luc, ce n'est pas courtois de traiter les gens de troll et de loler inconsidérément sans savoir justement si "je connais l'industrie et sa problématique de pérennité et surtout de maintenabilité".
Je suis désolé de te le dire, le basic est un langage d'apprentissage, tout comme le logo.
Le BASIC c'est ce que je faisais sur mon ZX81.
Le visual basic de Microsoft ce n'est pas réellement un basic à l'ancienne (il n'y a pas de numéros de lignes ni de goto), je te l'accorde, c'est plutôt un Delphi/Pascal mal fagoté déguisé en basic pour de basses raisons de droits. Mais bon, à la base, c'était un langage pédagogique, pas un langage professionnel.

Ce n'est pas un mal. C'est juste un fait.

Quant à .NET, toutes les personnes que je connais qui travaillent vraiment avec ont tendance à perdre la boule. Ils "bindent", ils "bindent"... et en terme de pérennité... heu... je n'ai pas d'avis, on jugera ça dans cinq ans.

Bon, c'est pas que ce genre de polémique ne m'intéresse pas, mais je préfère en revenir à l'audio.

Merci Patrick pour le conseil, j'ai essayé synthédit et c'est vrai que c'est pas mal, mais les exemples de synthés donnés avec ne sont pas très convaincants. Du coup je suis plus admiratif des gens qui l'utilisent pour faire des vstis plus que corrects !

J'ai finalement opté pour jvstwrapper et le java, sans interface graphique (enfin, avec l'interface par défaut du daw). C'est très imparfait en termes de performances mais pour expérimenter quelques idées (transwaves) ce sera suffisant.

[ Dernière édition du message le 29/01/2013 à 09:29:07 ]

1374
Mais comme en .NET, le langage quel qu'il soit (C#, VB.NET ou autres) est exécuté par la même machine virtuelle, la pseudo-polémique ou pathétique tentative de troller sur le BASIC comme langage d'apprentissage se dégonfle rapidement puisqu'on obtient le même résultat au final.
:ptdr:

Et a propos de professionnalisme, en info de gestion on faisait il y a encore peu de belles applications transactionnelles temps réel, robustes, efficaces et facile à maintenir avec un langage très proche du BASIC, sur grands systèmes BULL. Et je parle d'un système national qui gérait plusieurs centaines de transactions par secondes.

Nuff said. :-D

« What is full of redundancy or formula is predictably boring. What is free of all structure or discipline is randomly boring. In between lies art. » (Wendy Carlos)

[ Dernière édition du message le 30/01/2013 à 22:38:52 ]

1375
Otto, quand tu parles d'applications transactionnelles temps réel, tu parles d'applications qui gèrent des bases de données ?

A propos de machines virtuelles est ce que quelqu'un a des idées ou des astuces pour configurer la machine virtuelle java et l'optimiser pour les applis temps réel ? En particulier pour un VSTi sous jvstwrapper.
Dans le code j'évite de créer et de détruire des objets (sauf à l'init et en changement de preset) mais je ne sais pas si c'est suffisant pour éviter les spasmes intempestifs du garbage collector...

[ Dernière édition du message le 31/01/2013 à 10:13:36 ]