Modérateurs: Modération Forum DIY, Modération Forum Installations, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 25 invités

DSPiy : logiciels et algorithmes

Message » 28 Déc 2012 2:00

ca marche fichtrement bien :)

je m'attendais à quelques milliers de ligne de code. 261 lignes et plutot lisible en plus :o :ohmg:
alkasar
 
Messages: 11517
Inscription Forum: 29 Nov 2005 22:47
Localisation: Neuf deux
  • offline

Message » 28 Déc 2012 2:13

alkasar a écrit:je m'attendais à quelques milliers de ligne de code. 261 lignes et plutot lisible en plus :o :ohmg:

M'oui, enfin c'est quand même un peu à l'arrache : CSS,HTML et script dans le même fichier et le tout sans commentaires ...
Ca vraiment été fait entre la dinde et les marrons.

PS:
1)Comme javascript a pas vraiment été fait pour du calcul scientifique, tu remarqueras, que j'ai été obligé de coder une mini lib de nombres complexes :roll: .
2) La non utilisation de jquery entraine aussi quelques lourdeurs, mais pas tant que ça. Par contre c'est pas beau.
3) Si je me suis lancé dans cet essai, c'était aussi de façon intéressé pour tester quelque trucs utilisable par ailleurs :hehe:
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 29 Déc 2012 11:10

J’ai fait des tentatives de faire fonctionner la page HTML en Javascript dans une appli en c#, on dispose de WebBrouser pout cela. Malheureusement ça fonctionne très mal et je ne suis spécialiste en la matière.

Je pense donc m’orienter vers le fichier texte pour faire les échanges de paramètres.
L’avantage du fichier texte est de pouvoir être généré par du Java mais aussi Excel ou REW …
L’inconvénient étant de devoir toujours faire de l’import/export pas pratique si l’on règle par exemple un filtre à l’oreille, mais dans un premier temps c’est fonctionnel et lorsque le soft_pc sera plus avancé, cette méthode restera utile pour les cas spéciaux.

SigmaStudio nous fournis un fichier_Param, voici un exemple d’un paramètre dans ce fichier :
Cell Name = Param EQ1
Parameter Name = PEQ1Chan10B1
Parameter Address = 4
Parameter Value = 0.999860167503357
Parameter Data :
0x00 , 0x7F , 0xFB , 0x6B ,

La seule ligne intéressante pour le fichier d’échange est « Parameter Name = PEQ1Chan10B1 »
Qui correspond au coefficient B1 du filtre 10 de la voie 1.

Il suffira dans le fichier d’échange d’avoir le nom du paramètre et sa nouvelle valeur ; par exemple :
PEQ1Chan10B1= 0.91245

Le soft_PC va rechercher dans fichier_Param le nom de PEQ1Chan10B1, il disposera ainsi de l’adresse du paramètre et pourra donc l’envoyer au DSP via le µC.
L’exemple est pour un paramètre, mais le fichier d’échange peut en contenir une multitude.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 29 Déc 2012 14:26

thierryvalk a écrit:J’ai fait des tentatives de faire fonctionner la page HTML en Javascript dans une appli en c#, on dispose de WebBrouser pout cela. Malheureusement ça fonctionne très mal et je ne suis spécialiste en la matière.

C'est pas trop étonnant. L'air de rien mon programme utilise des fonctions avancées de javascript , en particulier pour l'affichage des courbes.

thierryvalk a écrit:Je pense donc m’orienter vers le fichier texte pour faire les échanges de paramètres.
L’avantage du fichier texte est de pouvoir être généré par du Java mais aussi Excel ou REW …
L’inconvénient étant de devoir toujours faire de l’import/export pas pratique

Effectivement
Ceci dit, ta piste ActiveX semble possible http://strokescribe.com/en/serial-port-internet-explorer.html
Cela limitera à Microsoft ce qui est contre ma religion , mais pourquoi pas, faut savoir ne pas être trop psychorigide ..
De plus , il faut étudier les possibilités offertes par : http://realterm.sourceforge.net/ . Il semble scriptable et offrir une interface ActiveX Il peut donc faire office d'intermédiaire entre le fichier texte et uc via le port série ou, à priori, être directement commandé par le programme javascript

thierryvalk a écrit:Il suffira dans le fichier d’échange d’avoir le nom du paramètre et sa nouvelle valeur ; par exemple :
PEQ1Chan10B1= 0.91245

J'ai une nouvelle version qui sait gérer 3 voies avec un gain et 12eq/filtres par voies et sort un fichier texte correspondant grosso modo au format ci-dessus.
Je la publierais quand j'aurais fini quelques autres ajouts.
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 29 Déc 2012 19:02

et faire une appli simple javascript pour manipuler les paramètres avec un bouton "Apply" qui enregistre dans un fichier et lance un programme externe qui lui, met a jour le DSP.
programme externe écrit dans le langage qui convient le mieux.
alkasar
 
Messages: 11517
Inscription Forum: 29 Nov 2005 22:47
Localisation: Neuf deux
  • offline

Message » 29 Déc 2012 19:52

Les avancées du jour :
J’arrive à charger un soft issu de SigmaStudio dans le DSP via le µC, ainsi que les paramètres, communication entre le µC et le soft_pc et ainsi je commande pour le moment le volume du DSP via le Soft_PC. :D
Encore une petite erreur de conversion, mais le plus dur est fait au niveau des fonctions de communication (pas évident de travailler sur 3 compilateurs en même temps).
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 29 Déc 2012 20:28

