Author |
Topic: [ANN] Anti-collisions (Read 2737 times) |
|
bubu42
Board Master
    

Gender: 
Posts: 10819
|
 |
[ANN] Anti-collisions anti_collide1a.msa (attachment deleted)
« on: Dec 28th, 2008, 3:52pm » |
Quote | Modify
|
Bonjour, Le forum est bien calme ces temps-ci... Je mets en ligne un petit script qui peut éventuellement rendre service à ceux qui travaillent avec des portées fusionnées (2 voix) HA ne permet pas de régler le problème des collisions de notes (intervalle de seconde) ou des notes à l'unisson mais dont la tête n'est pas identique (une noire et une blanche, par exemple) Il peut aussi se faire que les silences d'une voix soient en conflit avec les notes de l'autre voix. J'ai renoncé temporairement à faire un ajustement automatique (beaucoup de paramètres entrent en ligne de compte) et le script ci-joint résout une partie du problème. Fonctionnement : Une fois lancé, le script repère les portées fusionnées et en donne la liste. On sélectionne la portée à analyser, après avoir choisi les choses à repérer : notes en collision (seconde), unisson mais têtes différentes, notes croisées d'une voix à l'autre, silences. On peut choisir la couleur pour chaque élément. Le script dresse la liste de ce qui peut coincer, en signalant la mesure et le nom de la note. Ensuite, on peut naviguer d'un symbole à l'autre (soit avec des bouton précédent/suivant, soit en déroulant la liste) On peut alors agir avec des boutons sur le décalage horizontal (ou vertical pour les silences) de la tête de la note, de l'altération de précaution. Le réglage est fait en temps réel sur la partition dont on peut aussi régler l'échelle d'affichage. Enfin, on peut "recopier" le réglage d'un symbole vers tous les autres qui suivent et sont en conflit (soit en limitant à un seul type de symbole, soit en l'appliquant à tous) L'intérêt est double : d'abord, la relecture de la partition est beaucoup plus rapide (normalement, rien n'est oublié) et l'ajustement plus facile (pas besoin d'éditer chaque symbole) Le script est sans doute largement "améliorable"... Bubu42
|
|
offline |
Harmony Assistant 32 bits - Ubuntu + Wine et Windows XP sur machine virtuelle. VS, OMeR, PDF2M
|
|
|
JLP
Board Junior Member
 

Email
Gender: 
Posts: 86
|
 |
Re: [ANN] Anti-collisions
« Reply #1 on: Dec 28th, 2008, 4:05pm » |
Quote | Modify
|
Merci infiniment. J'étais justement en train de me battre avec des collisions de notes. Bien à vous. JLP
|
|
offline |
|
|
|
Oliveira
Board Master
    

Gender: 
Posts: 3140
|
 |
Re: [ANN] Anti-collisions
« Reply #2 on: Dec 29th, 2008, 12:49pm » |
Quote | Modify
|
Bonjour bubu42 : Muchas gracias por el esfuerzo que ha hecho usted con esa escritura que viene a paliar, en parte, la importante disfunción de H.A. en esta cuestión de las colisiones en intervalos de 2ª con plicas combinadas. Tampoco los puntillos, a pesar de poder hacer una inversión, se sitúan bién en determinados casos. Es una verdadera pena que H.A., que es un grandísimo programa, tenga algunas lagunas importantes, sobre todo, en materia de notación, que no se consiguen solucionar. Una de ellas es esta. Yo comprendo que el logiciel ha nacido y crecido de una forma determinada, y hacer cambios puede afectar al funcionamiento de otras capacidades, pero hay cuestiones que son básicas en un programa de notación, y una de ellas es ésta en concreto. Muchas gracias por su aporte. Pepe. Feliz año a todos/as. (F) Babel Bonjour bubu42 : Merci beaucoup pour l'effort que vous avez fait avec cette écriture qui vient pallier, en partie, l'important mauvais fonctionnement de H.A dans cette question des collisions dans des intervalles de 2ª avec plicas combinées. Non plus ce qui est puntillos, bien que ne pouvant pas faire un investissement, se bien dans certains cas. C'est une véritable peine qui H.A., qui est un programme grandísimo, a quelques importantes lacunes, surtout, en matière d'annotation, qu'on ne parvient pas à résoudre. Une de d'elles est celle-ci. Je comprends que le logiciel est né et a crû d'une manière déterminée, et faire des changements peut affecter le fonctionnement d'autres capacités, mais il y a des questions qui sont fondamentales dans un programme d'annotation, et une de d'elles est celle-ci concrètement. Merci beaucoup pour son apport. Pepe. Année heureuse à todos/as.
|
|
offline |
Mi música: http://jose_a__oliveira.myriad-users.com/ www.atrilcoral.com / H.A 2026H1d.64bt V.S. Myriad HQ / PDF to Music Pro 2026H1d / Overture 5.6.3 / Win 10/64
|
|
|
bubu42
Board Master
    

Gender: 
Posts: 10819
|
 |
Re: [ANN] Anti-collisions
« Reply #3 on: Dec 29th, 2008, 12:56pm » |
Quote | Modify
|
Muchas gracias ! Among the wishes we make at New Year's time, I've got one for myself : learn a bit (a lot ? ) of Spanish so that I can answer in your language. I will try to improve the script. Bonne et heureuse année !
|
|
offline |
Harmony Assistant 32 bits - Ubuntu + Wine et Windows XP sur machine virtuelle. VS, OMeR, PDF2M
|
|
|
Oliveira
Board Master
    

Gender: 
Posts: 3140
|
 |
Re: [ANN] Anti-collisions
« Reply #4 on: Dec 29th, 2008, 2:48pm » |
Quote | Modify
|
No se preocupe usted por idioma en que contesta (aúnque prefeiro el francés). Con un buen traductor y sabiendo de que va la cuestión, nos podemos entender. Ya tengo manifestado en estos foros que intento ser una especie de Apóstol de H.A. en España, interviniendo en varios foros recomendando la utlización de este logiciel, sobre todo para los coros. Lo hago convencido de lo que digo, pero a veces, los usuarios de otros programas (léase, Fianale o Sibelius), me hechan en cara las carencias en materia de notación de H.A.. Yo también les contraataco con las capacidades del V.S. y otras maravillas de H.A. Pero en las cuestiones de notación.... Pepe
|
|
offline |
Mi música: http://jose_a__oliveira.myriad-users.com/ www.atrilcoral.com / H.A 2026H1d.64bt V.S. Myriad HQ / PDF to Music Pro 2026H1d / Overture 5.6.3 / Win 10/64
|
|
|
Geo
Board Master
    

Gender: 
Posts: 2533
|
 |
Re: [ANN] Anti-collisions
« Reply #5 on: Jan 4th, 2009, 3:18pm » |
Quote | Modify
|
Bonjour Je n'ai pas réussi à voir comment vous détectez les collisions (trop fort pour moi), mais voici comment je fais pour deux notes N1 et N2 placées au même moment : function Proches(N1, N2) v1 = N1.DisplayedHeight v2 = N2.DisplayedHeight if v2-v1 == 1 then return(2) end if v1-v2 == 1 then return(1) end return (0) end -- function Proches Si résultat = 1 : inversion de la tête de N1 Si résultat = 2 : inversion de la tête de N2
|
|
offline |
|
|
|
Geo
Board Master
    

Gender: 
Posts: 2533
|
 |
Re: Anti-collisions 2009-01-04_152015.jpg (attachment deleted)
« Reply #6 on: Jan 4th, 2009, 3:26pm » |
Quote | Modify
|
Re Juste un petit problème de codage de la bulle, le texte est correct. (Windows XP).
|
|
offline |
|
|
|
bubu42
Board Master
    

Gender: 
Posts: 10819
|
 |
Re: [ANN] Anti-collisions
« Reply #7 on: Jan 4th, 2009, 3:46pm » |
Quote | Modify
|
on Jan 4th, 2009, 3:18pm, Geo wrote:Bonjour Je n'ai pas réussi à voir comment vous détectez les collisions (trop fort pour moi), |
| Il faut bien dire que le script n'est sans doute pas écrit dans les règles de l'art... et que ça rend sa compréhension plus délicate. Désolé, mais je ne suis pas informaticien. Quote: mais voici comment je fais pour deux notes N1 et N2 placées au même moment : function Proches(N1, N2) v1 = N1.DisplayedHeight v2 = N2.DisplayedHeight if v2-v1 == 1 then return(2) end if v1-v2 == 1 then return(1) end return (0) end -- function Proches Si résultat = 1 : inversion de la tête de N1 Si résultat = 2 : inversion de la tête de N2 |
| En fait, c'est un peu plus subtil... Cas 1 : les deux notes sont à la même hauteur. Le DisplayedHeight fait bien l'affaire, et on inverse le sens des tiges. Mais ce n'est pas vraiment le but du script. Habituellement, quand j'ai 2 voix, je sélectionne la deuxième uniquement et je fais un Ctrl+Alt+1 (toutes les tiges vers le sens du bas). Idem pour la voix 1, avec Ctrl+Alt+4. On pourrait d'ailleurs ajouter une telle fonction au script. Non, le problème est qu'on peut avoir des notes dont la tête n'est pas identique : une blanche et une noire par exemple. Dans ce cas, l'usage (enfin, c'est ce qu'on m'a dit) est de décaler les deux notes, pour qu'on ne confonde pas la blanche avec une noire. Cas 2 : (c'est celui qui pose le plus de problèmes) Les deux notes sont à la seconde (N1=Ré et N2=Do, par exemple). Il faut donc décaler la note du bas. Et là, c'est déjà plus complexe. Au départ, j'ai travaillé sur une routine qui était censée faire le décalage automatiquement. Hélas, en fonction de l'échelle des mesures, de la position de la note (en cours de mesure ou en fin de mesure) le décalage n'est pas toujours adéquat. J'ai donc changé mon fusil d'épaule, pour passer à un mode manuel de décalage. Cas 3 : les deux voix sont croisées (la note N2 est au-dessus de la note N1) Normalement, c'est un cas à éviter en composition. Le script est destiné à signaler l'événement, au cas où ce soit une erreur de saisie. Cas 4 : les silences. Que ces soit en voix du haut ou du bas, ils arrivent à rentrer en collision avec les notes de l'autre voix. C'est pour ça que j'ai mis une fonction de décalage vertical (et de recopie de celui-ci) On peut alors les mettre en-dehors de la portée, ce qui est plus clair. Mais, pour moi, la fonction primordiale du script est en fait la relecture d'une partition, d'où l'utilisation des couleurs et la navigation via le script. J'ai remarqué qu'on oublie souvent de traiter des notes en conflit (et de les retraiter en cas de changement de la largeur des mesures). Comme ça, on limite les risques. En tout cas, merci d'avoir testé le script et d'avoir remonté les observations. Pour le moment, je suis en train de travailler sur le recalage automatique, mais les progrès sont plus que lents...
|
|
offline |
Harmony Assistant 32 bits - Ubuntu + Wine et Windows XP sur machine virtuelle. VS, OMeR, PDF2M
|
|
|
bubu42
Board Master
    

Gender: 
Posts: 10819
|
 |
Re: Anti-collisions
« Reply #8 on: Jan 4th, 2009, 3:52pm » |
Quote | Modify
|
on Jan 4th, 2009, 3:26pm, Geo wrote:Re Juste un petit problème de codage de la bulle, le texte est correct. (Windows XP). |
| Ca s'affiche quand, ce truc ? Il ne me semble pas avoir mis cette phrase dans la fenêtre d'aide. Pour tout dire, je crois que c'est la description du résumé (ABSTRACT_FR) en début de script. Par contre, je ne vois pas bien comment faire pour que l'affichage soit bien codé.
|
|
offline |
Harmony Assistant 32 bits - Ubuntu + Wine et Windows XP sur machine virtuelle. VS, OMeR, PDF2M
|
|
|
Geo
Board Master
    

Gender: 
Posts: 2533
|
 |
Re: [ANN] Anti-collisions 2009-01-04_194312.jpg (attachment deleted)
« Reply #9 on: Jan 4th, 2009, 7:44pm » |
Quote | Modify
|
Re C'est la bulle d'aide qui apparait quelques instants quand le pointeur passe sur le bouton d'aide. Pas bien gênant. Merci pour les explications, il y a des choses que j'ignorais, je ne suis pas musicien ou si peu. En fait, j'utilise la solution que j'ai indiquée lors de la fusion de deux portées. C'est dans le cadre d'une chorale, je saisis séparément toutes les voix, y compris quand il y en a plusieurs dans le même pupitre. Ensuite, pour la restitution sur papier, j'ai fait un script qui fusionne les portées de noms similaires, par exemple : Alto 1 et Alto 2 sont fusionnées dans Alto. Le sens des tiges est imposé, et une couleur différente appliquée pour chaque voix.Et c'est limité à deux voix. Je n'ai pas eu les cas les plus gênants que vous citez. Il y a aussi les liaisons qui posent problème, voir l'exemple joint. Mais si on imprime en noir et blanc ça ne se voit pas trop.
|
|
offline |
|
|
|
bubu42
Board Master
    

Gender: 
Posts: 10819
|
 |
Re: [ANN] Anti-collisions
« Reply #10 on: Jan 4th, 2009, 7:53pm » |
Quote | Modify
|
on Jan 4th, 2009, 7:44pm, Geo wrote: C'est la bulle d'aide qui apparait quelques instants quand le pointeur passe sur le bouton d'aide. Pas bien gênant. |
| Merci. Je vais regarder ça de plus près... Quote: Il y a aussi les liaisons qui posent problème, voir l'exemple joint. Mais si on imprime en noir et blanc ça ne se voit pas trop. |
| Très juste ! Voilà un excellent sujet d'investigation. Les liaisons sont, je crois inversables, mais je n'en suis pas sûr. J'utilise habituellement le coulé que je trouve plus souple, mais quand on inverse le sens, il faut souvent réajuster le début et la fin. Merci d'avoir attiré l'attention sur ce fait supplémentaire.
|
|
offline |
Harmony Assistant 32 bits - Ubuntu + Wine et Windows XP sur machine virtuelle. VS, OMeR, PDF2M
|
|
|
Geo
Board Master
    

Gender: 
Posts: 2533
|
 |
Re: [ANN] Anti-collisions
« Reply #11 on: Jan 5th, 2009, 8:14pm » |
Quote | Modify
|
Bonsoir Oui, les liaisons sont inversables, Sauf erreur de ma part, IsInvertedTie est calculé par rapport au sens de la tige. Pour une ronde, je sais pas La difficulté est sans doute, comme vous le faisiez remarquer très justement pour les collisions, de déterminer quand il faut et quand il ne faut pas. Bon courage.
|
|
offline |
|
|
|
bubu42
Board Master
    

Gender: 
Posts: 10819
|
 |
Re: [ANN] Anti-collisions
« Reply #12 on: Jan 5th, 2009, 8:36pm » |
Quote | Modify
|
on Jan 5th, 2009, 8:14pm, Geo wrote: La difficulté est sans doute, comme vous le faisiez remarquer très justement pour les collisions, de déterminer quand il faut et quand il ne faut pas. |
| Plus que "quand il faut et quand il ne faut pas", la vraie question est "de combien faut-il ?" (et ça c'est une autre paire de manches. En fait, la position horizontale absolue d'une note est déterminable (Myrscript a une valeur pour ça) Mais le décalage (headshift) est calculé en pourcentage de l'aire qui sépare la note de la suivante (ou de la fin de la mesure) Et bien sûr, le tout dépend de la largeur de la mesure. Ce qui fait qu'un décalage X est impeccable à une échelle de 1000, mais erroné si la mesure a une échelle de 2000. Et diviser le pourcentage par 2 ne résout pas le problème. Il y a d'autres paramètres encore plus subtils (commandés sans doute par le mode gravure) qui rendent le calcul un peu plus complexe. Et je ne parle même pas des notes pointées, double-pointées ou en tuplets... L'affaire s'annonce ardue. Mais avec de la patience, de la persévérance et beaucoup de chance, on ne sait jamais...
|
|
offline |
Harmony Assistant 32 bits - Ubuntu + Wine et Windows XP sur machine virtuelle. VS, OMeR, PDF2M
|
|
|
|