Hi Karim,
I want to create a function with “defmethod” and “defun” to create a table with the joint display of indices / ratios and Hz frequencies. The idea is to calculate the progress tables established by Augusto Novarro and published in part by Jean-Etienne Marie in his book “L’Homme Musical”. With a patch, I can do it (screenshot).
On the other hand, with a “defun” or “defmethod!” I manage to calculate separately a single index / ratio or a single frequency but I cannot integrate the iterative calculation to create a table jointly displaying the indices / progress ratios and the Hz frequencies as with the patch (copy of screen).
Hence my question, how to insert in functions created with defun and defmethod! the iterative calculation of progressions according to the temperament chosen and obtained in the patch with “om ^” and “arithm-ser”? I tried with the “loop” function but I could not link it with the second “om ^” to simulate “om ^ <- arithm-ser” * 261.63 " as in the patch.
The code with “defun”:
(in-package :om)
(defun defunHzval_dd (x y z f)
(values (* (om^ x (/ y z)) f)))
The code with defmethod! :
(in-package :om)
(defmethod! defcalcHzfloat_dd ((x integer) (y integer) (z integer) (f float))
:numouts 1
(values (* (om^ x (/ y z)) f)))
Merci d’avance.
Amitiés. Didier
Je joins le texte en français :
Je souhaite créer une fonction avec “defmethod” et “defun” pour créer une table avec l’affichage conjoint des indices/ratios et des fréquences Hz. L’idée c’est de calculer les tables de progressions établies par Augusto Novarro () et publiées en partie par Jean-Etienne Marie dans son livre “l’Homme Musica"l. Avec un patch, je sais le faire (copie d’écran). En revanche, avec une fonction “defun” ou “defmethod!” j’arrive à calculer séparément un seul indice/ratio ou une seule fréquence mais je n’arrive pas à intégrer le calcul itératif pour créer une table affichant conjointement les indices/ratios de progression et les fréquences Hz comme avec le patch (copie d’écran).
D’où ma question, comment insérer dans les fonctions créées avec “defun” et “defmethod!” le calcul itératif des progressions selon le tempérament choisi et obtenu dans le patch avec “om^” et “arithm-ser” ? J’ai essayé avec la fonction “loop” mais je ne suis pas arrivé à la lier avec le deuxième “om^” pour simuler “om^<-arithm-ser” * 261.63” comme dans le patch.