Chargement...
 
Skip to main content

4 - Toutes les autres applications, les émulateurs...


Des précisions sur Beatrix

Articles: 10
Ce sujet s'adresse à tous ceux qui sont intéressés au softsynth Beatrix (imitation orgue Hammond). Je ne sais pas si j'ai "redécouvert l'eau chaude" mais j'ai compris des choses récemment. Le développeur de Beatrix a mis son soft dans le domain public, donnant le droit à tout un chacun de le regarder et le modifier pour son usage personnel, mais pas de le redistribuer, tout simplement parce que ce développeur a vendu les droits à une société commerciale qui fabrique entre autres des clones d'orgue Hammond, dans lesquels un PC Linux tourne avec son logiciel. Le produit est le KeyB (voir sur ce lien), et il sonne vraiment bien! J'imagine que le soft a évolué et s'est encore amélioré depuis la dernière version de Beatrix. Mais le développeur (à qui j'ai écrit) m'a dit qu'il ne savait pas encore quoi faire de la version Open Source de son soft (sous-entendu: il ne fera rien prochainement).

Bon, la limitation principale de ce soft étant, à mon avis, qu'il est basé sur OSS, j'ai voulu essayer de l'intégrer à ALSA/JACK. Et ça a l'air de marcher! Avec quelques petites limitations (la fréquence d'échantillonnage de JACK doit être un multiple de 22050 par exemple — excluant 48000 bit/s) mais sur mon 64studio ça marche assez bien.

Au plan légal je crois ne pas pouvoir publier ces modifications, mais je ne pense pas qu'il soit interdit d'expliquer à ces amis ce qu'on a fait 😉 D'une manière ou d'une autre s'il y en a qui sont intéressés je trouverai bien le moyen de leur montrer "de près" mes modifications.

Let me know
Ph.
Articles: 649 France
Si tu n'as pas le droit de distribuer le logiciel, tu peux toujours distribuer un Patch. Je pense qu'au niveau légalité il n'y a aucun problème.
Ou au pire faire un tuto pour montrer quels sont les modifications, les lignes de codes à ajouter dans les fichiers sources.

En tout cas c'est bien cool 😊
Articles: 606
Pas clair... l'interdiction de redistribuer est contraire au versement dans le domaine public (où chacun peut en faire ce qu'il veut). Le soft n'est donc pas dans le domaine public. Pire, s'il en a vendu les droits, il est même possible que l'acheteur puisse s'opposer à ce qu'il laisse le code disponible, à ce qu'on diffuse des patchs, etc. Bref, je sais pas trop quoi en penser, car selon l'accord qu'ils ont conclu, l'auteur n'a peut-être même plus son mot à dire, même sur les anciennes versions, et je vois mal l'acheteur autoriser une diffusion du soft, des patchs ou autre...

@phisto : tu as peut-être des éléments plus précis ? Il a vendu les droits pour toutes les versions déjà sorties ? Avec des clauses particulières concernant les versions plus anciennes ? Tout ça quoi !

Ce qui éclaircirait vraiment le truc, c'est qu'il distribue la dernière version "publique" sous GPL 😉, mais encore une fois, cela ne dépend peut-être déjà plus de lui 😑.

Je note en passant que le site de KeyB passe largement sous silence le fait que leur(s) clavier(s) tourne(nt) sous Linux... et je m'interroge donc sur le respect des dispositions de la GPL qu'implique l'utilisation du kernel...

T.
Articles: 10
D'une part il y a la clause écrite sur la page de téléchargement:
YOU MAY FREELY DOWNLOAD AND INSTALL A COPY OF THE SOFTWARE FOR YOUR PERSONAL USE. YOU MAY NOT BUNDLE, RENAME, SELL, REDISTRIBUTE, REPACKAGE OR IN ANY OTHER WAY ALTER WHOLE OR PART OF THE SOFTWARE AND ITS DISTRIBUTION WITHOUT PRIOR, EXPRESS AND WRITTEN PERMISSION FROM THE AUTHOR.

Une note ajoute: If you feel that you would like to make a serious contribution to the project, please contact me.

Ce que j'ai fait...

Je vous traduis la correspondance:
"... Je voulais vous faire savoir que j'ai fait les modifications nécessaires pour l'intégrer à ALSA et JACK. Je suis sûr que cela peut intéresser du monde... Je vous le demande parce que je ne suis pas sûr d'être autorisé à le partager avec d'autres personnes..."

(excès d'honnêteté?)

Sa réponse: "La licence n'inclut pas de permission à la redistribution. Ce n'est pas que cela me plaise particulièrement, mais maintenant qu'il y a une version commerciale je dois réfléchir à comment maintenir la version ouverte ("open version")."

Je suis d'accord avec toi Trinine, la position de KeyB sur Linux n'est pas claire, et si ça me fait plaisir de savoir qu'il y a de l'Open Source sous le capot, je regrette que cela ne soit pas mentionné sur le site (ça l'est peut-être sur la documentation livrée avec l'appareil).

Bon, ne m'en voulez pas: je préfère sincèrement ne pas rendre la patch publique. On peut essayer autre chose: envoyez-moi un message privé avec une adresse électronique où je pourrais envoyer un fichier .tgz avec les fichiers à changer (ça me fait penser qu'il faut que j'écrive quelques instructions...). Qu'est-ce que vous en dites?
Articles: 649 France
Ben du coup ça te met dans une position délicate aussi.
Si tu n'as pas le droit de redistribuer le logiciel, peut etre qu'un tutoriel bien détaillé pour le modifier pourrait faire l'affaire ?
Enfin je ne suis pas un expert en droit... surtout comme vous dites ça n'a pas l'air très clair ce mélange d'open source et de commercial...
Articles: 10
Je voudrais vous donner quelques détails sur les modifications que j'ai faites (histoire que vous puissiez vérifier que je ne vous envoie pas un virus qui efface votre disque dur... 😀).

0. j'ai maintenu la vielle implémentation mais avec compilation conditionnelle (pour me simplifier la vie); par défaut ça compile pour ALSA/JACK: il n'est donc pas nécessaire de configurer quoi que ce soit pour passer à JACK

1. MIDI: substitution interface OSS avec interface ALSA (pour la réception des notes et des contrôles MIDI) (midi.c)

2. enregistrement comme client JACK, déclaration de la callback de génération audio et élimination de l'accès au device audio OSS (main.c)

3. callback de génération audio (main.c):

- j'ai reporté les appels de procédure de la boucle principale en maintenant les mêmes paramètres (dimension des buffers)

- j'ai modifié la procédure whirlProc (Leslie) pour générer directement en virgule flottante (float) et éviter une successive conversion de short a float (whirl.c e whirl.h)

- j'ai ajouté la conversion de fréquence d'échantillonnage (utilisant la librairie libsamplerate) pour adapter la fréquence du signal généré à celle de JACK; ça ne marche qu'avec les fréquences 22050 et 44100 bit/s (avec 48000 par exemple il y a des problèmes — je ne sais d'ailleurs pas trop pourquoi)

- j'avais remarqué déjà sur le soft original que la charge CPU augmente beaucoup quand aucune note n'est générée; je n'ai pas d'explications à cela, si ce n'est que c'est la procédure whirlProc (Leslie) qui "s'affole"; j'ai donc ajouté un test pour, en cas de silence absolu (que des zéros), générer du silence stéréo "à la main" sans passer par whirlProc; ça semble marcher, mais faites-moi savoir si vous remarquez des problèmes de transitoires (passages de silence à musique ou de musique à silence)

4. interception des signaux SIGINT et SIGTERM pour sortir de manière plus propre (main.c)

5. nouvelles librairies libjack e libsamplerate dans le Makefile

6. résolu le problème d'affichage du nom du programme après un changement quand le nouveau nom est plus court (program.c)


Le résultat (au niveau audio et au niveau MIDI — dans ce dernier cas c'est un peu moins testé) est à mon avis identique au soft OSS, avec les mêmes défauts (par ex. aliasing dans les aigus). Mais c'est amplement suffisant pour l'insérer dans un setup complet.

Pour l'instant je l'ai envoyé à l'un d'entre vous: j'attends de voir comment il s'en sort avant de l'envoyer à ceux qui me le demanderaient via messagerie privée de Linux MAO.

A disposition pour d'éventuels approfondissements.
Ph.
Articles: 10
Bon, malheureusement mon "volontaire" (désigné, en fait) m'a fait faux bond (je ne lui en veut pas d'ailleurs — ce sont des choses qui peuvent intimider). J'aurais besoin d'un autre volontaire: il lui suffit de m'envoyer un message privé indiquant une adresse électronique pour l'envoi.

A+
Ph.
Articles: 572
Ben j'ai quand meme essaye finalement. Ca va c'etait facile a installer. Et ca a semble bien marcher, j'ai pas fait de tests tres pousses encore. Mais Beatrix apparait bien dans la fenetre "connections" de Jack, ce qui m'a permis d'en sortir des sons a l'aide de VKeybd.
Ceci dit, pour tester plus a fond vaudrait mieux que quelqu'un qui maitrise deja Beatrix (ce qui n'est pas mon cas) essaye aussi.
Articles: 606
Perso, je veux bien essayer aussi, histoire d'y jeter un oeil...

T.
Articles: 23 France
Bonjour,

Je veux bien aussi tester la chose, je te contact en pv.


Articles: 1
😀
je veux bien essayer.
j'ai le clavier de controle qu'il faut
Cordialement.