Bonsoir Tcli,
Ton programme est vraiment très intéressant.
Si tu peux y adjoindre les passe haut, bas, tout, shelf du premier ordre, ainsi que les réjecteurs (forcément > ordre 1) il me semble qu'il sera parfait.
Bravo.
Cordialement
J-C.B
 
Messages: 6871
Inscription Forum: 19 Juil 2009 12:18
Localisation: Haute Normandie
  • offline

Message » 29 Déc 2012 21:01

J-C.B a écrit:Si tu peux y adjoindre les passe haut, bas, tout, shelf du premier ordre, ainsi que les réjecteurs (forcément > ordre 1) il me semble qu'il sera parfait.

- Pour les passe haut et bas du 1er ordre, ok, je vais les rajouter.
- Pour les self, j'ignorais que l'on pouvait en faire du 1er ordre (avec un seul pôle et zéro réels :hein: ) ?
Dans la version actuelle, tu peux changer le slope des self via le paramètre Q. C'est pas très habituel, ni très intuitif, il faut que je change cela.
- Pour les passes tout, bof. Très peu de monde en auront l'utilité, et je prévois de pouvoir affecter fréquence et magnitude des pôles et zéros. Comme cela , les plus dégourdis pourront tout faire ...

Ce qu'il manque c'est des filtres d'ordre supérieur à 2. C'est un peu embêtant à rajouter d'un point de vue structure du code : Pour l'instant 1 filtre = 1 biquad, si ce n'est plus vrai , il va falloir dynamiquement assigner des biquads à chaque filtre . Rien d'insurmontable, mais encore un fois, cette 1ère version a été faite rapidement et j'ai pris des raccourcis ...

Edit : j'ai trouvé pour les selfs du 1er ordre
Dernière édition par tcli le 30 Déc 2012 0:21, édité 1 fois.
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 29 Déc 2012 21:13

thierryvalk a écrit:Les avancées du jour :
J’arrive à charger un soft issu de SigmaStudio dans le DSP via le µC, ainsi que les paramètres, communication entre le µC et le soft_pc et ainsi je commande pour le moment le volume du DSP via le Soft_PC. :D
Encore une petite erreur de conversion, mais le plus dur est fait au niveau des fonctions de communication (pas évident de travailler sur 3 compilateurs en même temps).


Le plus dur est fait alors :ane:

J'aimerais être sur de tout comprendre :
- sigma studio génère le programme du DSP plus une description de la map mémoire que tu peux utiliser pour ton soft sur le uC.
- le "soft_PC" dont tu parles est un programme que tu as écris et qui charge le prog du DSP et envoie des infos au uC pour changer les adresses mémoires utilisées par le programme du DSP.
J'ai bon :ane: ?

Ce que je ne comprend pas :
Tu as établis un protocole spécifique entre ton soft_PC et le uC pour changer le volume ou est ce que ton protocole est plus bas niveau et permet de demander au uC de changer n'importe quel emplacement mémoire lisible par le DSP ?
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 29 Déc 2012 21:37

tcli a écrit:Le plus dur est fait alors

Heu… non…uniquement au niveau communications; le plus gros reste à faire. :zen:

J'ai bon ?

Presque, le µC ne sert que de « programmateur » du DSP.
La map mémoire pour les paramètres est utilisée par le soft_PC.
Le soft_pc peut demander au µC de changer n’importe quel emplacement mémoire du DSP via le protocole « rustique Tazz28 » décrit à la page précédente.
Pour ces premiers tests j’ai utilisé le contrôle de volume (1 seul paramètre) mais j’aurais pu changer les paramètres d’un filtre par la même méthode.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 29 Déc 2012 22:11

Une p'tite photo pour mettre de la couleur.
Image
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 29 Déc 2012 22:52

thierryvalk a écrit:Le soft_pc peut demander au µC de changer n’importe quel emplacement mémoire du DSP via le protocole « rustique Tazz28 » décrit à la page précédente.

Ok compris.
c'est pas plus mal comme approche : minimum d'intelligence dans le soft du uP. Comme ca , on peut changer le soft DSP et donc sa map mémoire sans changer le soft du uP.
Il y a juste pour le volume que cela peut poser problème : le soft du uP doit savoir quel emplacement mémoire changer en réponse à la telco ou bouton de volume en façade ..
Dernière édition par tcli le 29 Déc 2012 23:38, édité 1 fois.
tcli
 
Messages: 4066
Inscription Forum: 23 Nov 2009 22:40
Localisation: Complètement à l'ouest
  • offline

Message » 29 Déc 2012 23:07

Oui, le uC doit gérer le volume, c'est le soft-Pc qui va lui communiquer l'adresse en même temps que la config des boutons.
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline

Message » 29 Déc 2012 23:35

Ce qui commence a ressembler grosso modo à commencer à donner au µC la map symbolique des paramètres :mdr:
On va y venir à ce protocole moins "rustique" :ko:
J'avoue que pour débroussailler, la rusticité à du bon. Et vu comme je rame pour avancer de mon coté, je vais me taire et proposerai des évols en temps voulu :thks:
Et j'espère bien qu'on pourra faire des variantes pingouin des softs de pilotage.
Tazz28
 
Messages: 2802
Inscription Forum: 03 Nov 2008 23:47
Localisation: Dreux
  • offline

Message » 30 Déc 2012 0:02

Une debrousailleuse rustique ? :mdr:
Tout part de choses simples et fonctionnelles, après il suffit de rajouter des couches.( avec des pingoins, pommes et autres tasses de café)
thierryvalk
 
Messages: 5617
Inscription Forum: 08 Mai 2012 9:39
Localisation: Belgique
  • offline


Retourner vers Filtrage actif, Equalisation et Processeurs

 
  • Articles en relation
    Dernier message