## Sound Pack for Minetest ### Description: A [Minetest][] mod that provides a set of free sounds & methods. It is intended as a more universal method for adding sounds to games rather than depending on [MTG & default][default] for sounds only. icon ### Licensing: - Code: [MIT](LICENSE.txt) - Icon/Screenshot: [CC0](https://openclipart.org/detail/260975) - Media: see following table #### Sound file sources & licensing: ##### General Sounds: | Filename (sounds_) / Source | Author | License | Notes | | --------------------------------- | ------------------------ | ------------ | ----------------------- | | [apple_bite][] | sonicmariobrotha | CC0 | | | [bee][] | DrDufus | CC0 | | | [bees][] | tom_woysky | CC0 | | | [bird*][bird] | Jc Guan | CC0 | | | [boing][] | reelworldstudio | CC0 | | | [bumble_bee_01][] | Iain McCurdy | CC BY 3.0 | | | [bumble_bee_02][] | CGEffex | CC BY 3.0 | | | [cat_meow][] | blimp66 | CC BY 3.0 | | | [chicken_*][chicken] | www.bonson.ca | CC BY 3.0 | | | [clock_tick][] | AntumDeluge | CC0 | | | [coin][] | greenvwbeetle | CC0 | | | [cow_moo*][cow_moo] | JosephSardin | CC0 | | | [coyote_howl][] | rogerforeman | CC BY 3.0 | | | [cricket][] | GB01 | CC0 | | | [crow_caw][] | Morris Gevirtz | CC BY 4.0 | | | [dog_bark][] | ivolipa | CC0 | | | [duck_quack][] | Jonathon Jongsma | CC BY-SA 3.0 | | | [elephant][] | vataaa | CC0 | | | [entity_hit][] | sonictechtonic | CC BY 3.0 | | | [explosion][] | JuveriSetila | CC0 | | | [frog][] | kayceemixer | CC0 | | | [fuse][] | Ned Bouhalassa | CC0 | | | [gallop_01][] | Alan McKinney (alanmcki) | CC BY 3.0 | | | [gallop_02][] | Alan McKinney (alanmcki) | CC BY 3.0 | | | [giraffe_hum][] | [↓](#authors) | CC BY-SA 4.0 | | | [goat_bleat_*][goat_bleat] | Stephan | CC0 | | | [gorilla_grunt][] | [↓](#authors) | CC0 | | | [gorilla_roar][] | J0ck0 | CC0 | | | [gorilla_snarl*][gorilla_grunt] | [↓](#authors) | CC0 | | | [grasshopper][] | straget | CC0 | | | [horse_neigh_01][] | GoodListener | CC BY 3.0 | | | [horse_neigh_02][] | foxen10 | CC0 | | | [horse_snort_01][] | madklown | CC0 | | | [horse_snort_02][] | 0_ciz | CC0 | | | [hyena_01][] | [↓](#authors) | CC BY 2.0 | | | [hyena_02][] | [↓](#authors) | CC BY 2.0 | | | [hyena_03][] | [↓](#authors) | CC BY 2.0 | | | [jaguar_saw][] | About Zoos | CC BY | | | [lion_bellow][] | felix.blume | CC0 | | | [mouse][] | AntumDeluge | CC0 | | | [owl_hoot][] | Anthousai | CC0 | | | [parrot*][] | Mings | CC BY 3.0 | | | [peacock][] | dobroide | CC BY 3.0 | | | [pencil_erase][] | damsur | CC0 | | | [pencil_write][] | NachtmahrTV | CC0 | | | [penguin*][penguin] | Bidone | CC0 | | | [piano][] | [↓](#authors) | CC0 | | | [pig_snort][] | yottasounds | CC BY 3.0 | | | [pig_squeal][] | N/A | CC0 | | | [pigeon][] | JavierSerrat | CC0 | | | [puppy_bark][] | moffet | CC0 | | | [quail][] | PrincessGrace | CC0 | | | [rooster][] | poorenglishjuggler | CC0 | | | [sheep][] | mikewest | CC0 | | | [skeleton_bones][] | AntumDeluge | CC0 | | | [tiger_roar_01][] | videog | CC BY 3.0 | | | [tiger_snarl_01][tiger_roar_01] | videog | CC BY 3.0 | | | [tiger_snarl_0[2-4]][tiger_snarl] | schots | CC0 | | | [undead_moan_*][undead_moan] | AntumDeluge | CC0 | | | [vulture][] | AntumDeluge | CC0 | | | [watch_tick][] | Nicolas4677 | CC0 | | | [whistle][] | pawsound | CC0 | | | [wolf_howl][] | killyourpepe | CC0 | | | [wolf_snarl][] | newagesoup | CC BY 3.0 | | | [yak][] | AntumDeluge | CC0 | | | [zebra][] | Peet J van Eeden | CC BY | | | [zipper][] | AntumDeluge | CC0 | | ##### Node Sounds: | Filename (sounds_node_) / Source | Author | License | Notes | | --------------------------------- | ------------------------ | ------------ | ----------------------- | | [dig_choppy.*][dig_choppy] | Sheyvan | CC0 | | | [dig_cracky.*][dig_cracky] | Benboncan | CC BY 3.0 | | | [dig_crumbly][default] | Mito551 | CC BY-SA 3.0 | | | [dig_gravel.*][dig_gravel] | lolamadeus | CC0 | | | [dig_ice.*][dig_ice] | dheming | CC BY 3.0 | | | [dig_metal][] | yadronoff | CC BY 3.0 | | | [dig_snappy][] | blukotek | CC0 | | | [dug.*][default] | Mito551 | CC BY-SA 3.0 | | | [dug_glass.1][] | cmusounddesign | CC BY 3.0 | | | [dug_glass.2][] | Tomlija | CC BY 3.0 | | | [dug_glass.3][] | lsprice | CC BY 3.0 | | | [dug_gravel.*][dig_gravel] | lolamadeus | CC0 | | | [dug_ice][] | Angel_Perez_Grandi | CC BY 3.0 | | | [dug_metal.*][dug_metal] | qubodup | CC0 | | | [place*][default] | Mito551 | CC BY-SA 3.0 | | | [place_metal.*][place_metal] | Ogrebane | CC0 | | | [step_dirt.*][default] | Mito551 | CC BY-SA 3.0 | | | [step_glass][default] | Mito551 | CC BY-SA 3.0 | | | [step_grass.*][default] | Mito551 | CC BY-SA 3.0 | | | [step_gravel][default] | Mito551 | CC BY-SA 3.0 | | | [step_hard.*][step_hard] | Erdie | CC BY 3.0 | | | [step_ice.*][step_ice] | InspectorJ | CC BY 3.0 | | | [step_metal.*][step_metal] | mypantsfelldown | CC0 | | | [step_sand.*][step_sand] | worthahep88 | CC0 | | | [step_snow.*][step_snow] | Ryding | CC0 | | | [step_water.1][] | AGFX | CC BY 3.0 | | | [step_water.2][] | AGFX | CC BY 3.0 | | | [step_water.3][] | AGFX | CC BY 3.0 | | | step_water.4 | AntumDeluge | CC0 | generated with Audacity | | [step_wood.*][default] | Mito551 | CC BY-SA 3.0 | | **Authors Continued:** - Anton Baotic, Florian Sicks, & Angela S. Stoeger: - **giraffe_hum** - **gorilla_grunt** - **gorilla_snarl** - **hyena:** Mathevon N, Koralek A, Weldele M, Glickman S, & Theunissen F - **piano:** Scott Joplin & Tim Starling ### Usage: #### Replacement for default: If your mod depends on *default* for node sounds only, then you can easily switch to *sounds*. Simply add *default* & *sounds* as optional dependencies in your *mod.conf*. *sounds* overrides methods used by *default* to its own. For example *default.node_sound_dirt_defaults*. Example of overidden method: ```lua function sounds.node_dirt(tbl) tbl = tbl or {} tbl.footstep = tbl.footstep or {name="sounds_dirt_step", gain=0.4} tbl.dug = tbl.dug or {name="sounds_dirt_step", gain=1.0} tbl.place = tbl.place or {name="sounds_node_place_soft", gain=1.0} sounds.node(tbl) return tbl end default.node_sound_dirt_defaults = sounds.node_dirt ``` Example of setting node sounds: ```lua minetest.register_node("foo:bar", { description = "Foo Node", sounds = default.node_sound_stone_defaults() -- this is the same as calling `sounds.node_stone()` ... }) ``` #### Playing Sounds Manually: `SoundGroup` instances are objects for storing & playing sounds. These objects can be called to play a sound from their group. An index can be specified when called to determine which sound to play. If the index parameter is omitted, a random sound will be picked. A table of arguments can also be passed. This is compatible with [SimpleSoundSpec](https://minetest.gitlab.io/minetest/sounds/#simplesoundspec). Creating `SoundGroup` objects: ```lua local s_group1 = SoundGroup({"sound1", "sound2"}) local s_group2 = SoundGroup({"sound3", "sound4", "sound5"}) -- SoundGroup objects can be concatenated with the arithmetic operator local s_group3 = s_group1 + s_group2 -- to prevent sound file names from being prefixed with "sounds_" when played, the `no_prepend` field must be set to `true` s_group1(2) -- plays "sounds_sound2" s_group1.no_prepend = true s_group1(2) -- plays "sound2" ``` There are many [pre-defined sound groups](https://antummt.github.io/mod-sounds/reference/latest/topics/groups.html). Calling a `SoundGroup` object: ```lua -- play random sound from group sounds.horse_neigh() -- play specific sound from group sounds.horse_neigh(2) -- play random sound from group with parameters sounds.horse_neigh({gain=1.0}) -- play specific sound from group with parameters sounds.horse_neigh(2, {gain=1.0}) -- the `play` method is the same as calling the object directly sounds.horse_neigh:play(2, {gain=1.0}) ``` `SoundGroup` objects can also be used in node registration: ```lua minetest.register_node("foo:bar", { description = "Foo Node", sounds = { dig = sounds.cow_moo, -- a random sound from the `sounds.cow_moo` group will be played when digging this node }, ... ``` Currently using `SoundGroup` for node sounds only works for "dig", "dug", & "place". `SoundGroup` objects are tables & are indexed by integer. But using the `get` method is more reliable as it will return the string name with "sounds_" prefix if `no_prepend` isn't set: ```lua local s_group1 = SoundGroup({"sound1", "sound2"}) local s1 = s_group1:get(1) -- returns "sounds_sound1" local s2 = s_group1[2] -- returns "sound2" local s_group2 = SoundGroup({"sound3", "sound4", no_prepend=true}) local s3 = s_group2:get(1) -- returns "sound3" local s4 = s_group2[2] -- returns "sound4" ``` The built-in `type` function can be used to check for a `SoundGroup` instance: ```lua if type(s_group1) == "SoundGroup" then s_group1() end ``` ### Links: - [![ContentDB](https://content.minetest.net/packages/AntumDeluge/sounds/shields/title/)](https://content.minetest.net/packages/AntumDeluge/sounds/) - [Forum](https://forum.minetest.net/viewtopic.php?t=26868) - [Git repo](https://github.com/AntumMT/mod-sounds) - [Reference](https://antummt.github.io/mod-sounds/reference/) - [Changelog](changelog.txt) - [TODO](TODO.txt) [Minetest]: http://minetest.net/ [default]: https://github.com/minetest/minetest_game/tree/master/mods/default [apple_bite]: https://freesound.org/s/333825/ [bee]: https://freesound.org/s/462875/ [bees]: https://freesound.org/s/243011/ [bird]: https://soundbible.com/340-Bird-Song.html [boing]: https://freesound.org/s/161122/ [bumble_bee_01]: https://freesound.org/s/498412/ [bumble_bee_02]: https://freesound.org/s/99955/ [cat_meow]: https://freesound.org/s/397661/ [chicken]: https://freesound.org/s/24967/ [clock_tick]: https://opengameart.org/node/16323 [coin]: https://freesound.org/s/423332/ [cow_moo]: https://freesound.org/s/177253/ [coyote_howl]: https://freesound.org/s/68067/ [cricket]: https://freesound.org/s/530477/ [crow_caw]: https://www.xeno-canto.org/617630 [dig_choppy]: https://freesound.org/s/476113/ [dig_cracky]: https://freesound.org/s/71823/ [dig_gravel]: https://freesound.org/s/179341/ [dig_ice]: https://freesound.org/s/268023/ [dig_metal]: https://freesound.org/s/320397/ [dig_snappy]: https://freesound.org/s/251660/ [dog_bark]: https://freesound.org/s/328730/ [duck_quack]: https://www.xeno-canto.org/62258 [dug_glass.1]: https://freesound.org/s/71947/ [dug_glass.2]: https://freesound.org/s/97669/ [dug_glass.3]: https://freesound.org/s/88808/ [dug_ice]: https://freesound.org/s/49190/ [dug_metal]: https://opengameart.org/node/18150 [elephant]: https://freesound.org/s/148873/ [entity_hit]: https://freesound.org/s/241872/ [explosion]: https://freesound.org/s/514133/ [frog]: https://freesound.org/s/251495/ [fuse]: https://freesound.org/s/8320/ [gallop_01]: https://freesound.org/s/403026/ [gallop_02]: https://freesound.org/s/403025/ [giraffe_hum]: https://bmcresnotes.biomedcentral.com/articles/10.1186/s13104-015-1394-3#Sec10 [goat_bleat]: https://pdsounds.org/pdsounds_files/files/audio/ziegengatter.mp3 [gorilla_grunt]: https://www.mediacollege.com/downloads/sound-effects/animals/primates/ [gorilla_roar]: https://freesound.org/s/397054/ [grasshopper]: https://freesound.org/s/401939/ [horse_neigh_01]: https://freesound.org/s/322443/ [horse_neigh_02]: https://freesound.org/s/149024/ [horse_snort_01]: https://freesound.org/s/184503/ [horse_snort_02]: https://freesound.org/s/475480/ [hyena_01]: https://commons.wikimedia.org/wiki/File:Giggling_call_of_a_spotted_hyena_(Crocuta_crocuta)_-_1472-6785-10-9-S1.oga [hyena_02]: https://commons.wikimedia.org/wiki/File:Giggling_call_of_a_spotted_hyena_(Crocuta_crocuta)_-_1472-6785-10-9-S3.oga [hyena_03]: https://commons.wikimedia.org/wiki/File:Giggling_call_of_a_spotted_hyena_(Crocuta_crocuta)_-_1472-6785-10-9-S5.oga [jaguar_saw]: https://www.youtube.com/watch?v=VJ0RCZXu0v4 [lion_bellow]: https://freesound.org/s/405211/ [mouse]: https://opengameart.org/node/16331 [owl_hoot]: https://freesound.org/s/398734/ [parrot]: https://freesound.org/s/160381/ [peacock]: https://freesound.org/s/59186/ [pencil_erase]: https://freesound.org/s/443241/ [pencil_write]: https://freesound.org/s/571800/ [penguin]: https://freesound.org/s/66150/ [piano]: https://commons.wikimedia.org/wiki/File:Maple_leaf_rag.ogg [pig_snort]: https://freesound.org/s/174615/ [pig_squeal]: https://www.mediacollege.com/downloads/sound-effects/animals/pig/ [pigeon]: https://freesound.org/s/524345/ [place_metal]: https://opengameart.org/node/3511 [puppy_bark]: https://freesound.org/s/583142/ [quail]: https://freesound.org/s/329371/ [rooster]: https://freesound.org/s/269496/ [step_hard]: https://freesound.org/s/41579/ [step_ice]: https://freesound.org/s/416967/ [step_metal]: https://freesound.org/s/398937/ [step_sand]: https://freesound.org/s/319224/ [step_snow]: https://freesound.org/s/94337/ [step_water.1]: https://freesound.org/s/20432/ [step_water.2]: https://freesound.org/s/20434/ [step_water.3]: https://freesound.org/s/20437/ [sheep]: https://freesound.org/s/414342/ [skeleton_bones]: https://opengameart.org/node/16324 [tiger_roar_01]: https://freesound.org/s/149190/ [tiger_snarl]: https://freesound.org/s/439280/ [undead_moan]: https://opengameart.org/node/81246 [vulture]: https://opengameart.org/node/16329 [watch_tick]: https://freesound.org/s/446611/ [whistle]: https://freesound.org/s/154873/ [wolf_howl]: https://freesound.org/s/395192/ [wolf_snarl]: https://freesound.org/s/338674/ [yak]: https://opengameart.org/node/98682 [zebra]: https://www.youtube.com/watch?v=xjGJ_XMVTRE [zipper]: https://opengameart.org/node/16332