Subject: frescobaldi, saisie midi et enhramoniques

From: legoss <[email-masked]>
Date: Tue, 28 Apr 2015 00:09:50 -0700 (MST)

Bonjour à tous,

J'ai essayé la capture MIDI sous frescobaldi. Le signal MIDI passe sauf que
les notes altérées ne sont pas toujours en rapport avec la tonalité de
l'œuvre. Ex: œuvre en Sib, "ais" saisi au lieu de "bes".

1. Existe-t-il un moyen d'obtenir des altérations en fonction de la tonalité
indiquée par le code lilypond?
2. Si non, existe-t-il en moyen de corriger ces incohérences dans le code...
sans le faire note par note?

Merci pour votre aide!
Cordialement,
Laurent

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/frescobaldi-saisie-midi-et-enhramoniques-tp7582871.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Calixte Faure <[email-masked]>
Date: Tue, 28 Apr 2015 09:54:39 +0200

Bonjour Laurent,

Malheureusement Frescobaldi ne détecte pas la tonalité automatiquement, on
peut néanmoins et préciser si les altérations sont des dièses ou des bémols
dans Outils > Entrée MIDI.
Si tous tes ais doivent devenir des bes, tu peux toujours Édition >
Remplacer…

Cordialement,
Calixte.

Le 28 avril 2015 09:09, legoss <[email-masked]> a écrit :

> View this message in context:
> http://lilypond-french-users.1298960.n2.nabble.com/frescobaldi-saisie-midi-et-enhramoniques-tp7582871.html
> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
>

---

From: Christophe Pochon <[email-masked]>
Date: Tue, 28 Apr 2015 10:18:05 +0200

J'ai trouvé une fonction scheme dans les snippets qui peut automatiquement
réparer tout ça, moyennant une petite astuce.

Cette fonction est prévue pour nettoyer du code en do. L'astuce consiste à
transposer la musique en do, la nettoyer, puis la retransposer dans la
tonalité d'origine.

%%%%%%%%%%%%%%

\version "2.18"

#(define (naturalize-pitch p)

(let ((o (ly:pitch-octave p))

(a (* 4 (ly:pitch-alteration p)))

;; alteration, a, in quarter tone steps,

;; for historical reasons

(n (ly:pitch-notename p)))

(cond

((and (> a 1) (or (eq? n 6) (eq? n 2)))

(set! a (- a 2))

(set! n (+ n 1)))

((and (< a -1) (or (eq? n 0) (eq? n 3)))

(set! a (+ a 2))

(set! n (- n 1))))

(cond

((> a 2) (set! a (- a 4)) (set! n (+ n 1)))

((< a -2) (set! a (+ a 4)) (set! n (- n 1))))

(if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))

(if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))

(ly:make-pitch o n (/ a 4))))

#(define (naturalize music)

