L'extension Sound

NetLogo 4.0.4   Manuel de l'utilisateur  

L'extension Sound (son) de NetLogo met à disposition des primitives permettant d'ajouter du son aux modèles NetLogo. Elle utilise deux méthodes pour produire des sons : les sons Midi et la lecture de fichiers son pré-enregistrés.

Utiliser l'extension Sound

L'extension Sound est pré-installée dans NetLogo. Pour l'utiliser dans un modèle, il suffit d'ajouter la ligne suivante au début du code du modèle, dans le panneau "Procedures" :

extensions [sound]

Si le modèle fait déjà appel à d'autres extensions, la ligne extensions est déjà présente dans le code. Il suffit alors d'ajouter sound dans la liste des extensions.

Pour en savoir plus sur l'utilisation des extensions NetLogo, consultez le Guide des Extensions.

Pour étudier des exemples de modèles utilisant l'extension Sound, allez dans la partie "Sound" de la section "Code Examples" de la Bibliothèque des modèles.

Notez que l'extension Sound ne fonctionne que dans l'application NetLogo. Elle ne fonctionne pas dans les applets des modèles.

Le support MIDI

La partie MIDI de l'extension simule un clavier électronique à 128 touches avec les 47 percussions et les 128 instruments mélodiques définis par la spécification General MIDI Level 1.

Elle offre 15 canaux d'instruments polyphoniques et un seul canal pour les percussions. L'utilisation en même temps de plus de 15 instruments mélodiques différents dans un modèle provoquera des pertes de sons ou même des coupures du son.

La hauteur du son d'un instrument mélodique est spécifiée par le numéro d'une touche. Les touches du clavier sont numérotées de 0 à 127, successivement de gauche à droite, celle de gauche portant le numéro 0. La touche correspondant à la note C moyen (autrement dit Do) porte le numéro 60.

La volume (puissance) d'un instrument est spécifiée par une vitesse (vélocité) qui représente la force avec laquelle la touche du clavier a été enfoncée. Les vélocités vont de 0 à 127, où 64 est la vélocité standard. Une vélocité plus grande produit un son plus puissant.

Les primitives

sound:drums sound:instruments sound:play-drum sound:play-note sound:play-note-later sound:play-sound sound:play-sound-and-wait sound:play-sound-later sound:start-note sound:stop-note sound:stop-instrument sound:stop-music

sound:drums

sound:drums

Retourne une liste contenant les noms des 47 percussions à utiliser avec la primitive sound:play-drum.

sound:instruments

sound:instruments

Retourne une liste contenant les noms des 128 instruments à utiliser avec les primitives sound:play-note, sound:play-note-later, sound:start-note et sound:stop-note

sound:play-drum

sound:play-drum drum velocity

Joue une percussion.

sound:play-drum "ACOUSTIC SNARE" 64

sound:play-note

sound:play-note instrument keynumber velocity duration

Joue la note keynumber avec la puissance velocity pendant duration secondes avec l'instrument instrument. L'agent n'attend pas la fin de la note pour passer à la commande suivante.

;; jouer la note C moyen(Do) à la trompette pendant 2 secondes
sound:play-note "TRUMPET" 60 64 2

sound:play-note-later

sound:play-note-later delay instrument keynumber velocity duration

Attend le temps delay avant de jouer la note keynumber à la puissance velocity pendant duration secondes avec l'instrument instrument. L'agent n'attend pas la fin de la note pour passer à la commande suivante.

;; dans une seconde,
;; jouer la note C moyen (Do) à la trompette pendant 2 secondes
sound:play-note-later 1 "TRUMPET" 60 64 2

sound:play-sound

sound:play-sound filename

Lit et joue le fichier son filename. NetLogo n'attend pas fin de la lecture du fichier son pour passer à la commande suivante. Il peut lire des fichiers son aux formats WAV, AIFF et AU.

;; jouer le fichier d'échantillonnage beep.wav
sound:play-sound "beep.wav"

sound:play-sound-and-wait

sound:play-sound-and-wait filename

Lit et joue le fichier son filename et attend d'arriver à la fin du fichier avant de passer à la commande suivante. Cette primitive peut lire des fichiers son aux formats WAV, AIFF et AU.

;; jouer le fichier d'échantillonnage beep.wav et attendre
;; d'en avoir terminé pour jouer le fichier boop.wav
sound:play-sound-and-wait "beep.wav"
sound:play-sound-and-wait "boop.wav"

sound:play-sound-later

sound:play-sound-later filename delay

Attend delay secondes puis lit et joue le fichier son filename. NetLogo n'attend pas de jouer le fichier ou même de l'avoir joué entièrement avant de passer à la commande suivante. Cette primitive peut lire des fichiers son aux formats WAV, AIFF et AU.

;; jouer le fichier son beep.wav dans une seconde
sound:play-sound-later "beep.wav" 1

sound:start-note

sound:start-note instrument keynumber velocity

Demande à l'instrument instrument de commencer de jouer la note keynumber avec le volume velocity.

La note est tenue (jouée) jusqu'à l'appel de l'une des procédures sound:stop-note, sound:stop-instrument ou sound:stop-music.

