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.
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.
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.
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
Retourne une liste contenant les noms des 47 percussions à utiliser avec la primitive sound:play-drum.
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
Joue une percussion.
sound:play-drum "ACOUSTIC SNARE" 64
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
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
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"
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"
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
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" ? ]
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
Arrête de jouer toutes les notes sur l'instrument instrument.
;; arrêter de jouer du violoncelle sound:stop-instrument "CELLO"
Arrête de jouer toutes les notes sur tous les instruments.
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
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