Page 2 sur 2 PremièrePremière 12
Affichage des résultats 11 à 19 sur 19

Discussion: Programmation sous Reaper

  1. #11
    Modérateur Avatar de deb76
    Date d'inscription
    janvier 2007
    Localisation
    Haute-Normandie
    Messages
    3 244
    Bonjour,
    Citation Envoyé par Alain44 Voir le message
    Oui mais le nom habituel ne m’intéresse pas vraiment (je le connais, ou je le déduis facilement).

    Ce qui qui m’intéresse c’est de qualifier un accord en termes de rugosité/douceur, de largeur (ou ouverture), et autres choses à venir. En fait d’analyser/qualifier les positions d’accords (au clavier ou en orchestre).

    J’analyse l’accord avec tous ses intervalles entre sons fondamentaux et aussi entre sons harmoniques avec leurs niveaux, et en tenant compte du registre (ou hauteurs réelles).
    Ça fait pas mal de calculs, infaisables à la main…
    J'ai un dégrossi des fonctions de calcul, mais il faut que je les teste à l'oreille pour les affiner, avec le résultat numérique affiché (éventuellement avec plusieurs variantes)

    Ça débouche aussi sur le mariage des timbres en orchestration.

    Il faut que ça aille assez vite, pour que je puisse voir à l’écran quand je change juste une note (d’un ton ou d’une octave …) et que je l’entend encore….
    Si vous permettez, je me joins à votre discussion qui m'intéresse.
    Alain, aurais-tu un exemple sur ce que tu recherches ? Et qu'entends-tu par rugosité/douceur - je suppose que c'est son niveau de dissonance ou non - de largeur ou ouverture ?
    De même, je ne comprends pas ce que tu entends par positions d'accords au clavier ou en orchestre... Pour moi, la position d'accords sur le clavier se réfère à la position des doigts sur les touches à l'instar d'une tablature guitare. Es-ce ça ? Mais qu'en est-il pour l'orchestre ?
    Perso, je continue à analyser les partitions de Webern et notamment sur les accords "verticaux" qui résulte de la répartition des hauteurs dans les différentes parties d'instruments et en tenant compte des registres afin d'obtenir leur structure intervallique précise - il y a beaucoup de neuvièmes mineures, 13e, septièmes majeures avec des intervalles redoublés et très espacés mais que je ramène dans un premier temps dans leur qualification usuelle (seconde mineure à septième majeure), ce que permet comme le souligne floyer d'obtenir l'équivalence sur les renversements, puis je mouline une seconde fois modulo 12 avec leurs représentations circulaires tant de la structure intervallique que de l'accord, sa classification Forte et Interval Vector. Et c'est ce dernier, cet Interval Vector (IV) qui va me donner par sa constitution son indice de tension harmonique, car il analyse précisément dans un accord tous les intervalles possibles qu'il comprend.

    Et bien entendu, tous ces calculs je les réalise avec Open Music (ou Opusmodus). En fait, je crée la partition avec Opusmodus (mais MuseScore fait très bien l'affaire) et j'exporte en XML afin d'avoir dans Open Music la partition exacte puis en midifile pour obtenir la réduction de la partition en une portée unique, ce qui me permet de lire en horizontal mais surtout en vertical pour les hauteurs jouées simultanément par les instruments ou voix. A partir de cette portée unique et de la liste de l'ensemble des hauteurs note à note ou par accords, on peut effectuer des sélections aisément voire même effectuer des tris dans les résultats. Et une fois le modèle créé, on bénéficie de la puissance de l'ordinateur. Et je peux si j'entre dans une STAN/séquenceur écouter le résultat avec les instruments que je souhaite.

    Concernant le mariage des timbres en orchestration, qu'est-ce que tu souhaites exactement ? As-tu là aussi un exemple ? Car ce n'est pas évident à la base. Il y a Orchidée de l'Ircam mais c'est complexe à utiliser. Mais sinon, tu lui donnes un timbre et le logiciel te donne en réponse les instruments avec lesquels tu pourrais le reconstituer. Jonathan Harvey, à partir d'une voix de bébé à créer toute une pièce instrumentale à partir de ce logiciel. Mais il avait avec lui des assistants de l'Ircam...
    Chroniques de la CAO (blog), Comprendre la Set Theory; Chroniques sur la découverte du Buchla200e; Bio Express (site);
    {CHARTE AK} {Mettre un avatar - tuto}

  2. #12
    rAKonteur Avatar de Alain44
    Date d'inscription
    mars 2015
    Localisation
    Loire Atlantique
    Messages
    2 396
    Je répond à Deb, mais Floyer dis moi si ce n’est pas hors sujet, car on ne parle plus vraiment de programmation JS là …

    Salut Deb:

    Pour la rugosité et consonance:

    On a eu une discussion ici:
    http://www.audiokeys.net/forum/showt...ght=rugosit%E9

    sur la consonance à partir du message #37 en gros

    et sur la « rugosité » à partir du message #60 (thèse de Vassilakis, très intéressante mais quand même avec quelques erreurs)

    J’ai envie de prolonger le travail de cette thèse…


    Pour les positions:
    - au clavier on réalise une (ou des) position avec nos 2 mains et nos dix doigts au max, avec un écartement limité
    - les positions de l’orchestre seraient pour moi comme si j’avais 36 doigts (par ex) en caoutchouc et que je puisse choisir le timbre pour chaque doigt.
    Plus sérieusement: une contrebasse, quelques violons, quelques cuivres et vents, tout cela crée une « position » ou « macro-position » dans la manière où je le sens, et dans le sens où je l’entend….

    Pour l’ouverture: on parle d’accords ouverts au clavier, je pense qu’elle est mesurable (pour un clavier et un orchestre). Elle représente l’écart entre la note la plus basse et la plus haute (qui peut être de plusieurs octaves), et aussi la répartition dans cet écart max. Je n’ai pas de formulation actuellement.

    Pour le mariage des timbres, j’ai peu de choses, mais j’ai lu une fois (à la bibliothèque) un traité d’orchestration et instrumentation (de Berlioz je crois). J’aimerais retrouver quelques éléments par le calcul.
    KORG PA900, Nord Piano 2 HP, Korg Triton-Rack
    FocusRite Scarlett 6i6, 2xMonitors CM30, Lucas Nano 300
    Cheminer ou arriver: quel est mon but ? La musique est un chemin infini...

  3. #13
    rAKonteur Avatar de floyer
    Date d'inscription
    avril 2016
    Localisation
    Montigny le Bretonneux
    Messages
    1 311
    Par rapport à ce que j'ai commencé, les exemples était plutôt des pretextes pour introduire les notions de programmation de Reaper... du coup, je les cherche avec une complexité minimale tout en rendant le script utile (et non artificiel histoire de caser une notion), mais le compromis simple/utile n'est pas forcément facile à trouver (la version actuelle reprend mon compresseur sidechain sans la partie graphique, et je trouve que c'est déjà long). Ainsi, une simple reconnaissance d'accord où d'ambitus me semble adéquat. Si l'on essaye de rentrer une mesure de rugosité, on obtient une complexité plus importante.

    De mémoire, il me semble que la fonction de rugosité n'était pas simple, et n'était pas exprimée analytiquement. Du coup, pas facile de l'écrire dans quelque langage que ce soit.
    http://www.sinerj.org/~loyer/piano/
    It's never too late to learn to play the piano. (tip of the day)
    Avatar d'après une photo de David Maiolo (Creative Commons BY-SA 3.0)
    Yamaha CLP150, Reaper, Garritan CFX, plein d'autres pianos virtuels

  4. #14
    rAKonteur Avatar de Alain44
    Date d'inscription
    mars 2015
    Localisation
    Loire Atlantique
    Messages
    2 396
    Oui Floyer de petits exemples simples et « utiles » (par trop longs ni complexes) me semblent le mieux aussi.

    Oui une reconnaissance permet d’aborder la récupération des notes midi, un peu de traitement, un peu d’affichage simple … ça me plaît un très bon exemple pour du MIDI simple.
    (on peut adjoindre l’ambitus en tant qu’exercise complémentaire)

    De mémoire la fonction de rugosité était analytique ( une fonction produit de 3 fonctions plus élémentaires X*Y*Z),
    mais il y en avait une un peu « bâclée » qui donnait des résultats globaux bizarres…
    Je ne pense pas qu’il faille l’intégrer dans ton tuto, car elle n’est pas validée (je voudrais justement en proposer une qui serait plus valide après certains tests…)


    EDIT, une autre idée d'exercice: trouver le contenu harmonique d'un son tenu (le spectre), sortir les niveaux des différentes harmoniques ... (je ne sais pas si c'est simple en JS ?) ça permettrait d'aborder une facette du traitement audio (en live, et/ou à partir d'un wave)
    Dernière modification par Alain44 ; 08/08/2017 à 13h18.
    KORG PA900, Nord Piano 2 HP, Korg Triton-Rack
    FocusRite Scarlett 6i6, 2xMonitors CM30, Lucas Nano 300
    Cheminer ou arriver: quel est mon but ? La musique est un chemin infini...

  5. #15
    rAKonteur Avatar de floyer
    Date d'inscription
    avril 2016
    Localisation
    Montigny le Bretonneux
    Messages
    1 311
    L'ambitus est la fonction la plus simple : on prend la note min, la note max... et une soustraction.

    La reconnaissance d'accord se fait d'abord avec une opération modulo 12 pour classer. Une fois que l'on a détecté un accord majeur par exemple, il convient de retourner l'accord (ex : ré-fa#-la) afin de voir quelle est la basse et déduire le renversement. C'est un peu plus compliqué.

    Avec Reaper, il y a déjà des scripts tous fait qui font une analyse spectrale :

    Spectrograph Spectrogram Meter (Cockos)
    --> un spectrogramme (temps/fréquence)

    New FFT filter
    --> Un filtre basé sur les décomposition en transformée de Fourier

    (et plein d'autre).

    La difficulté est de simplifier les exemples pour rendre la lecture plus simple... sans enlever le côté pratique. Hors, dès qu'il y a du graphisme, cela multiplie les lignes, et c'est pire avec une interaction à la souris.

    Ainsi, pour les FFT, c'est prévu d'emblée dans JS FX, mais la reconnaissance des fréquences fondamentales n'est pas un sujet facile en soit... surtout avec des instruments comme le piano où la première harmonique (voire la deuxième) peut être manquante. J'ai lu des sujets de recherche dans ce domaine. Mais si on ne fait que chercher la fréquence qui sort avec une amplitude max, c'est assez facile.
    http://www.sinerj.org/~loyer/piano/
    It's never too late to learn to play the piano. (tip of the day)
    Avatar d'après une photo de David Maiolo (Creative Commons BY-SA 3.0)
    Yamaha CLP150, Reaper, Garritan CFX, plein d'autres pianos virtuels

  6. #16
    rAKonteur Avatar de Alain44
    Date d'inscription
    mars 2015
    Localisation
    Loire Atlantique
    Messages
    2 396
    Citation Envoyé par floyer Voir le message
    L'ambitus est la fonction la plus simple : on prend la note min, la note max... et une soustraction.
    Oui c’est simple, mais ça fait déjà récupérer les notes midi, et faire une petite opération dessus, puis afficher un résultat simple. Mais ce n’est pas hyper-utile si c’est pris seul. Mais ça serait un bon petit tuto simple.

    Citation Envoyé par floyer Voir le message
    La reconnaissance d'accord se fait d'abord avec une opération modulo 12 pour classer. Une fois que l'on a détecté un accord majeur par exemple, il convient de retourner l'accord (ex : ré-fa#-la) afin de voir quelle est la basse et déduire le renversement. C'est un peu plus compliqué.
    En effet, mais c’est la partie « traitement » qui serait un plus plus complexe mais un peu plus intéressante dans son application.
    Je n’ai pas vu de fonction « modulo » mais il y a la division entière (euclidienne) je crois, donc on peut se créer facilement une fonction « modulo » je pense.

    J’ai regardé un peu le lien anglophone de JS. IL y a assez peu d’ordre de base. Ce n’est pas plus mal. A chacun de faire les fonctions dont il a besoin….


    Citation Envoyé par floyer Voir le message
    Avec Reaper, il y a déjà des scripts tous fait qui font une analyse spectrale :

    Spectrograph Spectrogram Meter (Cockos)
    --> un spectrogramme (temps/fréquence)

    New FFT filter
    --> Un filtre basé sur les décomposition en transformée de Fourier

    (et plein d'autre).
    Ça c’est super bien, je n’avais pas vu, je regarderai. Il faut voir comment on récupère les valeurs des amplitudes de chaque harmonique.



    Citation Envoyé par floyer Voir le message
    La difficulté est de simplifier les exemples pour rendre la lecture plus simple... sans enlever le côté pratique. Hors, dès qu'il y a du graphisme, cela multiplie les lignes, et c'est pire avec une interaction à la souris.
    c’est souvent elle cas avec beaucoup de langage il me semble … (d’après mes souvenirs qui datent)
    Je n’ai jamais été fan des graphismes en prog, ça prend beaucoup de temps !! c’est surtout le résultat qui m’intéresse.
    Mais il est des cas où le graphisme est indispensable, par ex « une courbe » !!
    Dans les ex de tes autos je crois qu’il faut juste aller à « visualiser basiquement » un résultat, pas plus.
    Et de plus tard développer des tutos pour créer « un affichage joli » des résultats !!!
    (idem pour l’entrée des données, mais il y’a des « sliders » je crois qui ont l’air bien …)



    Citation Envoyé par floyer Voir le message
    Ainsi, pour les FFT, c'est prévu d'emblée dans JS FX, mais la reconnaissance des fréquences fondamentales n'est pas un sujet facile en soit... surtout avec des instruments comme le piano où la première harmonique (voire la deuxième) peut être manquante. J'ai lu des sujets de recherche dans ce domaine. Mais si on ne fait que chercher la fréquence qui sort avec une amplitude max, c'est assez facile.
    Oui (et encore on utilise pas souvent de « cloches d’églises » ).
    En limitant le domaine d’application, il est possible de sortir un « fondamental simplifié » , comme tu le dis avec le max. En fait c’est l’harmonique prépondérante, qui est le fondamental dans les cas courants/simples.
    Sinon il faut reconstruire le spectre harmonique pour en déduire un fondamental « probable », et présent seulement à l’octave supérieure. Il faudrait une sorte de "peigne harmonique" ...
    On parle souvent "d'harmonique manquante ou absente" (y compris le fondamental), j'aurai tendance plus à dire "amortie" ou "non-amplifiée" par le système acoustique. Car je pense qu'elle est présente, mais d'un très faible niveau. Mais pratiquement cela revient au même .


    Donc en restant simple, tu peux déjà nous donner de petites bases utiles (des briques de Lego) et intéressantes ...

    Merci de ton investissement pour la communauté.
    Alain
    Dernière modification par Alain44 ; 08/08/2017 à 15h59.
    KORG PA900, Nord Piano 2 HP, Korg Triton-Rack
    FocusRite Scarlett 6i6, 2xMonitors CM30, Lucas Nano 300
    Cheminer ou arriver: quel est mon but ? La musique est un chemin infini...

  7. #17
    rAKonteur Avatar de floyer
    Date d'inscription
    avril 2016
    Localisation
    Montigny le Bretonneux
    Messages
    1 311
    Je viens de mettre à jour : avec une transposition (utile et basique, pour s'échauffer à récupérer des événements MIDI), et l'ambitus qui permet d'utiliser quelques ordres graphiques. (Mais je n'affiche que l'écart sous la forme 4 pour 4 demi ton entre un do et un mi par exemple. Je ne suis pas aller à afficher A3-A4 par exemple).

    Sachant que c'est la base pour afficher des chaînes quelconques (Fm, 2e renversement).

    il faudrait voir comment compléter le document....

    Annexes ou chapitres spécifiques : fonctions essentielles** de programmation sous Reaper (synthèse+complément...),
    Synthèse des événements MIDI,
    Notion fondamentales pour les filtres

    ** comme le modulo qui s'écrit %.

    Je ne sais pas quelle structure est la plus adéquate : comme celle ci, ou plus traditionnelle (liste des type de section, liste des opérateurs (+,-,*,/), liste des structures de contrôle... à voir...

    -

    Dès que c'est inférieur au niveau signal sur bruit, on peut considérer manquant, ce qui est le cas sur un piano avec le Do-2 (C0) à 27Hz. La table d'harmonie fait objet de filtre passe-haut.
    Dernière modification par floyer ; 08/08/2017 à 16h21.
    http://www.sinerj.org/~loyer/piano/
    It's never too late to learn to play the piano. (tip of the day)
    Avatar d'après une photo de David Maiolo (Creative Commons BY-SA 3.0)
    Yamaha CLP150, Reaper, Garritan CFX, plein d'autres pianos virtuels

  8. #18
    rAKonteur Avatar de Alain44
    Date d'inscription
    mars 2015
    Localisation
    Loire Atlantique
    Messages
    2 396
    Je travaille pédagogiquement avec des jeunes (20 ans) jusqu’à des vieux (45 ans), « l’exemple illustré » est très efficace et accrocheur. On est souvent dans une démarche « petit projet »: j’ai un pb à résoudre (assez simple), comment je peux le résoudre.
    L’art du pédagogue est de bien choisir ses exemples pour qu’ils soient progressifs (pas trop difficiles à un moment donné de l’apprentissage), et intéressants/motivants pour la suite.

    La forme traditionnelle: exposé de toutes les notions (en listes), puis applications vers la fin… décourage trop de gens trop vite, seuls les très bons et très autonomes vont réussir.
    (cette forme est par contre très bien en tant qu’outils de référence, en annexe par ex)


    Par contre il faut adapter a forme. Quelques notions de bases indispensables, puis un petit pb intéressant, puis on boucle…
    Il faut aussi tenir compte du niveau de départ des gens (les « pré-requis »!!). Là on peut supposer que les gens ont un petit niveau du langage « BASIC »…. mais peut être un peu plus parfois …


    Pour ton exemple sur l’ambitus.
    Le pb est bien, mais il devrait être mieux formulé:

    - Problème: Comment trouver l’ambitus (écart entre la note grave et la note aigue) d’un accord joué au clavier.
    - Pré-requis: notions de langage BASIC, et ... (citer les exemples précédents indispensables...)
    - Matériel nécessaire: Reaper 5.0 ou +, clavier relié en MIDI
    - Notions abordées: récupérer les notes MIDI jouées, faire quelques test et opérations, afficher simplement le résultat.
    - Méthode et présentation: Structurer clairement et commenter chaque ligne. Mettre en rouge les notions délicates actuellement, qui seront approfondies plus tard. Si besoin se référer au site de référence en ligne.
    (- Temps prévu: 1 h seul ou en binôme.
    - Rendu, évaluation : ..... ) ........là je passe !!!!!!!!!!! mais le temps prévu ne serait pas inutile ...

    Remarques sur Ambitus:

    Desc: Ambitus serai mieux que « Amtibus » .

    Tu as l’habitude de coder. Nous il nous faut, au moins au début, des commentaires à chaque ligne. C’est plus lourd à écrire, mais c’est beaucoup plus clair pour le débutant.

    ex1: i += 1; // idem à i=i+1
    ex2: MIDI_NOTE_OFF = $x80; //??? c’est quoi $x80???
    ex3: le ? entre deux, est équivalent à un IF THEN ELSE … (?) (je sais je viens du BASIC de 1980 … …LOL)
    ex…

    Pour donner un ex il faut avoir abordé un peu les éléments cités, ou au moins mettre les commentaires adéquats …
    Je sais que c’est lourd quand on a l’habitude comme toi…. mais sinon ça va larguer le max de gens (y compris moi) …

    Bien à toi…

    PS:
    Citation Envoyé par floyer Voir le message
    Dès que c'est inférieur au niveau signal sur bruit, on peut considérer manquant, ce qui est le cas sur un piano avec le Do-2 (C0) à 27Hz. La table d'harmonie fait objet de filtre passe-haut.
    Oui, Oui, je suis d’accord…
    Humainement il est manquant, mais physiquement je crois qu’il est encore présent (mais inaudible), c’est juste une question de vocabulaire …
    KORG PA900, Nord Piano 2 HP, Korg Triton-Rack
    FocusRite Scarlett 6i6, 2xMonitors CM30, Lucas Nano 300
    Cheminer ou arriver: quel est mon but ? La musique est un chemin infini...

  9. #19
    Modérateur Avatar de deb76
    Date d'inscription
    janvier 2007
    Localisation
    Haute-Normandie
    Messages
    3 244
    Floyer sympa ton tuto. Il faudrait que je réinstalle Reaper pour tester.
    Alain, merci pour tes précisions.
    Chroniques de la CAO (blog), Comprendre la Set Theory; Chroniques sur la découverte du Buchla200e; Bio Express (site);
    {CHARTE AK} {Mettre un avatar - tuto}

Page 2 sur 2 PremièrePremière 12

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •