ca marche fichtrement bien
je m'attendais à quelques milliers de ligne de code. 261 lignes et plutot lisible en plus
|
Modérateurs: Modération Forum Installations, Modération Forum DIY, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités
DSPiy : logiciels et algorithmes
- alkasar
- Messages: 11517
- Inscription Forum: 29 Nov 2005 22:47
- Localisation: Neuf deux
alkasar a écrit:je m'attendais à quelques milliers de ligne de code. 261 lignes et plutot lisible en plus
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 .
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
- tcli
- Messages: 4075
- Inscription Forum: 23 Nov 2009 22:40
- Localisation: Complètement à l'ouest
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.
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
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: 4075
- Inscription Forum: 23 Nov 2009 22:40
- Localisation: Complètement à l'ouest
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.
programme externe écrit dans le langage qui convient le mieux.
- alkasar
- Messages: 11517
- Inscription Forum: 29 Nov 2005 22:47
- Localisation: Neuf deux
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.
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).
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.
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
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
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: 6875
- Inscription Forum: 19 Juil 2009 12:18
- Localisation: Haute Normandie
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 ) ?
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: 4075
- Inscription Forum: 23 Nov 2009 22:40
- Localisation: Complètement à l'ouest
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.
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
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 ?
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: 4075
- Inscription Forum: 23 Nov 2009 22:40
- Localisation: Complètement à l'ouest
tcli a écrit:Le plus dur est fait alors
Heu… non…uniquement au niveau communications; le plus gros reste à faire.
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
Une p'tite photo pour mettre de la couleur.
- thierryvalk
- Messages: 5617
- Inscription Forum: 08 Mai 2012 9:39
- Localisation: Belgique
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: 4075
- Inscription Forum: 23 Nov 2009 22:40
- Localisation: Complètement à l'ouest
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
Ce qui commence a ressembler grosso modo à commencer à donner au µC la map symbolique des paramètres
On va y venir à ce protocole moins "rustique"
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
Et j'espère bien qu'on pourra faire des variantes pingouin des softs de pilotage.
On va y venir à ce protocole moins "rustique"
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
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
Une debrousailleuse rustique ?
Tout part de choses simples et fonctionnelles, après il suffit de rajouter des couches.( avec des pingoins, pommes et autres tasses de café)
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
|
Retourner vers Filtrage actif, Equalisation et Processeurs
|