;; jouer la note C moyen(Do) au violon
sound:start-note "VIOLIN" 60 64
;; jouer une gamme en C-majeur(Do majeur) avec un xylophone
foreach [60 62 64 65 67 69 71 72] [ 
  sound:start-note "XYLOPHONE" ? 65
  wait 0.2
  sound:stop-note "XYLOPHONE" ?
]

sound:stop-note

sound:stop-note instrument keynumber

Arrrête de jouer (tenir) la note keynumber avec l'instrument instrument.

;; arrêter de jouer la note C moyen (Do) avec le violon
sound:stop-note "VIOLIN" 60

sound:stop-instrument

sound:stop-instrument instrument

Arrête de jouer toutes les notes sur l'instrument instrument.

;; arrêter de jouer du violoncelle
sound:stop-instrument "CELLO"

sound:stop-music

sound:stop-music

Arrête de jouer toutes les notes sur tous les instruments.

Les noms des instruments disponibles

Les percussions (drums)

35. Acoustic Bass Drum             59. Ride Cymbal 2
36. Bass Drum 1                    60. Hi Bongo
37. Side Stick                     61. Low Bongo
38. Acoustic Snare                 62. Mute Hi Conga
39. Hand Clap                      63. Open Hi Conga
40. Electric Snare                 64. Low Conga
41. Low Floor Tom                  65. Hi Timbale
42. Closed Hi Hat                  66. Low Timbale
43. Hi Floor Tom                   67. Hi Agogo
44. Pedal Hi Hat                   68. Low Agogo
45. Low Tom                        69. Cabasa
47. Open Hi Hat                    70. Maracas
47. Low Mid Tom                    71. Short Whistle
48. Hi Mid Tom                     72. Long Whistle
49. Crash Cymbal 1                 73. Short Guiro
50. Hi Tom                         74. Long Guiro
51. Ride Cymbal 1                  75. Claves
52. Chinese Cymbal                 76. Hi Wood Block
53. Ride Bell                      77. Low Wood Block
54. Tambourine                     78. Mute Cuica
55. Splash Cymbal                  79. Open Cuica
56. Cowbell                        80. Mute Triangle
57. Crash Cymbal 2                 81. Open Triangle
58. Vibraslap       

Les instruments

 A. Piano                           I. Instruments à hanche
 1. Acoustic Grand Piano           65. Soprano Sax
 2. Bright Acoustic Piano          66. Alto Sax
 3. Electric Grand Piano           67. Tenor Sax
 4. Honky-tonk Piano               68. Baritone Sax
 5. Electric Piano 1               69. Oboe
 6. Electric Piano 2               70. English Horn
 7. Harpsichord                    71. Bassoon
 8. Clavi                          72. Clarinet

B. Percussions chromatiques J. Flûtes 9. Celesta 73. Piccolo 10. Glockenspiel 74. Flute 11. Music Box 75. Recorder 12. Vibraphone 76. Pan Flute 13. Marimba 77. Blown Bottle 14. Xylophone 78. Shakuhachi 15. Tubular Bells 79. Whistle 16. Dulcimer 80. Ocarina
C. Orgues K. Synthétiseurs 17. Drawbar Organ 81. Square Wave 18. Percussive Organ 82. Sawtooth Wave 19. Rock Organ 83. Calliope 20. Church Organ 84. Chiff 21. Reed Organ 85. Charang 22. Accordion 86. Voice 23. Harmonica 87. Fifths 24. Tango Accordion 88. Bass and Lead
D. Guitarres L. Synth Pad 25. Nylon String Guitar 89. New Age 26. Steel Acoustic Guitar 90. Warm 27. Jazz Electric Guitar 91. Polysynth 28. Clean Electric Guitar 92. Choir 29. Muted Electric Guitar 93. Bowed 30. Overdriven Guitar 94. Metal 31. Distortion Guitar 95. Halo 32. Guitar harmonics 96. Sweep
E. Basses M. Synth Effects 33. Acoustic Bass 97. Rain 34. Fingered Electric Bass 98. Soundtrack 35. Picked Electric Bass 99. Crystal 36. Fretless Bass 100. Atmosphere 37. Slap Bass 1 101. Brightness 38. Slap Bass 2 102. Goblins 39. Synth Bass 1 103. Echoes 40. Synth Bass 2 104. Sci-fi
F. Cordes N. Ethniques 41. Violin 105. Sitar 42. Viola 106. Banjo 43. Cello 107. Shamisen 44. Contrabass 108. Koto 45. Tremolo Strings 109. Kalimba 47. Pizzicato Strings 110. Bag pipe 47. Orchestral Harp 111. Fiddle 48. Timpani 112. Shanai
G. Ensembles O. Percussions 49. String Ensemble 1 113. Tinkle Bell 50. String Ensemble 2 114. Agogo 51. Synth Strings 1 115. Steel Drums 52. Synth Strings 2 116. Woodblock 53. Choir Aahs 117. Taiko Drum 54. Voice Oohs 118. Melodic Tom 55. Synth Voice 119. Synth Drum 56. Orchestra Hit 120. Reverse Cymbal
H. Cuivre P. Effets sonores 57. Trumpet 121. Guitar Fret Noise 58. Trombone 122. Breath Noise 59. Tuba 123. Seashore 60. Muted Trumpet 124. Bird Tweet 61. French Horn 125. Telephone Ring 62. Brass Section 126. Helicopter 63. Synth Brass 1 127. Applause 64. Synth Brass 2 128. Gunshot