CATEGORIES

ARCHIVES

Wesh les gens. Ce mois-ci j'ai try hardé de ouf sur mon synthétiseur granulaire ! On va voir ça :)

Whaddup peoples. This month I worked hard on my granular synthetizer! Let's see! :)

Logiciel Libre

Free Software

DSANDGRAINS

Au niveau de l'interface graphique :

  • J'ai corrigé, optimisé et simplifié la méthode de rendu des composants ui de type "glisseur".
  • J'ai corrigé des bugs de rendu sur les listes éditables.
  • J'ai ajouté un potentiomètre de randomisation avec sa liste d'effets ciblés.
  • J'ai remplacé le potentiomètre "SMOOTH TRANSITION" par "STRETCH".
  • QJackctl est notifié quand les ports audio sont renommés depuis le client.
  • L'ouverture, la lecture et la validation de fichiers FLAC est plus fiable.
  • J'ai implémenté l'élément graphique "Bar Plot" qui permet le rendu de la forme d'onde de l'échantillon audio.
  • j'ai implémenté un mécanisme d'animation des éléments graphiques.
  • Le graphique de l'échantillon audio est animé pour se mettre à jour quand on change de contexte.
  • Les potentiomètres "Amount" et "Stretch" s'animent pour se mettre à jour quand on change de contexte.
  • J'ai ajusté le placement de certains éléments graphiques du menu "Fichier".
  • La grosse fonction init_ui_elements a été réorganisée (c'était pas du luxe).
  • J'ai corrigé un gros bug rendant l'interface graphique moins réactive.

At the UI level:

  • I've fixed, optimized and simplified rendering method of ui element know as "slider".
  • I've fixed bugs in rendering of editable list item.
  • I've add potentiometer for randomization as well as its target effects list.
  • I've replaced the "SMOOTH TRANSITION" potentiometer by "STRETCH".
  • Qjackctl is notified when audio port is renamed from client.
  • Opening, reading and validating FLAC file is more reliable.
  • Bar plot UI element has been implemented and used for rendering audio sample's waveform.
  • Transition animation has been implemented for UI elements.
  • Audio Sample screen update with an animation while switching context.
  • "Amount" and "Stretch" potentiometer update with an animation while switching context.
  • Fixing some ui element coordinates in "Open File" menu.
  • The big function known as init_ui_elements has been rewritten for the better.
  • Fix a bug making the whole user interface less responsive.

Au niveau du son :

  • Les échantillons audio sont mixés entre eux dans chaque voix et son envoyés au serveur jack.
  • Le potentiomètre "Amount" permet de controler le volume de l'échantillon audio courant.
  • Le potentiomètre "Stretch" est... Heu... Loin d'être fini.

At the sound level:

  • Audio sample are mixed within voices and send to jack server.
  • "Amount" allow to setup gain of the current active audio sample.
  • "Stretch" is... Well... Far to be implemented for now.

Donc parlons en de ce potentiomètre... Je reviens de loin, c'est pas du tout quelque chose de trivial comme fonctionnalité. Ce que je veux implémenter pour les potentiomètres "Stretch" et "Pitch" c'est un "Time Scale modification" et "Pitch Scale Modification" qui soient indépendants l'un de l'autre, sans créer trop d'artefacts audio, et sans être trop gourmant en temps CPU...

Ok, so let's talk about "Stretch"... It's a quite hard issue. It's not a trivial feature. What I want is known as independant "Time Scale modification and independant "Pitch Scale Modification". It must be done without any too much audio artifacts and without being too much CPU hunger...

Il se trouve qu'une technique de 2008 implémente déjà ce que je veux faire :

Fortunately, there a approach since 2008 which sounds good and implement what I want :

Time and Pitch Scale Modification: a Real-time Framework and Tutorial Tutorial

Malheureusement cette publication m'est très difficile d'utilisation parce que je ne maitrise pas les concepts et outils mathématiques qui y sont utilisés. Les prochaines semaines vont donc consister pour moi à me former et mettre à jour mes connaissances. Comme le sujet n'a pas l'air d'être documenté en français ce sera l'occasion de vulgariser ce que j'ai compris de tout ça dans un bel article sur Zeste de savoir !

The bad news is this paper is really hard to handle with my lack of mathematical skills... The next weeks will be about learning what I don't know yet to understand what how to implement the good way the features I want. Because the topic has not been covered in french, it could be the opportunity to summarize what I learn in a beautiful paper for Zeste de savoir!

Voilà pour DSANDGRAINS :)

That is what we got for DSANDGRAINS this month :)

  • J'ai créé une illustration pour le chapitre "Tutoriel" de la documentation.
  • J'ai mis à jour le thème "Gentle" en ajoutant une typo un peu plus stylée.
  • J'ai corrigé un p'tit bug dans le mécanisme d'importation d'assets.

  • I drew an illustration for "Tutorial" chapter of the documentation.

  • I've updated "Gentle" theme by adding a nicer font.
  • I've fixed a small bug in assets exportation.

Art libre

Free Art

Pas grand chose, mais quelques petites choses quand même.

Not much, yet some stuff to see.

Billets de Blog

Blog entries

Dans ma quête de connaissance pour implémenter les fonctionnalités que je veux pour mon synthétiseur j'ai commencé à reprendre les bases mathématiques qu'il me manque. Dans cette optique, j'ai rédigé deux billets ou j'étale mes connaissances nouvellement acquises. Ce qui me permet d'y revenir en cas de doute, mais aussi d'instruire les plus jeunes d'entre vous, si cela est nécessaire !

In my quest of knowledge to implement signal processing features in my synthetizer I've began to learn from the ground what I miss in mathematics. This way, I writting some blog entries about what I learnt. Useful for the youth, but also to me when I need "good" ressources about a certain topic.

À noter également que dans le cadre de mon projet de traitement de signal, je me base sur ces deux documents du MIT :

My mathematic investigations in signal processing are based on the following MIT papers :

Voilà pour le mois d'Avril :)

There is for April :)