INTRODUCTION

Simple audio visualizer est un petit script pour le logiciel de modélisation 3D Open source Blender, écrit en Python, crée par Sirrandalot en 2015 et amélioré par Christophe Leblanc en 2018.

Ce script permet la création d'une visualisation audio animée représentant les différentes fréquences du son sous forme de barres, tel un égaliseur.

Le script original, créé par Sirrandalot, permettait la création et l'animation d'objets "Plane". Cepandant, la visualisation générée était difficilement manipulable, ce qui rendait le script peu pratique en l'état.

Cette version améliorée a donc été pensée pour faciliter la manipulation de la visualisation en groupant les différents objets générés au sein d'un objet parent de type "EMPTY".

Ce script apporte également quelques fonctionnalités supplémentaires très utiles:

  • Création d'un objet parent de type "EMPTY" regroupant toutes les barres, permettant ainsi la manipulation du groupe (position, rotation, dimension).
  • Choix entre la visualisation 2D ou 3D en utilisant au choix des objets "Plane" ou "Cube".
  • Visualisation classique ou bipolaire.
  • Création d'une visualisation horizontale ou circulaire, graçe à l'ajout d'une courbe de bézier dans la scène et d'un modifieur de type "CURVE" à chaque barre.
  • Possibilité de créer un second groupe de barre dont les échelles ("Scale") X et Y peuvent être inversées, produisant un groupe parallèle ou "miroir".
  • Définition de l'échelle ("Scale") du groupe dès sa création.
  • Création d'un matériau ou utilisation d'un matériau existant et ajout de ce matériau à toutes les barres, facilitant la personnalisation.
  • Ajout automatique du fichier audio dans le séquenceur vidéo de Blender.
  • Vérification de la présence du fichier avant démarrage du script.

La première partie du script est réservée à la configuration, permettant de modifier les options sans toucher au script à proprement parler.

Note: Ce script ne prend pas en charge toutes les possibilités de personnalisation de la visualisation. Pour personnaliser au maximum la visualisation audio, une bonne compréhension du logiciel Blender est requise.

Le script est distribué sans license. Vous pouvez le modifier et redistribuer sans restrictions.

INSTRUCTIONS

Utiliser le script dans Blender:

Copier le script ou charger le fichier ".py" dans l'éditeur de texte de Blender, modifier les options suivant vos préférences puis lancer le script en cliquant sur Run Script. L'analyse du fichier audio peut prendre quelques secondes.

Configurer le script:

Le script contient une première partie servant à sa configuration:

Note: La configuration du script est facultative. Seule la définition de la variable "audio_file_path" est indispensable.
Nom
Description
audio_file_path
Définit le chemin du fichier audio.
Ex: "C:\Documents\audio_file.wav"
bar_mesh_type
Définit si la visualisation doit être rendue en 2D ou 3D en utilisant des objets "Plane" ou "Cube". Les valeurs possibles sont "PLANE" ou "CUBE".
number_of_bars
Définit le nombre de barres de la visualisation. La valeur par défaut est 64.
bars_max_height
Définit la taille verticale maximale du visualiseur.
bars_group_scale
Définit l'échelle ("Scale") du groupe de barres en utilisant un nombre, un tableau "list" ou "tuple", ou "None" pour laisser la valeur par défaut (1.0, 1.0, 1.0).
Ex: None / 10 / (0.25, 0.2, 1.0)
bars_bipolar
Définit si le visualiseur doit être classique ou symétrique.
generate_clone
Définit si le visualiseur doit générer un second groupe de barres dont la dimension Y est négative
clone_inverted_x
Définit si le clone doit être inversé par l'utilisation d'une échelle ("Scale") X négative.
clone_inverted_y
Définit si le clone doit être inversé par l'utilisation d'une échelle ("Scale") Y négative.
clone_offset_y
Définit le décalage sur l'axe y entre les deux groupes de barres.
generate_circular
Définit si le visualiseur doit être horizontal ou circulaire.
circular_curve_scale
Définit la transformation "Scale" du cercle en utilisant un nombre, un tableau "list" ou "tuple", ou "None" pour laisser la valeur par défaut (1.0, 1.0, 1.0). Utilisé uniquement si "display_circular" est True.
add_audio_to_video_sequencer
Définit si le fichier audio doit être ajouté automatiquement au séquenceur vidéo.
video_sequencer_track
Définit le numéro de la piste dans laquelle le fichier audio doit être ajouté.
video_sequencer_strip_name
Définit le nom du clip audio dans le séquenceur vidéo.
group_name
Définit le nom du groupe utilisé pour matérialiser la visualisation.
material_policy
Définit si le script doit utiliser un matériau existant ou en créer un nouveau pour les barres, ou n'en utiliser aucun.
Booléen "None" / String "None" = Aucun matériau, String "Create" = Créer un nouveau matériau, String "Use" = Utiliser un matériau existant.
material_name
Définit le nom du matériau à créer ou à utiliser, en fonction de la variable "material_policy".

