Académique Documents
Professionnel Documents
Culture Documents
Tutoriel Analyse
Tutoriel Analyse
Research reports
Musical works
Software
Diphone
Analyse additive
et squencement
Tutoriel
Premire dition, mars 1997
Xavier Rodet
SVP
Conception
Programmation
Philippe Depalle
Philippe Depalle, Gilles Poirot, Chris Rogers, Jean Carrive
Pm
Conception
Programmation
Additive
Conception
Programmation Unix
Ircam
1 place Igor-Stravinsky
F-75004 Paris
Tel.01 44 78 12 33
Fax 01 44 78 15 40
E-mail : ircam-doc@ircam.fr
Contents
Prsentation du manuel ........................................................................................ 6
1 Le programme Additive ......................................................................................... 7
Prsentation des trois phases de lanalyse................................................. 7
Le processus danalyse additive ....................................................................... 9
La taille de la fentre de signal .............................................................10
Le pas d'avancement .....................................................................................11
L'estimation de la fondamentale ................................................................... 12
La recherche des harmoniques........................................................................ 16
La resynthse ......................................................................................................... 19
2 Cration des segments ....................................................................................... 20
Cas d'un segment constitu par un son entier ......................................... 22
Cas d'un segment segmentant une phrase instrumentale ................... 23
3 Cration des squences ...................................................................................... 27
Assemblage de deux segments ....................................................................... 27
Reconstitution du son original ....................................................................... 31
Modifications de l'ordre des segments ....................................................... 34
Mlange d'instruments ....................................................................................... 36
Transfert de paramtres................................................................................... 37
Transfert de fondamentales .....................................................................37
Transfert des paramtres des partiels ...............................................41
4 Les exemples Diphone .........................................................................................
Le dossier "tut voix-1" ......................................................................................
Le dossier "tut instts" .......................................................................................
Le dossier "tut R-instts" ..................................................................................
Le dossier "tut animal" ......................................................................................
Le dossier "tut f0" ...............................................................................................
Le dossier "getstarted .......................................................................................
43
44
44
46
46
46
47
5 Bibliographie ........................................................................................................... 48
6 Annexe : dcoupages des instruments.......................................................... 49
7 Index ........................................................................................................................... 53
Prsentation du manuel
La premire partie du manuel porte sur la cration de diphones, appels, de faon
plus gnrale, segments. Elle est divise en deux chapitres : analyse des sons et
cration des segments.
Dans le chapitre 1, nous commenons par examiner comment, partir de fichiers
de sons, on procde une analyse pralable. Cette analyse est permise par linsertion dans le programme Diphone du programme Additive 1 .
Une fois lanalyse acheve et vrifie, on peut passer la phase de cration des
segments. Cest lobjet du chapitre 2.
La deuxime partie aborde la procdure musicale de cration de squences. Le
chapitre 3 explique comment raliser une squence et illustre les procdures
ddition et de modification permises par les squences.
Des exemples prcis sont donns dans le chapitre 4, qui constitue la partie tutorielle.
Vous trouverez sur le CD-Rom les fichiers correspondants aux exemples (fichiers pour Diphone et fichiers de sons).
Le programme Additive
Additive est un programme d'analyse mis au point l'Ircam par Xavier Rodet et
Philippe Depalle. Il a t programm sous Unix par Guillermo Garcia et implment sur Macintosh par Adrien Lefvre. Additive permet l'analyse et la resynthse
de sons par somme de sinusodes.
1.1
Figure 1
Lanalyse va porter sur un son situ dans le dossier des fichiers de sons dfini
pour Diphone. Il est conseill de respecter la structure des dossiers mise en place par la version 1.0 de Diphone. Dans cette structure, les fichiers de sons sont
placs dans un dossier intitul "Sound", lui-mme plac au sein du dossier "ImpExport".
Figure 2
1.2
Figure 3
L'analyse est ralise partir d'une srie d'analyses FFT ralises sur des fentres glissantes. Les paramtres de l'analyse sont : la taille de la fentre de signal, la taille de la FFT, son pas d'avancement exprim en secondes ou en nombre
d'chantillons et sa forme (hamming, hanning). Notez que la taille de la fentre
dadapte automatiquement ; Diphone propose une valeur de taille de fentre qui
convient gnralement bien.
Figure 4
u n e pri o d e
M
I
Figure 5
1.2.1
t em p s (m sec.)
M : ta ille d e la fe n tr e
( 40 96 ch .)
I : p as d' a va n cem e nt
( 10 24 ch .)
La taille de la fentre doit tre choisie en fonction de la hauteur du son analyser ainsi que de l'intensit et de la rapidit des variations qu'il contient. Plus le
son est grave, plus l'emploi d'une grande taille de fentre est souhait. Dune manire gnrale, la taille de fentre doit tre au moins gale 3 priodes de la
frquence fondamentale. Par exemple, pour analyser un son de frquence fondamentale de 107.7 Hz, une fentre d'au moins 0.03 secondes (30 milliseondes) est
ncessaire. Pour une frquence deux fois plus grave, il faut une taille de fentre
deux fois plus grande.
Cependant, il est prferable de limiter la taille de la fentre, car avec une fentre trop grande, des carts de frquences plus rapides ne seront pas reprs. Et
si lon a affaire des sons complexes, fortement perturbs, comme dans la plupart des consonnes de la voix, il est indispesable de limiter la taille de la fentre.
10 - Diphone - Analyse additive et squencement - Tutoriel
1.2.2
Le pas d'avancement
Pour une bonne qualit de l'analyse, les fentres conscutives doivent se recouvrir. Cela permet de mieux reprer les variations des partiels dans le temps. En
rgle gnrale, le pas d'avancement est choisi de 0.01 0.005 s. Si le son est trs
stable, le pas d'avancement peut tre augment, ce qui permet de rduire la taille
du fichier d'analyse qui peut tre de plusieurs mga-octets.
1.3
L'estimation de la fondamentale
Pour la premire tape, l'utilisateur peut modifier plusieurs paramtres. Il peut
fixer les bornes entre lesquelles il veut rechercher la fondamentale en donnant
les valeurs minimales et maximales.
La recherche de fondamentale tant effectue d'aprs le calcul des relations de
proportionnalit entre les pics de la FFT, l'utilisateur peut indiquer jusqu' quelle frquence maximale les pics doivent tre retenus. Enfin, un seuil de bruit (Noise threshold) indique partir de quelle diffrence d'intensit par rapport aux
frquences voisines un pic va tre retenu ou non.
Figure 6
Lutilisateur peut donner lui-mme la frquence fondamentale (F0) dans un fichier qui sera utilis par lanalyse additive. Par exemple, dans le cas du son de
guitare intitul "fred16.aiff" (dossier "tut-R-instts"), qui tout en restant sur une
mme note, prsente des variations de timbre ressemblant des octaviations et
obtenus par le guitariste en jouant sur des effets Larsen, nous avons pu raliser
deux analyses efficaces en indiquant des fondamentales fixes de 280 Hz la premire et 140 Hz la deuxime.
L'application "F0" qui effectue l'estimation du trajet de la fondamentale produit
un fichier de type texte qui porte un nom tel que "nom_du_son.F0". Le fichier est
organis en un tableau en deux colonnes : le temps et la frquence.
Figure 7
temps
frquence
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0.11
0.12
0.13
0.14
0.15
0.16
162.24
162.526
161.979
163.796
164.239
163.795
163.491
164.175
164.818
165.574
166.792
167.924
168.322
168.372
168.005
Ce fichier peut tre ouvert (menu File->Open) dans Diphone. Il apparat alors
comme une bpf que l'utilisateur peut modifier l'aide de la souris avant de l'enregistrer.
Figure 8
Nous verrons dans les exemples qui suivent que l'estimation de la fondamentale
peut parfois produire des sauts de frquences, souvent situs l'octave ou parfois alatoires. Ces sauts peuvent tre gnants pour les tapes suivantes de
l'analyse additive. Il est alors utile de supprimer ces sauts avec le crayon (disponible dans la fentre doutils) avant d'effectuer les tapes suivantes de l'analyse.
Partons dune squence contenant un segment. En cliquant sur le triangle plac
gauche de lindication "New Fundamental", la courbe saffiche. Plaer le curseur
prs de la courbe. Il prend la forme stylise dune fentre ddition de bpf.
13 - Diphone - Analyse additive et squencement - Tutoriel
Figure 9
1.4
(i-)
(c)
Lorsqu'un niveau de bruit empche la dtection d'un pic dans une zone de frquence, l'harmonique correspondant peut tre masque et ne pas apparatre dans les
rsultats.
Les rsultats de l'analyse sont produits dans un fichier texte au format suivant :
dans len-tte de chaque bloc de donnes est affich le nombre de partiels trouvs puis la date de l'analyse (en secondes). Ensuite vient un tableau des donnes
avec dans la premire colonne, les numros de partiels trouvs (rang d'harmonicit), dans la deuxime les frquences de ces partiels (en Hz), dans la troisime
les amplitudes (linaires) et dans la quatrime les phases de chaque partiel.
1. En anglais, "sieve". La version 1.2 de Diphone utilise lorthographe errone "seeve", qui sera corrige dans la version prochaine.
16 - Diphone - Analyse additive et squencement - Tutoriel
nb de partiels
n des partiels
Figure 10
date
phases
frqs
amps
Figure 11
Figure 12
Le nombre de pics (c'est--dire les n premiers) souhaits en sortie est galement une option propose dans le programme. A part pour les sons graves, quarante partiels sont gnralement suffisants pour des resynthses ralistes.
Diminuer le nombre de partiels permet de rduire la taille des fichiers d'analyse
et d'acclrer les calculs, mais en gnral au dtriment de la qualit.
Figure 13
1.5
La resynthse
Les donnes de l'analyse additive peuvent ensuite tre utilises pour effectuer
une synthse l'aide d'un synthtiseur additif et produire un fichier de son. La
synthse permet de valider l'efficacit de l'analyse.
Si la resynthse n'est pas bonne, il convient de reprendre les tapes prcdentes
et de modifier les paramtres de la FFT, ceux de l'estimation de la fondamentale
ou ceux de l'analyse Additive.
Figure 14
Figure 15
1. Ph. Depalle, X. Rodet, Th. Galas et G. Eckel 1993 ou M. Battier et B. Pauset 1996
Container
Figure 16
Chaque document (ou container) est ouvert par le programme Diphone. Dans un
container, les segments sont groups en instruments.
Instrument
Segments
Figure 17
Un container form d'un instrument et contenant une liste de segments (vue dans le
programme Diphone)
2.1
Dictionary navire_cantom.cont
Instrument navire_cantom
Segment "navire_cantom" beg 0.02 ctr 0.5 end 1.8 interpBeg 0.4 interpEnd 1.0
Figure 18
Dictionary tr_uuuaaaam.cont
Instrument tr_uuuaaaam
Segment "truuuaaaam" beg 0.02 ctr 2.0 end 2.7 interpBeg 1.0 interpEnd 0.5
Figure 19
Pour construire les segments, la segmentation a t ralise en plaant des marqueurs dans un diteur de son.
Nous avons ainsi dlimit
des zones fondamentale stable, pour chacune des 17 notes (notes A, B
Q),
des zones de transition, dbordant lgrement sur les zones stables,
situes de part et d'autre de la transition (notes t-AB, t-BC t-PQ),
le point de dpart des nouvelles notes est utilis pour indiquer le centre
des zones de transition.
A partir de ce reprage, trois types de segments ont t construits :
les zones stables (notes A, B Q) dont les centres ont t donns par
les milieux de ces segments
les zones de transition (notes t-AB, t-BC t-PQ) dont les centres sont
donns par les points de dpart des nouvelles notes
les zones d'enchanements de notes correspondant l'enchanement de
deux notes conscutives (notes AB, BC PQ).
Figure 20
Emplacement des marqueurs dans un diteur de sons pour dlimiter les diffrentes
zones destines la cration des segments
Les segments ont t dfinis l'aide d'un script reprenant les donnes numriques fournies par les marqueurs :
Dictionary clar23.cont
Instrument clar23
Segment A-clar23
Segment B-clar23
Segment C-clar23
Segment D-clar23
Segment E-clar23
Segment F-clar23
Segment t-BC-clar23
Segment t-OP-clar23
Segment t-PQ-clar23
Figure 21
beg
beg
beg
beg
beg
beg
0
1.45
2.19
3.03
3.16
3.27
ctr
ctr
ctr
ctr
ctr
ctr
0.64
1.72
2.525
3.065
3.18
3.33
end
end
end
end
end
end
1.28
1.99
2.86
3.1
3.2
3.39
beg
1.96
ctr
2.1
end
2.36
beg
beg
5.81
6
ctr
ctr
5.9
6.1
end
end
5.96
6.18
Lorsque les segments ont t crs et regroups par instrument dans des containers, ils peuvent tre utiliss pour constituer des squences. Pour cela, on peut
24 - Diphone - Analyse additive et squencement - Tutoriel
Figure 22
Figure 23
3
3.1
Figure 24
Figure 25
Enfin, l'amplitude du segment "tr_uuuaaaam" a t augmente de + 6 dB pour raliser un enchanement sans variation de volume.
Figure 26
3.2
Figure 27
Tableau donnant la position des marqueurs (en secondes) dlimitant les zones stables
( Plats), les zones de transition (Perturbs) et les centres des segments crer pour
le son "alto19.aiff" Les colonnes Fond. et Midi donnent la hauteur des notes
correspondant aux diffrentes zones stables (respectivement Hz et n MIDI)
Ce positionnement a t effectu en utilisant la commande "Get Infos" pour chaque segment. Le paramtre "NextC" indique la distance entre le centre du segment
slectionn et le centre du segment suivant.
Figure 28
Figure 29
Figure 30
3.3
Figure 31
Cet assemblage a produit une nouvelle phrase comportant parfois des sauts de
fondamentale importants.
Figure 32
Squence "Java-spe.seq"
Figure 33
Dans un deuxime temps, cet exemple a t utilis pour effectuer des changes
de fondamentales avec un autre instrument (cf. plus bas la section "Transfert de
fondamentales").
3.4
Mlange d'instruments
Nous avons enchan les sons "A" des diffrents instruments pour raliser un son
tenu dont le timbre varie en permanence d'un instrument vers l'autre.
Figure 34
Figure 35
Tous les sons ont t transposs vers une mme note : Fa3 en utilisant la fonction
de transposition du programme segment.
36 - Diphone - Analyse additive et squencement - Tutoriel
3.5
Transfert de paramtres
3.5.1
Transfert de fondamentales
Figure 36
Figure 37
Figure 38
Extrait du trajet de la fondamentale d'un son de voix de java, dure 1.6 sec.
Figure 39
Figure 40
Figure 41
Squence "violon-vibs.seq" comportant une note de violon rpte avec des trajets de
fondamentales provenant de quatre diphones diffrents
Pour pallier aux diffrences de hauteurs de ces fondamentales, des transpositions ont t effectues.
Figure 42
D'autres exemples ont t raliss en plaant sur la voix de Java une fondamentale issue d'un cri de loup et vice-versa.
Figure 43
Squence plaant la fondamentale d'un cri de loup sur les segments d'une voix chante.
La bpf montre le trajet fondamental du cri du loup
Figure 44
Squence plaant la fondamentale d'une voix chante sur les segments d'un cri de loup.
La bpf montre le trajet fondamental de la voix.
Dans le premier cas on obtient un son qui pourrait ressembler une voix imitant
le cri du loup et dans le second cas un loup essayant de chanter.
3.5.2
Dans les exemples prsents dans le dossier "tut-R-instts", nous avons chang
les amplitudes des partiels de deux sons : un son de violoncelle "Cello.aiff" et un
son de guitare lectrique "fred16.aiff". Le son de violoncelle, de hauteur 65 Hz
est un son tenu, sans grande modification de timbre. Le son de guitare correspond
une note tenue galement mais comporte d'importantes variations de timbres.
Nous avons d'abord cr une squence de violoncelle assez longue en reproduisant
plusieurs fois la plage stable du violoncelle.
Figure 45
Squence "cello-fredc.seq"
Ensuite, nous avons attribu chacune des plages stables du violoncelle les amplitudes des partiels de la guitare provenant de plusieurs segments.
Figure 46
Ainsi, nous avons obtenu un son de violoncelle comportant un timbre riche en variations.
42 - Diphone - Analyse additive et squencement - Tutoriel
Figure 47
4.1
4.2
Le dictionnaire "inst.dico" a t construit avec les segments de chaque instrument grce un dcoupage indiqu dans le paragraphe 2.2. Le dcoupage dtaill
de chaque instrument est indiqu en annexe.
Plusieurs squences ont t ralises avec ce dictionnaire.
"A-all-insts.seq" produit un son tenu par l'enchanement de la premire
note de chacun des instruments, classs du moins brillant au plus
brillant1.
"Basson19.seq" et "alto19.seq" reproduit les sons originaux.
Les autres segments sont des mlanges d'instruments
Figure 48
4.3
Figure 49
4.4
4.5
4.6
Le dossier "getstarted
Ce dossier ne comporte que des dossiers vides. Il est placer au premier niveau
dans le dossier Diphone pour tre utilis comme point de dpart pour la ralisation de nouveaux exemples. Il suffit de placer des sons dans le dossier "ImpExport:Sounds" pour pouvoir les analyser ou de placer des containers dans le
dossier Container pour pouvoir y prlever des diphones pour constituer des squences.
Bibliographie
Assayag Grard et Rueda Camillo, The Music Representation Project at IRCAM, ICMC Proceedings,
1993,
Battier Marc, Diphone, Newsletter n 1, documentation Ircam, Paris, oct. 1996
Battier Marc et Adrien Lefvre , Diphone, Newsletter n 2, documentation Ircam, Paris, mars 1997
Depalle Philippe, Garcia Guillermo et Rodet Xavier, Analysis of Sound for Additive Synthesis: Tracking
of Partials Using Hidden Markov Models, ICMC Proceedings, 1993, pp.94-97
Depalle Ph., Rodet X., Galas Th. and Eckel G., Generalized Diphone Control, ICMC Proceedings, 1993,
pp. 184-187
Hanappe Peter, AudioSculpt - Users Manual, documentation Ircam, Paris, oct. 1994
Malt Mikhail, PatchWork Introduction, documentation Ircam, Paris, 1993.
Pauset Brice, Diphone, manuel d'utilisation, documentation Ircam, Paris, oct. 1996
Pottier Laurent, PW-SpData : Vue densemble, Rfrence, Tutoriel, documentation Ircam, Paris, mars
1997.
trompette-18.aiff
Index
A
A-all-instts.seq 36
alto19.seq 33
AudioSculpt 21
Java-spe.seq
Lefvre A.
Bandwidth
Bouriez G.
bpf 13
34
L
2, 7
16
2
Midi
31
Carrive J. 2
Cello.aiff 41
Centre 31
clar23 24
Container 20, 21
Create Dictionary From Script
ctr 22
navire_cantom 22, 27
navire_cantom.aif 27
navirtruam.seq 28
New Analysis 7
New Dictionary 25
New Fundamental 38
NextC 31
Noise threshold 12
Nouno G. 2
20
D
De Boer M.
Depalle Ph.
2
2, 7
Pas d'avancement
PatchWork 46
Perturbs 31
Pic 16
Plats 31
Poirot G. 2
Pottier L. 2
F
F0 12, 13
FFT 9, 12
File 25
Fond. 31
Fondamentale
voir frquence fondamentale
fred16.aiff 41
Frquence fondamentale 12
G
Galas Th.
Garcia G.
2
2, 7
H
hamming 9
hanning 9
Hosxe X. 2
I
ImpExport 7
inst.dico 25, 26
12
11
R
Rodet X. 2, 7
Rogers Ch. 2
S
scaler 30
Script 20
Seuil de bruit
Sound 7
12
T
Taille de la fentre 9, 10
tr_uuuaaaam 22, 27, 29
tr_uuuaaaam.aiff 27
Transfert de fondamentales 37
Transfert de paramtres 37
tut animal 46
tut f0 46
tut instts 44
tut R-instts 46
tut voix-1 44
tut-instts 23, 31
tut-R-instts 12, 41
V
violon-vibs.seq
39