(let ((es (ly:music-property music 'elements))

(e (ly:music-property music 'element))

(p (ly:music-property music 'pitch)))

(if (pair? es)

(ly:music-set-property!

music 'elements

(map (lambda (x) (naturalize x)) es)))

(if (ly:music? e)

(ly:music-set-property!

music 'element

(naturalize e)))

(if (ly:pitch? p)

(begin

(set! p (naturalize-pitch p))

(ly:music-set-property! music 'pitch p)))

music))

naturalizeMusic =

#(define-music-function (parser location m)

(ly:music?)

(naturalize m))

mamusicavecdesfautes = \relative c' {\key bes \major ais c d dis f g a ais}

music = \transpose bes c \mamusicavecdesfautes

\transpose c bes {\naturalizeMusic \music}

%%%%%%%%%%%%%%%

A+

Christophe

Christophe Pochon
http://www.christophe-pochon.com

---

From: legoss <[email-masked]>
Date: Tue, 28 Apr 2015 04:07:00 -0700 (MST)

@Calixte: honte à moi . C'était juste au-dessus du bouton "démarrer la
capture midi"...
@Christophe: je mets ta proposition sous le coude; je n'ai encore jamais mis
les mains dans scheme.

Merci à tous les deux!
Laurent

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/frescobaldi-saisie-midi-et-enhramoniques-tp7582871p7582874.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Seventies <[email-masked]>
Date: Tue, 28 Apr 2015 05:08:08 -0700 (MST)

La faute à la norme Midi, qui a été prévue pour connecter des instruments
électroniques, rien de plus.
Et elle a très peu évolué depuis sa création.

Un fichier Midi comporte une liste d'évènements. La plupart des évènement
sont associés à une piste, et chaque piste peut être associée à un timbre
(16 pistes par port MIDI, dont une pour la percussion, ce qui est un peu
juste pour un orchestre symphonique).

Les événements Midi sont codés sur 7 bits, donc 128 possibilités par donnée.
Ainsi, il n'y a que 128 notes possibles, et les enharmonies ont été
oubliées, pas de place. C'est donc le programme qui récupère les données qui
place au mieux les altérations.
La norme Midi ne prévoit pas de coder l'armure. Elle code par contre la
métrique, de manière simple : numérateur, dénominateur.
Le temps (et également le tempo) est géré par le nombre de "ticks", constant
pour toute une pièce : c'est l’équivalent du pixel en dessin, le plus petit
intervalle de temps accessible : 360 ticks signifient que la noire peut être
subdivisée en 360 intervalles. Le maximum est de 380 ticks, soit 23
subdivisions pour une quadruple croche.

Il n'y a que 128 instruments (timbres) disponibles, dont la moitié sont
plutôt des bruits (coup de canon, hélicoptère, applaudissements, ...)
Orientée vers la musique électronique, les instruments classiques sont un
peu oubliés. Ainsi, il y a quatre timbres "saxophones", mais un seul
"ensemble de cordes".
Heureusement, la possibilité de sélectionner diverses "banques" permet de
diversifier les timbres, mais sans aucune normalisation.

Dernière grande limitation du Midi, la polyphonie, souvent limitée à 16 ou
24 notes simultanées. Mais cette limitation est uniquement matérielle.
Lors d'un passage pianistique avec pédale, la limite est vite atteinte.

Il faut donc considérer le Midi comme une passerelle d'un programme vers un
autre, ou alors s'en servir dans un environnement bien défini.

Avec des banques de son bien organisées (et très coûteuses) on peut faire de
la musique qui ressemble à s'y méprendre à un vrai orchestre, avec nuances,
attaques différenciées, sourdines, ... Ainsi, la musique de film est de plus
en plus souvent composée en Midi.

Mais ceci est une autre histoire, le budget est quelque peu différent de
celui de nos cartes Midi.

Cordialement,

Jean-François

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/frescobaldi-saisie-midi-et-enhramoniques-tp7582871p7582875.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Olivier Miakinen <[email-masked]>
Date: Tue, 28 Apr 2015 23:50:56 +0200

Bonjour,

Je me permets d'ajouter mon grain de sel à tes explications déjà très
complètes.

Le 28/04/2015 14:08, Seventies a écrit :
> La faute à la norme MIDI, qui a été prévue pour connecter des instruments

Je précise qu'il s'agissait principalement de connecter ces instruments
en temps réel, que ce soit pour qu'un seul interprète commande plusieurs
instruments à partir d'un seul clavier-maître, ou bien par exemple pour
que plusieurs interprètes jouent simultanément, depuis des lieux
éventuellement éloignés.

Cette norme au départ ne comportait aucune définition standardisée de
choix d'instrument, et pas non plus de format de stockage dans des
fichiers (le format SMF pour Standard MIDI File, que l'on trouve dans
les fichiers .midi ou .mid, n'a été défini que plusieurs années après).

> Un fichier MIDI comporte une liste d'évènements. La plupart des évènement

Le choix des timbres, et d'un canal dédié aux percussions, est venu
encore plus tard que le format (SMF) de fichiers MIDI. C'est une norme
séparée nommée GM (General MIDI).

> Les événements MIDI sont codés sur 7 bits, donc 128 possibilités par donnée.

Il est à noter que, lorsque l'on parle juste de MIDI et pas de SMF ou
GM, rien n'interdit aux instruments connectés entre eux de décider
de réduire l'étendue des notes tout en assignant des numéros différents
aux enharmonies. Par exemple 1 = do, 2 = do dièse, 3 = ré bémol, etc.

Bien sûr ça n'est plus possible quand on espère qu'un fichier .mid sera
rendu à peu près de la même façon chez tous ceux qui le téléchargeront.

> La norme MIDI ne prévoit pas de coder l'armure. Elle code par contre la

Sauf erreur, c'est le SMF qui définit ça.

> plutôt des bruits (coup de canon, hélicoptère, applaudissements, ...)

Et ça, ce n'est ni MIDI ni SMF qui le définit, mais GM (General MIDI).

> peu oubliés. Ainsi, il y a quatre timbres "saxophones", mais un seul

Idem.

> diversifier les timbres, mais sans aucune normalisation.

C'est-à-dire que l'on peut choisir autre chose que GM.

> Dernière grande limitation du MIDI, la polyphonie, souvent limitée à 16 ou
> Il faut donc considérer le MIDI comme une passerelle d'un programme vers un

Oui. Le premier cas (passerelle d'un programme vers un autre) signifie
que l'on se fixe les normes SMF et GM. Le second cas (environnement bien
défini) permet de revenir aux fondamentaux de MIDI, avec beaucoup plus
de liberté, mais au détriment d'une norme partagée par tous.

> en plus souvent composée en MIDI.
> 
> celui de nos cartes MIDI.

Cordialement,
-- 
Olivier Miakinen

---

From: Seventies <[email-masked]>
Date: Wed, 29 Apr 2015 10:15:07 -0700 (MST)

Tout à fait, Olivier.

J'ai été fort brouillon dans mes explications, et pour tout dire,
n'utilisant que le GM ou le GS, j'ai un peu (beaucoup) mélangé les
différentes utilisations de la norme MIDI.

Cordialement,

Jean-François

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/frescobaldi-saisie-midi-et-enhramoniques-tp7582871p7582899.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.