Créer un nouveau matériau pour les barres:

Configurer le script en définissant la variable "material_policy" en "Create". La variable "material_name" peut également être redéfinie pour attribuer un nom spécifique au matériau.

Utiliser un matériau existant pour les barres:

Configurer le script en définissant la variable "material_policy" en "Use". Utiliser la variable "material_name" pour définir le nom du matériau existant à utiliser.

Note: Si le matériau n'existe pas, aucun matériau ne sera ni créé, ni utilisé.

Manipuler une visualisation horizontale:

Dans le cas d'une visualisation horizontale, le script génère un groupe contenant les barres.

Pour manipuler la visualisation, sélectionner ce groupe dans l'interface "Outliner" puis le manipuler comme n'importe quel objet 3D (position, rotation, échelle).

Manipuler une visualisation circulaire:

Dans le cas d'une visualisation circulaire, le script génère un groupe contenant les barres et un groupe parent contenant le groupe des barres et la courbe de Bézier.

Pour manipuler la visualisation et modifier sa forme, sélectionner l'élément ou groupe désiré dans l'interface "Outliner" puis le manipuler comme n'importe quel objet 3D (position, rotation, échelle). Pour modifier le diamètre du cercle, utiliser l'objet de type courbe ("Curve").

Supprimer la visualisation:

Dans l'interface "Outliner", sélectionner le groupe parent, ouvrir le menu contextuel (clic-droit) et choisir Delete hierarchy.

Ajouter le clip audio:

Le script peut ajouter automatiquement le clip audio au séquenceur de Blender. Pour cela, il suffit de définir la variable 'add_audio_to_video_sequencer' avec le booléen "True".

Pour ajouter le clip audio sans le script, aller dans l'interface "Video Sequence Editor", ouvrir le menu "Add" puis choisir Audio.

Supprimer le clip audio:

Aller dans l'interface "Video Sequence Editor". Sélectionner le clip audio, ouvrir le menu "Strip" puis choisir Erase Strip.

LICENCE

Ce programme est un logiciel libre, vous pouvez le redistribuer et/ou le modifier sans restrictions.

Ce programme est distribué dans l'espoir qu'il soit utile, mais SANS AUCUNE GARANTIE, sans même la garantie d'avoir une QUALITÉ MARCHANDE ou une QUELCONQUE UTILITÉ.

CONTRIBUTION

La passion est primordiale aux développeurs pour leur permettre de continuer à développer des logiciels libres et les distribuer gratuitement. Toute contribution est la bienvenue pour maintenir cette passion en vie.

Vous pouvez contribuer de différentes manières:

  • Montrez moi ce que vous avez fait de ce programme!
  • Faites moi remonter les bugs si vous en trouvez!
  • Faites vos remarques et donnez vos idées.
  • Développez des nouvelles fonctionnalités pour de futures versions.
  • Faites un don pour que je puisse continuer à consacrer du temps à l'évolution et au suivi de ce script.

TÉLÉCHARGEMENT

EN RELATION

Creative Commons License

Ce document crée par Christophe Leblanc est publié sous licence Creative Commons Attribution-ShareAlike 4.0 International License.