@adatechnology/game-audio 0.3.6 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -0
- package/assets/sfx/CREDITOS.md +1046 -0
- package/assets/sfx/ambiente/ambience_city_day_01.ogg +0 -0
- package/assets/sfx/ambiente/ambience_city_day_02.ogg +0 -0
- package/assets/sfx/ambiente/ambience_construction_01.ogg +0 -0
- package/assets/sfx/ambiente/ambience_night_01.ogg +0 -0
- package/assets/sfx/ambiente/ambience_room_tone_01.ogg +0 -0
- package/assets/sfx/ambiente/ambience_room_tone_02.ogg +0 -0
- package/assets/sfx/ambiente/ambience_rural_day_01.ogg +0 -0
- package/assets/sfx/ambiente/ambience_rural_day_02.ogg +0 -0
- package/assets/sfx/ambiente/rain_loop_01.ogg +0 -0
- package/assets/sfx/ambiente/water_river_loop_01.ogg +0 -0
- package/assets/sfx/ambiente/water_river_loop_02.ogg +0 -0
- package/assets/sfx/ambiente/water_river_loop_03.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_01.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_02.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_03.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_04.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_05.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_06.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_07.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_08.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_09.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_10.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_11.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_12.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_13.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_14.ogg +0 -0
- package/assets/sfx/ambiente/water_splash_15.ogg +0 -0
- package/assets/sfx/armas/bolt_lift_medium_01.ogg +0 -0
- package/assets/sfx/armas/bolt_lift_medium_02.ogg +0 -0
- package/assets/sfx/armas/bolt_lift_medium_03.ogg +0 -0
- package/assets/sfx/armas/bolt_lift_medium_04.ogg +0 -0
- package/assets/sfx/armas/bolt_lift_medium_05.ogg +0 -0
- package/assets/sfx/armas/bolt_lock_medium_01.ogg +0 -0
- package/assets/sfx/armas/bolt_lock_medium_02.ogg +0 -0
- package/assets/sfx/armas/bolt_lock_medium_03.ogg +0 -0
- package/assets/sfx/armas/bolt_lock_medium_04.ogg +0 -0
- package/assets/sfx/armas/bolt_lock_medium_05.ogg +0 -0
- package/assets/sfx/armas/bolt_pull_heavy_01.ogg +0 -0
- package/assets/sfx/armas/bolt_pull_medium_01.ogg +0 -0
- package/assets/sfx/armas/bolt_pull_medium_02.ogg +0 -0
- package/assets/sfx/armas/bolt_pull_medium_03.ogg +0 -0
- package/assets/sfx/armas/bolt_pull_medium_04.ogg +0 -0
- package/assets/sfx/armas/bolt_pull_medium_05.ogg +0 -0
- package/assets/sfx/armas/bolt_pull_medium_06.ogg +0 -0
- package/assets/sfx/armas/bolt_push_heavy_01.ogg +0 -0
- package/assets/sfx/armas/bolt_push_medium_01.ogg +0 -0
- package/assets/sfx/armas/bolt_push_medium_02.ogg +0 -0
- package/assets/sfx/armas/bolt_push_medium_03.ogg +0 -0
- package/assets/sfx/armas/bolt_push_medium_04.ogg +0 -0
- package/assets/sfx/armas/bolt_push_medium_05.ogg +0 -0
- package/assets/sfx/armas/bolt_push_medium_06.ogg +0 -0
- package/assets/sfx/armas/casing_drop_concreto_01.ogg +0 -0
- package/assets/sfx/armas/casing_drop_concreto_02.ogg +0 -0
- package/assets/sfx/armas/casing_drop_concreto_03.ogg +0 -0
- package/assets/sfx/armas/casing_drop_metal_01.ogg +0 -0
- package/assets/sfx/armas/casing_drop_metal_02.ogg +0 -0
- package/assets/sfx/armas/casing_drop_metal_03.ogg +0 -0
- package/assets/sfx/armas/casing_drop_terra_01.ogg +0 -0
- package/assets/sfx/armas/casing_drop_terra_02.ogg +0 -0
- package/assets/sfx/armas/casing_drop_terra_03.ogg +0 -0
- package/assets/sfx/armas/charging_handle_pull_light_01.ogg +0 -0
- package/assets/sfx/armas/charging_handle_pull_light_02.ogg +0 -0
- package/assets/sfx/armas/charging_handle_pull_light_03.ogg +0 -0
- package/assets/sfx/armas/charging_handle_pull_light_04.ogg +0 -0
- package/assets/sfx/armas/charging_handle_pull_medium_01.ogg +0 -0
- package/assets/sfx/armas/charging_handle_pull_medium_02.ogg +0 -0
- package/assets/sfx/armas/charging_handle_pull_medium_03.ogg +0 -0
- package/assets/sfx/armas/charging_handle_pull_medium_04.ogg +0 -0
- package/assets/sfx/armas/charging_handle_pull_medium_05.ogg +0 -0
- package/assets/sfx/armas/charging_handle_release_medium_01.ogg +0 -0
- package/assets/sfx/armas/charging_handle_release_medium_02.ogg +0 -0
- package/assets/sfx/armas/charging_handle_release_medium_03.ogg +0 -0
- package/assets/sfx/armas/charging_handle_release_medium_04.ogg +0 -0
- package/assets/sfx/armas/charging_handle_release_medium_05.ogg +0 -0
- package/assets/sfx/armas/cylinder_close_light_01.ogg +0 -0
- package/assets/sfx/armas/cylinder_close_light_02.ogg +0 -0
- package/assets/sfx/armas/cylinder_close_light_03.ogg +0 -0
- package/assets/sfx/armas/cylinder_close_light_04.ogg +0 -0
- package/assets/sfx/armas/cylinder_close_light_05.ogg +0 -0
- package/assets/sfx/armas/cylinder_eject_light_01.ogg +0 -0
- package/assets/sfx/armas/cylinder_eject_light_02.ogg +0 -0
- package/assets/sfx/armas/cylinder_eject_light_03.ogg +0 -0
- package/assets/sfx/armas/cylinder_open_light_01.ogg +0 -0
- package/assets/sfx/armas/cylinder_open_light_02.ogg +0 -0
- package/assets/sfx/armas/cylinder_open_light_03.ogg +0 -0
- package/assets/sfx/armas/cylinder_open_light_04.ogg +0 -0
- package/assets/sfx/armas/cylinder_open_light_05.ogg +0 -0
- package/assets/sfx/armas/lever_close_medium_01.ogg +0 -0
- package/assets/sfx/armas/lever_close_medium_02.ogg +0 -0
- package/assets/sfx/armas/lever_open_medium_01.ogg +0 -0
- package/assets/sfx/armas/lever_open_medium_02.ogg +0 -0
- package/assets/sfx/armas/mag_out_heavy_01.ogg +0 -0
- package/assets/sfx/armas/mag_out_heavy_02.ogg +0 -0
- package/assets/sfx/armas/mag_out_light_01.ogg +0 -0
- package/assets/sfx/armas/mag_out_light_02.ogg +0 -0
- package/assets/sfx/armas/mag_out_light_03.ogg +0 -0
- package/assets/sfx/armas/mag_out_light_04.ogg +0 -0
- package/assets/sfx/armas/mag_out_medium_01.ogg +0 -0
- package/assets/sfx/armas/mag_out_medium_02.ogg +0 -0
- package/assets/sfx/armas/mag_out_medium_03.ogg +0 -0
- package/assets/sfx/armas/mag_seat_heavy_01.ogg +0 -0
- package/assets/sfx/armas/mag_seat_heavy_02.ogg +0 -0
- package/assets/sfx/armas/mag_seat_light_01.ogg +0 -0
- package/assets/sfx/armas/mag_seat_light_02.ogg +0 -0
- package/assets/sfx/armas/mag_seat_light_03.ogg +0 -0
- package/assets/sfx/armas/mag_seat_light_04.ogg +0 -0
- package/assets/sfx/armas/mag_seat_light_05.ogg +0 -0
- package/assets/sfx/armas/mag_seat_light_06.ogg +0 -0
- package/assets/sfx/armas/mag_seat_medium_01.ogg +0 -0
- package/assets/sfx/armas/mag_seat_medium_02.ogg +0 -0
- package/assets/sfx/armas/mag_seat_medium_03.ogg +0 -0
- package/assets/sfx/armas/pistol_22lr_close_01.ogg +0 -0
- package/assets/sfx/armas/pistol_22lr_close_02.ogg +0 -0
- package/assets/sfx/armas/pistol_22lr_far_01.ogg +0 -0
- package/assets/sfx/armas/pistol_22lr_far_02.ogg +0 -0
- package/assets/sfx/armas/pistol_22lr_far_03.ogg +0 -0
- package/assets/sfx/armas/pistol_22lr_far_04.ogg +0 -0
- package/assets/sfx/armas/pistol_45_close_01.ogg +0 -0
- package/assets/sfx/armas/pistol_45_close_02.ogg +0 -0
- package/assets/sfx/armas/pistol_45_close_03.ogg +0 -0
- package/assets/sfx/armas/pistol_45_close_04.ogg +0 -0
- package/assets/sfx/armas/pistol_45_close_05.ogg +0 -0
- package/assets/sfx/armas/pistol_45_far_01.ogg +0 -0
- package/assets/sfx/armas/pistol_45_far_02.ogg +0 -0
- package/assets/sfx/armas/pistol_45_far_03.ogg +0 -0
- package/assets/sfx/armas/pistol_45_far_04.ogg +0 -0
- package/assets/sfx/armas/pistol_9mm_close_01.ogg +0 -0
- package/assets/sfx/armas/pistol_9mm_close_02.ogg +0 -0
- package/assets/sfx/armas/pistol_9mm_close_03.ogg +0 -0
- package/assets/sfx/armas/pistol_9mm_close_04.ogg +0 -0
- package/assets/sfx/armas/pistol_9mm_close_05.ogg +0 -0
- package/assets/sfx/armas/pistol_9mm_close_06.ogg +0 -0
- package/assets/sfx/armas/pistol_9mm_far_01.ogg +0 -0
- package/assets/sfx/armas/pistol_9mm_far_02.ogg +0 -0
- package/assets/sfx/armas/pistol_9mm_far_03.ogg +0 -0
- package/assets/sfx/armas/pistol_9mm_far_04.ogg +0 -0
- package/assets/sfx/armas/pump_back_heavy_01.ogg +0 -0
- package/assets/sfx/armas/pump_back_heavy_02.ogg +0 -0
- package/assets/sfx/armas/pump_back_heavy_03.ogg +0 -0
- package/assets/sfx/armas/pump_back_heavy_04.ogg +0 -0
- package/assets/sfx/armas/pump_back_heavy_05.ogg +0 -0
- package/assets/sfx/armas/pump_forward_heavy_01.ogg +0 -0
- package/assets/sfx/armas/pump_forward_heavy_02.ogg +0 -0
- package/assets/sfx/armas/pump_forward_heavy_03.ogg +0 -0
- package/assets/sfx/armas/revolver_38_357_close_01.ogg +0 -0
- package/assets/sfx/armas/revolver_38_357_close_02.ogg +0 -0
- package/assets/sfx/armas/revolver_38_357_close_03.ogg +0 -0
- package/assets/sfx/armas/revolver_38_357_close_04.ogg +0 -0
- package/assets/sfx/armas/revolver_38_357_far_01.ogg +0 -0
- package/assets/sfx/armas/revolver_38_357_far_02.ogg +0 -0
- package/assets/sfx/armas/revolver_38_357_far_03.ogg +0 -0
- package/assets/sfx/armas/revolver_38_357_far_04.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_close_01.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_close_02.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_close_03.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_close_04.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_close_05.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_close_06.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_far_01.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_far_02.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_far_03.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_far_04.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_far_05.ogg +0 -0
- package/assets/sfx/armas/rifle_308_3006_far_06.ogg +0 -0
- package/assets/sfx/armas/rifle_5_56_close_01.ogg +0 -0
- package/assets/sfx/armas/rifle_5_56_close_02.ogg +0 -0
- package/assets/sfx/armas/rifle_5_56_close_03.ogg +0 -0
- package/assets/sfx/armas/rifle_5_56_close_04.ogg +0 -0
- package/assets/sfx/armas/rifle_5_56_close_05.ogg +0 -0
- package/assets/sfx/armas/rifle_5_56_far_01.ogg +0 -0
- package/assets/sfx/armas/rifle_5_56_far_02.ogg +0 -0
- package/assets/sfx/armas/rifle_5_56_far_03.ogg +0 -0
- package/assets/sfx/armas/rifle_5_56_far_04.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_01.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_02.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_03.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_04.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_05.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_06.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_07.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_08.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_09.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_10.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_11.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_close_12.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_far_01.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_far_02.ogg +0 -0
- package/assets/sfx/armas/rifle_7_62x39_far_03.ogg +0 -0
- package/assets/sfx/armas/shell_insert_heavy_01.ogg +0 -0
- package/assets/sfx/armas/shell_insert_heavy_02.ogg +0 -0
- package/assets/sfx/armas/shell_insert_heavy_03.ogg +0 -0
- package/assets/sfx/armas/shell_insert_heavy_04.ogg +0 -0
- package/assets/sfx/armas/shell_insert_heavy_05.ogg +0 -0
- package/assets/sfx/armas/shell_insert_heavy_06.ogg +0 -0
- package/assets/sfx/armas/shell_insert_heavy_07.ogg +0 -0
- package/assets/sfx/armas/shell_insert_heavy_08.ogg +0 -0
- package/assets/sfx/armas/shell_insert_heavy_09.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_close_01.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_close_02.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_close_03.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_close_04.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_close_05.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_close_06.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_far_01.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_far_02.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_far_03.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_far_04.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_far_05.ogg +0 -0
- package/assets/sfx/armas/shotgun_12_far_06.ogg +0 -0
- package/assets/sfx/armas/slide_release_light_01.ogg +0 -0
- package/assets/sfx/armas/slide_release_light_02.ogg +0 -0
- package/assets/sfx/armas/slide_release_light_03.ogg +0 -0
- package/assets/sfx/armas/slide_release_light_04.ogg +0 -0
- package/assets/sfx/armas/slide_release_light_05.ogg +0 -0
- package/assets/sfx/armas/slide_release_light_06.ogg +0 -0
- package/assets/sfx/armas/slide_release_medium_01.ogg +0 -0
- package/assets/sfx/armas/slide_release_medium_02.ogg +0 -0
- package/assets/sfx/armas/slide_release_medium_03.ogg +0 -0
- package/assets/sfx/armas/slide_release_medium_04.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_close_01.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_close_02.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_close_03.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_close_04.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_close_05.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_close_06.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_close_07.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_far_01.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_far_02.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_far_03.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_far_04.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_far_05.ogg +0 -0
- package/assets/sfx/armas/sniper_338_300wm_far_06.ogg +0 -0
- package/assets/sfx/armas/speedloader_light_01.ogg +0 -0
- package/assets/sfx/armas/speedloader_light_02.ogg +0 -0
- package/assets/sfx/armas/speedloader_light_03.ogg +0 -0
- package/assets/sfx/armas/speedloader_light_04.ogg +0 -0
- package/assets/sfx/armas/speedloader_light_05.ogg +0 -0
- package/assets/sfx/armas/speedloader_light_06.ogg +0 -0
- package/assets/sfx/armas/speedloader_light_07.ogg +0 -0
- package/assets/sfx/armas/speedloader_light_08.ogg +0 -0
- package/assets/sfx/armas/suppressed_pistol_close_01.ogg +0 -0
- package/assets/sfx/armas/suppressed_pistol_close_02.ogg +0 -0
- package/assets/sfx/armas/suppressed_pistol_close_03.ogg +0 -0
- package/assets/sfx/armas/suppressed_pistol_close_04.ogg +0 -0
- package/assets/sfx/armas/suppressed_pistol_close_05.ogg +0 -0
- package/assets/sfx/armas/suppressed_pistol_far_01.ogg +0 -0
- package/assets/sfx/armas/suppressed_pistol_far_02.ogg +0 -0
- package/assets/sfx/armas/suppressed_pistol_far_03.ogg +0 -0
- package/assets/sfx/armas/suppressed_pistol_far_04.ogg +0 -0
- package/assets/sfx/armas/suppressed_pistol_far_05.ogg +0 -0
- package/assets/sfx/armas/suppressed_rifle_close_01.ogg +0 -0
- package/assets/sfx/armas/suppressed_rifle_close_02.ogg +0 -0
- package/assets/sfx/armas/suppressed_rifle_close_03.ogg +0 -0
- package/assets/sfx/armas/suppressed_rifle_close_04.ogg +0 -0
- package/assets/sfx/armas/suppressed_rifle_far_01.ogg +0 -0
- package/assets/sfx/armas/suppressed_rifle_far_02.ogg +0 -0
- package/assets/sfx/armas/suppressed_rifle_far_03.ogg +0 -0
- package/assets/sfx/armas/suppressed_rifle_far_04.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_mixed_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_mixed_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_mixed_03.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_mixed_04.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_mixed_05.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_mixed_06.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_mixed_07.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_stone_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_stone_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_stone_03.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_stone_04.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_stone_05.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_stone_06.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_stone_07.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_stone_08.ogg +0 -0
- package/assets/sfx/explosoes-fogo/debris_rain_stone_09.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_big_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_big_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_big_03.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_big_04.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_big_05.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_car_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_car_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_car_03.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_car_04.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_far_close_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_far_close_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_far_close_03.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_far_close_04.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_flashbang_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_flashbang_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_grenade_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_grenade_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_grenade_03.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_grenade_04.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_grenade_05.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_grenade_06.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_small_bang_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_small_bang_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_small_bang_03.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_small_bang_04.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_small_bang_05.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_small_bang_06.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_small_bang_07.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_small_bang_08.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_small_bang_09.ogg +0 -0
- package/assets/sfx/explosoes-fogo/explosion_small_bang_10.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_crackle_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_crackle_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_crackle_03.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_crackle_05.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_crackle_07.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_extinguish_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_extinguish_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_ignite_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_ignite_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_ignite_03.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_ignite_04.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_loop_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_loop_03.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_loop_04.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_loop_small_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_pop_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_pop_02.ogg +0 -0
- package/assets/sfx/explosoes-fogo/fire_pop_03.ogg +0 -0
- package/assets/sfx/explosoes-fogo/flamethrower_loop_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/gas_leak_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/molotov_break_ignite_01.ogg +0 -0
- package/assets/sfx/explosoes-fogo/molotov_break_ignite_02.ogg +0 -0
- package/assets/sfx/impactos/ceramic_hit_close_01.ogg +0 -0
- package/assets/sfx/impactos/concrete_block_drag_close_01.ogg +0 -0
- package/assets/sfx/impactos/concrete_block_drag_close_02.ogg +0 -0
- package/assets/sfx/impactos/concrete_block_drag_close_03.ogg +0 -0
- package/assets/sfx/impactos/concrete_block_drag_close_04.ogg +0 -0
- package/assets/sfx/impactos/concrete_block_drag_close_05.ogg +0 -0
- package/assets/sfx/impactos/concrete_block_drag_close_06.ogg +0 -0
- package/assets/sfx/impactos/concrete_block_drag_close_07.ogg +0 -0
- package/assets/sfx/impactos/crack_close_01.ogg +0 -0
- package/assets/sfx/impactos/crack_close_02.ogg +0 -0
- package/assets/sfx/impactos/crack_close_03.ogg +0 -0
- package/assets/sfx/impactos/crack_close_04.ogg +0 -0
- package/assets/sfx/impactos/crack_close_05.ogg +0 -0
- package/assets/sfx/impactos/crack_close_06.ogg +0 -0
- package/assets/sfx/impactos/crack_close_07.ogg +0 -0
- package/assets/sfx/impactos/crack_close_08.ogg +0 -0
- package/assets/sfx/impactos/crack_close_09.ogg +0 -0
- package/assets/sfx/impactos/crack_close_10.ogg +0 -0
- package/assets/sfx/impactos/crumble_close_01.ogg +0 -0
- package/assets/sfx/impactos/crumble_close_02.ogg +0 -0
- package/assets/sfx/impactos/crumble_close_03.ogg +0 -0
- package/assets/sfx/impactos/crumble_close_04.ogg +0 -0
- package/assets/sfx/impactos/crumble_close_05.ogg +0 -0
- package/assets/sfx/impactos/flesh_fruit_splat_close_01.ogg +0 -0
- package/assets/sfx/impactos/flesh_fruit_splat_close_02.ogg +0 -0
- package/assets/sfx/impactos/flesh_fruit_splat_close_03.ogg +0 -0
- package/assets/sfx/impactos/furniture_push_wood_close_01.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_heavy_close_01.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_heavy_close_02.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_heavy_close_03.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_heavy_close_04.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_heavy_close_05.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_light_close_01.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_light_close_02.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_light_close_03.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_light_close_04.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_light_close_05.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_medium_close_01.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_medium_close_02.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_medium_close_03.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_medium_close_04.ogg +0 -0
- package/assets/sfx/impactos/glass_blunt_medium_close_05.ogg +0 -0
- package/assets/sfx/impactos/glass_bottle_break_close_01.ogg +0 -0
- package/assets/sfx/impactos/glass_debris_fall_close_01.ogg +0 -0
- package/assets/sfx/impactos/glass_debris_fall_close_02.ogg +0 -0
- package/assets/sfx/impactos/glass_debris_fall_close_03.ogg +0 -0
- package/assets/sfx/impactos/glass_debris_fall_close_04.ogg +0 -0
- package/assets/sfx/impactos/glass_shatter_close_01.ogg +0 -0
- package/assets/sfx/impactos/glass_shatter_close_02.ogg +0 -0
- package/assets/sfx/impactos/glass_shatter_close_03.ogg +0 -0
- package/assets/sfx/impactos/glass_shatter_close_04.ogg +0 -0
- package/assets/sfx/impactos/glass_shatter_close_05.ogg +0 -0
- package/assets/sfx/impactos/glass_shatter_close_06.ogg +0 -0
- package/assets/sfx/impactos/glass_shatter_close_07.ogg +0 -0
- package/assets/sfx/impactos/glass_shatter_close_08.ogg +0 -0
- package/assets/sfx/impactos/glass_shatter_close_09.ogg +0 -0
- package/assets/sfx/impactos/gravel_hit_close_21.ogg +0 -0
- package/assets/sfx/impactos/gravel_hit_close_22.ogg +0 -0
- package/assets/sfx/impactos/gravel_hit_close_23.ogg +0 -0
- package/assets/sfx/impactos/gravel_hit_close_24.ogg +0 -0
- package/assets/sfx/impactos/gravel_hit_close_25.ogg +0 -0
- package/assets/sfx/impactos/gravel_hit_close_26.ogg +0 -0
- package/assets/sfx/impactos/gravel_hit_close_27.ogg +0 -0
- package/assets/sfx/impactos/gravel_hit_close_28.ogg +0 -0
- package/assets/sfx/impactos/gravel_hit_close_29.ogg +0 -0
- package/assets/sfx/impactos/impact_generic_light_close_01.ogg +0 -0
- package/assets/sfx/impactos/impact_generic_light_close_02.ogg +0 -0
- package/assets/sfx/impactos/impact_generic_light_close_03.ogg +0 -0
- package/assets/sfx/impactos/impact_generic_light_close_04.ogg +0 -0
- package/assets/sfx/impactos/impact_generic_light_close_05.ogg +0 -0
- package/assets/sfx/impactos/masonry_blunt_close_01.ogg +0 -0
- package/assets/sfx/impactos/masonry_blunt_close_02.ogg +0 -0
- package/assets/sfx/impactos/masonry_blunt_close_03.ogg +0 -0
- package/assets/sfx/impactos/masonry_blunt_close_04.ogg +0 -0
- package/assets/sfx/impactos/masonry_blunt_close_05.ogg +0 -0
- package/assets/sfx/impactos/masonry_blunt_close_06.ogg +0 -0
- package/assets/sfx/impactos/masonry_blunt_close_07.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_01.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_02.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_03.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_04.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_05.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_21.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_22.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_23.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_24.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_25.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_26.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_27.ogg +0 -0
- package/assets/sfx/impactos/masonry_bullet_close_28.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_close_01.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_close_02.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_close_03.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_close_04.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_close_05.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_heavy_close_01.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_heavy_close_02.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_heavy_close_03.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_heavy_close_04.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_heavy_close_05.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_light_close_01.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_light_close_02.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_light_close_03.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_light_close_04.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_light_close_05.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_medium_close_01.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_medium_close_02.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_medium_close_03.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_medium_close_04.ogg +0 -0
- package/assets/sfx/impactos/metal_blunt_medium_close_05.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_01.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_02.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_03.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_04.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_05.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_06.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_21.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_22.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_23.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_24.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_25.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_26.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_27.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_28.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_29.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_30.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_31.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_32.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_33.ogg +0 -0
- package/assets/sfx/impactos/metal_bullet_close_34.ogg +0 -0
- package/assets/sfx/impactos/metal_fall_close_01.ogg +0 -0
- package/assets/sfx/impactos/metal_fall_close_02.ogg +0 -0
- package/assets/sfx/impactos/metal_fall_close_03.ogg +0 -0
- package/assets/sfx/impactos/metal_fall_close_04.ogg +0 -0
- package/assets/sfx/impactos/metal_fall_close_05.ogg +0 -0
- package/assets/sfx/impactos/metal_fall_close_06.ogg +0 -0
- package/assets/sfx/impactos/metal_fall_close_07.ogg +0 -0
- package/assets/sfx/impactos/metal_fall_close_08.ogg +0 -0
- package/assets/sfx/impactos/metal_fall_close_09.ogg +0 -0
- package/assets/sfx/impactos/metal_fall_close_10.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_01.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_02.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_03.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_04.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_05.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_06.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_07.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_08.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_09.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_10.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_11.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_12.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_13.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_14.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_15.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_16.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_17.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_18.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_19.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_20.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_21.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_22.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_23.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_24.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_25.ogg +0 -0
- package/assets/sfx/impactos/metal_thin_close_26.ogg +0 -0
- package/assets/sfx/impactos/paper_tear_close_01.ogg +0 -0
- package/assets/sfx/impactos/paper_tear_close_02.ogg +0 -0
- package/assets/sfx/impactos/plastic_hit_close_01.ogg +0 -0
- package/assets/sfx/impactos/plastic_hit_close_02.ogg +0 -0
- package/assets/sfx/impactos/plastic_hit_close_03.ogg +0 -0
- package/assets/sfx/impactos/plastic_hit_close_04.ogg +0 -0
- package/assets/sfx/impactos/ricochet_metal_close_21.ogg +0 -0
- package/assets/sfx/impactos/ricochet_metal_close_22.ogg +0 -0
- package/assets/sfx/impactos/ricochet_metal_close_23.ogg +0 -0
- package/assets/sfx/impactos/ricochet_metal_close_24.ogg +0 -0
- package/assets/sfx/impactos/ricochet_metal_close_25.ogg +0 -0
- package/assets/sfx/impactos/ricochet_metal_close_26.ogg +0 -0
- package/assets/sfx/impactos/ricochet_metal_close_27.ogg +0 -0
- package/assets/sfx/impactos/ricochet_metal_close_28.ogg +0 -0
- package/assets/sfx/impactos/rubble_falling_close_01.ogg +0 -0
- package/assets/sfx/impactos/rubble_falling_close_02.ogg +0 -0
- package/assets/sfx/impactos/rubble_falling_close_03.ogg +0 -0
- package/assets/sfx/impactos/rubble_falling_close_04.ogg +0 -0
- package/assets/sfx/impactos/rubble_falling_close_05.ogg +0 -0
- package/assets/sfx/impactos/rubble_falling_close_06.ogg +0 -0
- package/assets/sfx/impactos/rubble_falling_close_07.ogg +0 -0
- package/assets/sfx/impactos/rubble_falling_close_08.ogg +0 -0
- package/assets/sfx/impactos/rubble_falling_close_09.ogg +0 -0
- package/assets/sfx/impactos/soft_bullet_close_01.ogg +0 -0
- package/assets/sfx/impactos/soft_bullet_close_02.ogg +0 -0
- package/assets/sfx/impactos/soft_bullet_close_03.ogg +0 -0
- package/assets/sfx/impactos/soft_bullet_close_04.ogg +0 -0
- package/assets/sfx/impactos/soft_bullet_close_05.ogg +0 -0
- package/assets/sfx/impactos/soft_bullet_close_06.ogg +0 -0
- package/assets/sfx/impactos/soft_bullet_close_07.ogg +0 -0
- package/assets/sfx/impactos/soft_bullet_close_08.ogg +0 -0
- package/assets/sfx/impactos/soft_bullet_close_09.ogg +0 -0
- package/assets/sfx/impactos/soft_bullet_close_10.ogg +0 -0
- package/assets/sfx/impactos/soil_bullet_close_21.ogg +0 -0
- package/assets/sfx/impactos/soil_bullet_close_22.ogg +0 -0
- package/assets/sfx/impactos/soil_bullet_close_23.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_heavy_close_01.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_heavy_close_02.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_heavy_close_03.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_heavy_close_04.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_heavy_close_05.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_light_close_01.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_light_close_02.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_light_close_03.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_light_close_04.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_light_close_05.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_medium_close_01.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_medium_close_02.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_medium_close_03.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_medium_close_04.ogg +0 -0
- package/assets/sfx/impactos/wood_blunt_medium_close_05.ogg +0 -0
- package/assets/sfx/impactos/wood_fall_close_01.ogg +0 -0
- package/assets/sfx/impactos/wood_fall_close_02.ogg +0 -0
- package/assets/sfx/impactos/wood_fall_close_03.ogg +0 -0
- package/assets/sfx/impactos/wood_fall_close_04.ogg +0 -0
- package/assets/sfx/impactos/wood_fall_close_05.ogg +0 -0
- package/assets/sfx/impactos/wood_fall_close_06.ogg +0 -0
- package/assets/sfx/impactos/wood_fall_close_07.ogg +0 -0
- package/assets/sfx/impactos/wood_fall_close_08.ogg +0 -0
- package/assets/sfx/impactos/wood_fall_close_09.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_01.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_02.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_03.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_04.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_05.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_06.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_07.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_08.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_09.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_10.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_11.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_12.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_13.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_14.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_21.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_22.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_23.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_24.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_25.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_26.ogg +0 -0
- package/assets/sfx/impactos/wood_hit_close_27.ogg +0 -0
- package/assets/sfx/itens-portas/backpack_open_shut_01.ogg +0 -0
- package/assets/sfx/itens-portas/backpack_open_shut_02.ogg +0 -0
- package/assets/sfx/itens-portas/backpack_open_shut_03.ogg +0 -0
- package/assets/sfx/itens-portas/backpack_open_shut_04.ogg +0 -0
- package/assets/sfx/itens-portas/backpack_open_shut_05.ogg +0 -0
- package/assets/sfx/itens-portas/backpack_open_shut_06.ogg +0 -0
- package/assets/sfx/itens-portas/book_open_shut_01.ogg +0 -0
- package/assets/sfx/itens-portas/book_open_shut_02.ogg +0 -0
- package/assets/sfx/itens-portas/book_open_shut_03.ogg +0 -0
- package/assets/sfx/itens-portas/book_open_shut_04.ogg +0 -0
- package/assets/sfx/itens-portas/book_open_shut_05.ogg +0 -0
- package/assets/sfx/itens-portas/book_open_shut_06.ogg +0 -0
- package/assets/sfx/itens-portas/book_open_shut_07.ogg +0 -0
- package/assets/sfx/itens-portas/book_open_shut_08.ogg +0 -0
- package/assets/sfx/itens-portas/book_open_shut_09.ogg +0 -0
- package/assets/sfx/itens-portas/book_open_shut_10.ogg +0 -0
- package/assets/sfx/itens-portas/book_open_shut_11.ogg +0 -0
- package/assets/sfx/itens-portas/door_creak_01.ogg +0 -0
- package/assets/sfx/itens-portas/door_creak_02.ogg +0 -0
- package/assets/sfx/itens-portas/door_creak_03.ogg +0 -0
- package/assets/sfx/itens-portas/door_creak_06.ogg +0 -0
- package/assets/sfx/itens-portas/door_creak_07.ogg +0 -0
- package/assets/sfx/itens-portas/door_glass_sliding_01.ogg +0 -0
- package/assets/sfx/itens-portas/door_glass_sliding_02.ogg +0 -0
- package/assets/sfx/itens-portas/door_glass_sliding_03.ogg +0 -0
- package/assets/sfx/itens-portas/door_glass_sliding_04.ogg +0 -0
- package/assets/sfx/itens-portas/door_knock_01.ogg +0 -0
- package/assets/sfx/itens-portas/door_lock_unlock_01.ogg +0 -0
- package/assets/sfx/itens-portas/door_lock_unlock_02.ogg +0 -0
- package/assets/sfx/itens-portas/door_lock_unlock_03.ogg +0 -0
- package/assets/sfx/itens-portas/door_lock_unlock_04.ogg +0 -0
- package/assets/sfx/itens-portas/door_lock_unlock_05.ogg +0 -0
- package/assets/sfx/itens-portas/door_lock_unlock_06.ogg +0 -0
- package/assets/sfx/itens-portas/door_lock_unlock_07.ogg +0 -0
- package/assets/sfx/itens-portas/door_lock_unlock_08.ogg +0 -0
- package/assets/sfx/itens-portas/door_lock_unlock_09.ogg +0 -0
- package/assets/sfx/itens-portas/door_lock_unlock_10.ogg +0 -0
- package/assets/sfx/itens-portas/door_lock_unlock_11.ogg +0 -0
- package/assets/sfx/itens-portas/door_locked_rattle_01.ogg +0 -0
- package/assets/sfx/itens-portas/door_locked_rattle_02.ogg +0 -0
- package/assets/sfx/itens-portas/door_locked_rattle_03.ogg +0 -0
- package/assets/sfx/itens-portas/door_metal_open_shut_01.ogg +0 -0
- package/assets/sfx/itens-portas/door_metal_open_shut_02.ogg +0 -0
- package/assets/sfx/itens-portas/door_metal_open_shut_03.ogg +0 -0
- package/assets/sfx/itens-portas/door_metal_open_shut_04.ogg +0 -0
- package/assets/sfx/itens-portas/door_metal_open_shut_05.ogg +0 -0
- package/assets/sfx/itens-portas/door_metal_open_shut_06.ogg +0 -0
- package/assets/sfx/itens-portas/door_metal_open_shut_07.ogg +0 -0
- package/assets/sfx/itens-portas/door_slam_wood_01.ogg +0 -0
- package/assets/sfx/itens-portas/door_slam_wood_02.ogg +0 -0
- package/assets/sfx/itens-portas/door_slam_wood_03.ogg +0 -0
- package/assets/sfx/itens-portas/door_slam_wood_04.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_open_01.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_open_02.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_open_03.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_open_04.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_shut_01.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_shut_02.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_shut_03.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_shut_04.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_shut_05.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_shut_06.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_shut_07.ogg +0 -0
- package/assets/sfx/itens-portas/door_wood_shut_08.ogg +0 -0
- package/assets/sfx/itens-portas/drawer_open_01.ogg +0 -0
- package/assets/sfx/itens-portas/drawer_open_02.ogg +0 -0
- package/assets/sfx/itens-portas/drawer_shut_01.ogg +0 -0
- package/assets/sfx/itens-portas/drawer_shut_02.ogg +0 -0
- package/assets/sfx/itens-portas/item_drop_bag_01.ogg +0 -0
- package/assets/sfx/itens-portas/item_drop_bag_02.ogg +0 -0
- package/assets/sfx/itens-portas/item_drop_glass_01.ogg +0 -0
- package/assets/sfx/itens-portas/item_drop_metal_01.ogg +0 -0
- package/assets/sfx/itens-portas/item_drop_metal_02.ogg +0 -0
- package/assets/sfx/itens-portas/item_drop_metal_03.ogg +0 -0
- package/assets/sfx/itens-portas/item_drop_metal_04.ogg +0 -0
- package/assets/sfx/itens-portas/item_drop_metal_05.ogg +0 -0
- package/assets/sfx/itens-portas/item_drop_paper_01.ogg +0 -0
- package/assets/sfx/itens-portas/item_pickup_coins_01.ogg +0 -0
- package/assets/sfx/itens-portas/item_pickup_coins_02.ogg +0 -0
- package/assets/sfx/itens-portas/item_pickup_generic_01.ogg +0 -0
- package/assets/sfx/itens-portas/item_pickup_generic_02.ogg +0 -0
- package/assets/sfx/itens-portas/item_pickup_generic_03.ogg +0 -0
- package/assets/sfx/itens-portas/item_pickup_generic_04.ogg +0 -0
- package/assets/sfx/itens-portas/item_pickup_leather_01.ogg +0 -0
- package/assets/sfx/itens-portas/item_pickup_leather_02.ogg +0 -0
- package/assets/sfx/itens-portas/item_pickup_leather_03.ogg +0 -0
- package/assets/sfx/itens-portas/item_pickup_leather_04.ogg +0 -0
- package/assets/sfx/itens-portas/item_pickup_leather_05.ogg +0 -0
- package/assets/sfx/itens-portas/item_setdown_01.ogg +0 -0
- package/assets/sfx/itens-portas/item_setdown_02.ogg +0 -0
- package/assets/sfx/itens-portas/keys_jingle_01.ogg +0 -0
- package/assets/sfx/itens-portas/keys_jingle_02.ogg +0 -0
- package/assets/sfx/itens-portas/keys_jingle_03.ogg +0 -0
- package/assets/sfx/itens-portas/keys_jingle_04.ogg +0 -0
- package/assets/sfx/itens-portas/keys_jingle_05.ogg +0 -0
- package/assets/sfx/itens-portas/keys_jingle_06.ogg +0 -0
- package/assets/sfx/itens-portas/keys_jingle_07.ogg +0 -0
- package/assets/sfx/itens-portas/lever_pull_01.ogg +0 -0
- package/assets/sfx/itens-portas/lever_pull_02.ogg +0 -0
- package/assets/sfx/itens-portas/lever_pull_03.ogg +0 -0
- package/assets/sfx/itens-portas/lever_pull_04.ogg +0 -0
- package/assets/sfx/itens-portas/lever_pull_05.ogg +0 -0
- package/assets/sfx/itens-portas/lever_pull_06.ogg +0 -0
- package/assets/sfx/itens-portas/metal_latch_01.ogg +0 -0
- package/assets/sfx/itens-portas/metal_latch_02.ogg +0 -0
- package/assets/sfx/itens-portas/plates_hit_01.ogg +0 -0
- package/assets/sfx/itens-portas/plates_hit_02.ogg +0 -0
- package/assets/sfx/itens-portas/plates_hit_03.ogg +0 -0
- package/assets/sfx/itens-portas/plates_hit_04.ogg +0 -0
- package/assets/sfx/itens-portas/plates_hit_05.ogg +0 -0
- package/assets/sfx/itens-portas/plates_hit_06.ogg +0 -0
- package/assets/sfx/itens-portas/plates_hit_07.ogg +0 -0
- package/assets/sfx/itens-portas/plates_hit_08.ogg +0 -0
- package/assets/sfx/itens-portas/plates_hit_09.ogg +0 -0
- package/assets/sfx/itens-portas/plates_hit_10.ogg +0 -0
- package/assets/sfx/itens-portas/plates_slide_01.ogg +0 -0
- package/assets/sfx/itens-portas/plates_slide_02.ogg +0 -0
- package/assets/sfx/itens-portas/plates_slide_03.ogg +0 -0
- package/assets/sfx/itens-portas/plates_slide_04.ogg +0 -0
- package/assets/sfx/itens-portas/saw_wood_01.ogg +0 -0
- package/assets/sfx/itens-portas/switch_click_01.ogg +0 -0
- package/assets/sfx/itens-portas/switch_click_02.ogg +0 -0
- package/assets/sfx/itens-portas/switch_click_03.ogg +0 -0
- package/assets/sfx/itens-portas/switch_click_04.ogg +0 -0
- package/assets/sfx/itens-portas/toilet_flush_01.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_01.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_02.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_03.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_04.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_05.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_06.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_07.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_08.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_09.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_10.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_11.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_12.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_13.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_14.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_15.ogg +0 -0
- package/assets/sfx/itens-portas/tools_handling_16.ogg +0 -0
- package/assets/sfx/itens-portas/water_drip_01.ogg +0 -0
- package/assets/sfx/itens-portas/water_drip_02.ogg +0 -0
- package/assets/sfx/itens-portas/water_drip_03.ogg +0 -0
- package/assets/sfx/itens-portas/water_drip_04.ogg +0 -0
- package/assets/sfx/itens-portas/water_faucet_01.ogg +0 -0
- package/assets/sfx/itens-portas/water_faucet_02.ogg +0 -0
- package/assets/sfx/itens-portas/water_faucet_03.ogg +0 -0
- package/assets/sfx/itens-portas/water_faucet_04.ogg +0 -0
- package/assets/sfx/itens-portas/water_faucet_05.ogg +0 -0
- package/assets/sfx/itens-portas/water_faucet_06.ogg +0 -0
- package/assets/sfx/itens-portas/water_faucet_07.ogg +0 -0
- package/assets/sfx/itens-portas/water_faucet_08.ogg +0 -0
- package/assets/sfx/itens-portas/water_faucet_09.ogg +0 -0
- package/assets/sfx/itens-portas/water_faucet_10.ogg +0 -0
- package/assets/sfx/manifest.json +11959 -0
- package/assets/sfx/personagem/axe_chop_01.ogg +0 -0
- package/assets/sfx/personagem/axe_chop_02.ogg +0 -0
- package/assets/sfx/personagem/blunt_hit_metal_01.ogg +0 -0
- package/assets/sfx/personagem/blunt_hit_metal_02.ogg +0 -0
- package/assets/sfx/personagem/blunt_hit_metal_03.ogg +0 -0
- package/assets/sfx/personagem/blunt_hit_metal_04.ogg +0 -0
- package/assets/sfx/personagem/blunt_hit_metal_05.ogg +0 -0
- package/assets/sfx/personagem/body_fall_01.ogg +0 -0
- package/assets/sfx/personagem/body_fall_02.ogg +0 -0
- package/assets/sfx/personagem/body_fall_03.ogg +0 -0
- package/assets/sfx/personagem/body_fall_04.ogg +0 -0
- package/assets/sfx/personagem/body_fall_05.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_01.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_02.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_03.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_04.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_05.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_06.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_07.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_08.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_09.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_10.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_11.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_12.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_13.ogg +0 -0
- package/assets/sfx/personagem/cloth_rustle_14.ogg +0 -0
- package/assets/sfx/personagem/drink_gulp_01.ogg +0 -0
- package/assets/sfx/personagem/drink_gulp_02.ogg +0 -0
- package/assets/sfx/personagem/drink_gulp_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_carpet_alt_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_carpet_alt_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_carpet_alt_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_carpet_alt_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_carpet_alt_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_alt_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_alt_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_alt_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_alt_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_alt_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_run_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_run_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_run_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_run_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_run_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_walk_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_walk_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_walk_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_walk_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_concrete_walk_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_dirt_run_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_dirt_run_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_dirt_run_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_dirt_run_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_dirt_run_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_dirt_walk_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_dirt_walk_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_dirt_walk_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_dirt_walk_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_dirt_walk_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_generic_alt_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_generic_alt_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_generic_alt_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_generic_alt_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_generic_alt_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_generic_alt_06.ogg +0 -0
- package/assets/sfx/personagem/footstep_generic_alt_07.ogg +0 -0
- package/assets/sfx/personagem/footstep_generic_alt_08.ogg +0 -0
- package/assets/sfx/personagem/footstep_generic_alt_09.ogg +0 -0
- package/assets/sfx/personagem/footstep_generic_alt_10.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_alt2_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_alt2_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_alt2_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_alt2_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_alt_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_alt_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_alt_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_alt_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_alt_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_run_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_run_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_run_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_run_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_run_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_walk_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_walk_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_walk_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_walk_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_grass_walk_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_hard_alt_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_hard_alt_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_hard_alt_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_hard_alt_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_hard_alt_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_hard_alt_06.ogg +0 -0
- package/assets/sfx/personagem/footstep_hard_alt_07.ogg +0 -0
- package/assets/sfx/personagem/footstep_hard_alt_08.ogg +0 -0
- package/assets/sfx/personagem/footstep_hard_alt_09.ogg +0 -0
- package/assets/sfx/personagem/footstep_metal_run_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_metal_run_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_metal_run_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_metal_run_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_metal_run_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_metal_walk_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_metal_walk_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_metal_walk_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_metal_walk_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_metal_walk_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_alt_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_alt_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_alt_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_alt_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_alt_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_run_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_run_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_run_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_run_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_run_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_walk_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_walk_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_walk_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_walk_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_snow_walk_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_alt_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_alt_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_alt_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_alt_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_alt_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_run_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_run_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_run_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_run_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_run_05.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_walk_01.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_walk_02.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_walk_03.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_walk_04.ogg +0 -0
- package/assets/sfx/personagem/footstep_wood_walk_05.ogg +0 -0
- package/assets/sfx/personagem/frying_pan_hit_01.ogg +0 -0
- package/assets/sfx/personagem/frying_pan_hit_02.ogg +0 -0
- package/assets/sfx/personagem/frying_pan_hit_03.ogg +0 -0
- package/assets/sfx/personagem/grab_01.ogg +0 -0
- package/assets/sfx/personagem/kick_hit_01.ogg +0 -0
- package/assets/sfx/personagem/kick_hit_02.ogg +0 -0
- package/assets/sfx/personagem/kick_hit_03.ogg +0 -0
- package/assets/sfx/personagem/kick_hit_04.ogg +0 -0
- package/assets/sfx/personagem/kick_hit_05.ogg +0 -0
- package/assets/sfx/personagem/knife_draw_01.ogg +0 -0
- package/assets/sfx/personagem/knife_draw_02.ogg +0 -0
- package/assets/sfx/personagem/knife_draw_03.ogg +0 -0
- package/assets/sfx/personagem/knife_scrape_01.ogg +0 -0
- package/assets/sfx/personagem/knife_slash_01.ogg +0 -0
- package/assets/sfx/personagem/knife_slash_02.ogg +0 -0
- package/assets/sfx/personagem/land_concrete_01.ogg +0 -0
- package/assets/sfx/personagem/land_concrete_02.ogg +0 -0
- package/assets/sfx/personagem/land_dirt_01.ogg +0 -0
- package/assets/sfx/personagem/land_dirt_02.ogg +0 -0
- package/assets/sfx/personagem/land_grass_01.ogg +0 -0
- package/assets/sfx/personagem/land_grass_02.ogg +0 -0
- package/assets/sfx/personagem/land_metal_01.ogg +0 -0
- package/assets/sfx/personagem/land_metal_02.ogg +0 -0
- package/assets/sfx/personagem/land_snow_01.ogg +0 -0
- package/assets/sfx/personagem/land_snow_02.ogg +0 -0
- package/assets/sfx/personagem/land_wood_01.ogg +0 -0
- package/assets/sfx/personagem/land_wood_02.ogg +0 -0
- package/assets/sfx/personagem/player_breath_run_01.ogg +0 -0
- package/assets/sfx/personagem/player_breath_run_02.ogg +0 -0
- package/assets/sfx/personagem/player_breath_run_03.ogg +0 -0
- package/assets/sfx/personagem/player_breath_run_04.ogg +0 -0
- package/assets/sfx/personagem/player_breath_run_05.ogg +0 -0
- package/assets/sfx/personagem/player_death_female_01.ogg +0 -0
- package/assets/sfx/personagem/player_death_female_02.ogg +0 -0
- package/assets/sfx/personagem/player_death_female_03.ogg +0 -0
- package/assets/sfx/personagem/player_death_female_04.ogg +0 -0
- package/assets/sfx/personagem/player_death_female_05.ogg +0 -0
- package/assets/sfx/personagem/player_death_female_06.ogg +0 -0
- package/assets/sfx/personagem/player_death_female_07.ogg +0 -0
- package/assets/sfx/personagem/player_death_female_08.ogg +0 -0
- package/assets/sfx/personagem/player_death_male_01.ogg +0 -0
- package/assets/sfx/personagem/player_death_male_02.ogg +0 -0
- package/assets/sfx/personagem/player_death_male_03.ogg +0 -0
- package/assets/sfx/personagem/player_death_male_04.ogg +0 -0
- package/assets/sfx/personagem/player_death_male_05.ogg +0 -0
- package/assets/sfx/personagem/player_death_male_06.ogg +0 -0
- package/assets/sfx/personagem/player_death_male_07.ogg +0 -0
- package/assets/sfx/personagem/player_death_male_08.ogg +0 -0
- package/assets/sfx/personagem/player_effort_01.ogg +0 -0
- package/assets/sfx/personagem/player_effort_02.ogg +0 -0
- package/assets/sfx/personagem/player_effort_03.ogg +0 -0
- package/assets/sfx/personagem/player_effort_04.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_female_01.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_female_02.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_female_03.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_female_04.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_female_05.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_female_06.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_male_01.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_male_02.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_male_03.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_male_04.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_male_05.ogg +0 -0
- package/assets/sfx/personagem/player_hurt_male_06.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_alt_01.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_alt_02.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_alt_03.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_alt_04.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_alt_05.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_alt_06.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_alt_07.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_alt_08.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_alt_09.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_alt_10.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_body_01.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_body_02.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_body_03.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_body_04.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_body_05.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_body_06.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_face_01.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_face_02.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_face_03.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_face_04.ogg +0 -0
- package/assets/sfx/personagem/punch_hit_face_05.ogg +0 -0
- package/assets/sfx/personagem/punch_swing_01.ogg +0 -0
- package/assets/sfx/personagem/punch_swing_02.ogg +0 -0
- package/assets/sfx/personagem/punch_swing_03.ogg +0 -0
- package/assets/sfx/personagem/punch_swing_04.ogg +0 -0
- package/assets/sfx/personagem/punch_swing_05.ogg +0 -0
- package/assets/sfx/personagem/punch_swing_06.ogg +0 -0
- package/assets/sfx/personagem/punch_swing_07.ogg +0 -0
- package/assets/sfx/personagem/punch_swing_08.ogg +0 -0
- package/assets/sfx/personagem/scream_01.ogg +0 -0
- package/assets/sfx/personagem/scream_02.ogg +0 -0
- package/assets/sfx/personagem/scream_03.ogg +0 -0
- package/assets/sfx/personagem/scream_04.ogg +0 -0
- package/assets/sfx/personagem/slap_01.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_01.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_02.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_03.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_04.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_05.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_06.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_07.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_08.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_09.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_10.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_11.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_12.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_13.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_14.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_15.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_16.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_17.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_18.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_19.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_20.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_21.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_22.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_23.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_24.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_25.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_26.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_27.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_28.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_29.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_30.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_31.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_32.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_33.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_34.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_35.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_36.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_37.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_38.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_39.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_40.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_41.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_42.ogg +0 -0
- package/assets/sfx/personagem/swing_whoosh_alt_43.ogg +0 -0
- package/assets/sfx/personagem/zombie_creature_01.ogg +0 -0
- package/assets/sfx/personagem/zombie_creature_02.ogg +0 -0
- package/assets/sfx/personagem/zombie_creature_03.ogg +0 -0
- package/assets/sfx/personagem/zombie_death_01.ogg +0 -0
- package/assets/sfx/personagem/zombie_death_02.ogg +0 -0
- package/assets/sfx/personagem/zombie_death_03.ogg +0 -0
- package/assets/sfx/personagem/zombie_death_04.ogg +0 -0
- package/assets/sfx/personagem/zombie_death_05.ogg +0 -0
- package/assets/sfx/personagem/zombie_death_06.ogg +0 -0
- package/assets/sfx/personagem/zombie_death_07.ogg +0 -0
- package/assets/sfx/personagem/zombie_death_08.ogg +0 -0
- package/assets/sfx/personagem/zombie_groan_01.ogg +0 -0
- package/assets/sfx/personagem/zombie_groan_02.ogg +0 -0
- package/assets/sfx/personagem/zombie_groan_03.ogg +0 -0
- package/assets/sfx/personagem/zombie_groan_04.ogg +0 -0
- package/assets/sfx/personagem/zombie_groan_05.ogg +0 -0
- package/assets/sfx/personagem/zombie_groan_06.ogg +0 -0
- package/assets/sfx/personagem/zombie_groan_07.ogg +0 -0
- package/assets/sfx/personagem/zombie_groan_08.ogg +0 -0
- package/assets/sfx/personagem/zombie_groan_09.ogg +0 -0
- package/assets/sfx/personagem/zombie_groan_10.ogg +0 -0
- package/assets/sfx/personagem/zombie_groan_11.ogg +0 -0
- package/assets/sfx/veiculos/car_door_open_01.ogg +0 -0
- package/assets/sfx/veiculos/car_door_shut_01.ogg +0 -0
- package/assets/sfx/veiculos/car_gear_shift_01.ogg +0 -0
- package/assets/sfx/veiculos/car_trunk_shut_01.ogg +0 -0
- package/assets/sfx/veiculos/car_window_01.ogg +0 -0
- package/assets/sfx/veiculos/car_window_02.ogg +0 -0
- package/assets/sfx/veiculos/engine_loop_car_high_01.ogg +0 -0
- package/assets/sfx/veiculos/engine_loop_car_idle_01.ogg +0 -0
- package/assets/sfx/veiculos/engine_start_run_stop_01.ogg +0 -0
- package/assets/sfx/veiculos/engine_start_run_stop_02.ogg +0 -0
- package/dist/chunk-7TLFY7VO.js +4170 -0
- package/dist/chunk-7TLFY7VO.js.map +1 -0
- package/dist/index.d.ts +228 -603
- package/dist/index.global.js +2958 -463
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +1088 -2044
- package/dist/index.js.map +1 -1
- package/dist/locale-BugSe8dA.d.ts +1071 -0
- package/dist/testing.d.ts +82 -0
- package/dist/testing.js +19 -0
- package/dist/testing.js.map +1 -0
- package/package.json +13 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { S as SampleSound, a as SampleLoader, B as BusId, b as SampleCrossover, F as Falloff, c as SoundBank, L as LoopRecipe, d as SoundRecipe, P as ParamRef, R as Range, e as Layer, f as SoundSet, g as SoundPlan, h as SamplePlan, A as AudioLoopHandle, i as LoopEntry, M as MixProfile, j as AudioEngine } from './locale-BugSe8dA.js';
|
|
2
|
+
export { k as ActionCheck, l as AudioBenchText, m as AudioChannel, n as AudioEngineOptions, o as AudioScenarioLike, p as AudioStats, q as AudioTestModule, r as AudioTestModuleOptions, s as Automation, t as BENCH_BANK, u as BUILD_ORDERS, v as BUS_IDS, w as BUS_PRIORITY, x as BuildOrder, y as BusSetting, C as CRITERIA, z as CRITERIA_TARGETS, D as CriterionId, E as CriterionResult, G as Curve, H as DEFAULT_CROSSOVER, I as DEFAULT_LISTENER, J as DEFAULT_MAX_VOICES, K as DEFAULT_MIX, N as DEFAULT_SAMPLE_CUTOFF_K, O as DEFAULT_SAMPLE_FALLOFF, Q as DEFAULT_SAMPLE_PITCH, T as DEFAULT_TAIL_GAIN, U as DeepPartial, V as DistanceMode, W as Envelope, X as EnvelopePoint, Y as FilterBank, Z as FilterSpec, _ as FormantVoiceSource, $ as LAYER_FLOOR, a0 as LayerSource, a1 as Listener, a2 as LoopOrder, a3 as LoopSet, a4 as MIX_PROFILES, a5 as MeasureOptions, a6 as Modulator, a7 as NoiseSource, a8 as OPEN_CUTOFF, a9 as OscSource, aa as PAN_LIMIT, ab as PAN_MIN_DISTANCE, ac as PlanInput, ad as PlannedAutomation, ae as PlannedEnvelopePoint, af as PlannedFilter, ag as PlannedLayer, ah as PlannedModulator, ai as PlannedSampleLayer, aj as PlannedSource, ak as PlayOptions, al as SAMPLE_ENVIRONMENTS, am as SFX_BLOWS, an as SFX_CATALOG, ao as SFX_CATEGORIES, ap as SFX_IMPACTS, aq as SFX_MATERIALS, ar as SampleEnvironment, as as SampleLayerRole, at as SampleLoadReport, au as SampleMemory, av as SampleOptions, aw as SamplePlanInput, ax as SampleRef, ay as SampleStatus, az as SampleStore, aA as SampleTail, aB as SampleTier, aC as SfxBlow, aD as SfxCategory, aE as SfxEntry, aF as SfxMaterial, aG as SfxPriority, aH as SfxState, aI as SoundRegistry, aJ as StartQueueOptions, aK as Time, aL as VOICE_GROUPS, aM as VoiceDecision, aN as VoiceGroup, aO as VoiceHandle, aP as VoiceManager, aQ as VoiceManagerOptions, aR as VoiceRefusal, aS as VoiceRequest, aT as VoiceStartEvent, aU as VoiceStats, aV as audioBenchTextOf, aW as busGain, aX as busPriority, aY as createAudioEngine, aZ as createAudioTestModule, a_ as createSampleStore, a$ as createSoundRegistry, b0 as createVoiceManager, b1 as crossGains, b2 as farMixAt, b3 as fetchLoader, b4 as impactSoundId, b5 as inlineLoader, b6 as limiterCurve, b7 as listenerDistance, b8 as measureCriteria, b9 as panFor, ba as pickTake, bb as planSample, bc as planSound, bd as recordOutput, be as resolveMix, bf as sampleCutoff, bg as sampleUrls, bh as sfxState, bi as tierFor } from './locale-BugSe8dA.js';
|
|
3
|
+
import { AudioSink } from '@adatechnology/game-contracts';
|
|
2
4
|
|
|
3
5
|
/** Deterministic mulberry32 generator; floats in [0, 1). The same generator the golden tool seeds `Math.random` with, so a team routine and its recipe draw the same numbers. */
|
|
4
6
|
declare function createRng(seed: number): () => number;
|
|
@@ -8,355 +10,159 @@ declare function streamFor(seed: number, name: string | number): () => number;
|
|
|
8
10
|
/** `min + random × (max − min)`: the form every team routine uses (`95 + Math.random() * 40`). */
|
|
9
11
|
declare function drawBetween(random: () => number, min: number, max: number): number;
|
|
10
12
|
|
|
13
|
+
declare const CALIBRATION_ID = "calibration_shot";
|
|
14
|
+
/** 16-bit PCM mono WAV bytes of the samples (clamped to ±1). */
|
|
15
|
+
declare function encodeWav(samples: Float32Array, sampleRate?: number): ArrayBuffer;
|
|
16
|
+
/** The calibration sound (weapons bus, every layer, fallback to the game's pistol noise class). */
|
|
17
|
+
declare const CALIBRATION_SOUND: SampleSound;
|
|
18
|
+
declare const CALIBRATION_LOOP_ID = "calibration_loop";
|
|
19
|
+
/** A steady hiss in three 0.6 s takes, crossed in 0.15 s: the loop the harness checks for seams (no dip, no gap where two takes meet). */
|
|
20
|
+
declare const CALIBRATION_LOOP_SOUND: SampleSound;
|
|
21
|
+
/** Whether a url is one of the calibration takes. */
|
|
22
|
+
declare const isCalibrationUrl: (url: string) => boolean;
|
|
23
|
+
/** Bytes of the calibration takes (made on demand, the same for the same name). Falls through to `next` for any other url. */
|
|
24
|
+
declare function calibrationLoader(next?: SampleLoader): SampleLoader;
|
|
25
|
+
|
|
11
26
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
declare const BUS_IDS: readonly ["weapons", "voices", "world", "ambience", "weather", "ui"];
|
|
16
|
-
type BusId = (typeof BUS_IDS)[number];
|
|
17
|
-
/** A named number: from `PlayOptions.params` or the recipe's `vars`, times `scale`, plus `add`. */
|
|
18
|
-
type ParamRef = {
|
|
19
|
-
readonly param: string;
|
|
20
|
-
readonly scale?: number;
|
|
21
|
-
readonly add?: number;
|
|
22
|
-
};
|
|
23
|
-
/** A number, a `[min, max]` drawn uniformly (`min + random × (max − min)`), or a named number. */
|
|
24
|
-
type Range = number | readonly [min: number, max: number] | ParamRef;
|
|
25
|
-
/** Seconds from the layer start: a range, the layer `'duration'`, or `'0.6d'` (0.6 × the layer duration). */
|
|
26
|
-
type Time = Range | 'duration' | `${number}d`;
|
|
27
|
-
type Curve = 'linear' | 'exp';
|
|
28
|
-
/**
|
|
29
|
-
* How an AudioParam moves:
|
|
30
|
-
* - `{ set }` assigns `.value`;
|
|
31
|
-
* - `{ set, to, curve, over }` assigns `.value`, then ramps to `to` at `over`;
|
|
32
|
-
* - `{ from }` calls `setValueAtTime(from)` at the start; with `to`, `curve` and `over` it then ramps to `to` (`'from'` is the value drawn for `from`: the art scene ramps a tone back to its own start when it gives no end).
|
|
27
|
+
* Measurements of rendered sound (pure, on plain sample arrays), for the criteria C1–C9: when it starts, how loud and how bright it is, which side
|
|
28
|
+
* it is on, how long it rings and how many separate hits a burst has.
|
|
33
29
|
*/
|
|
34
|
-
type
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
30
|
+
type Channels = readonly Float32Array[];
|
|
31
|
+
/** Linear amplitude to dBFS (−Infinity for 0). */
|
|
32
|
+
declare const dbOf: (amplitude: number) => number;
|
|
33
|
+
/** The loudest sample of every channel between two sample indexes (linear). */
|
|
34
|
+
declare function peakOf(channels: Channels, start?: number, end?: number): number;
|
|
35
|
+
/** Index of the loudest sample (any channel) between two indexes. */
|
|
36
|
+
declare function peakIndex(channels: Channels, start?: number, end?: number): number;
|
|
37
|
+
/** First sample index at or after `start` whose amplitude (any channel) reaches `threshold`, or −1. */
|
|
38
|
+
declare function onsetIndex(channels: Channels, start?: number, threshold?: number): number;
|
|
39
|
+
/** RMS of all channels between two indexes, dBFS. */
|
|
40
|
+
declare function rmsDb(channels: Channels, start: number, end: number): number;
|
|
41
|
+
/** Spectral centroid (Hz) of `size` samples from `start` (channels summed, Hann window, plain DFT): the brightness of the sound. */
|
|
42
|
+
declare function centroidHz(channels: Channels, sampleRate: number, start: number, size?: number): number;
|
|
43
|
+
/** Energy balance from −1 (all left) to 1 (all right) between two indexes. */
|
|
44
|
+
declare function balanceOf(left: Float32Array, right: Float32Array, start: number, end: number): number;
|
|
45
|
+
/** Seconds from `start` to the last 10 ms window louder than `floorDb` (how long the sound rings, tail included). */
|
|
46
|
+
declare function ringSeconds(channels: Channels, sampleRate: number, start: number, floorDb?: number): number;
|
|
45
47
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
+
* Separate hits in a burst: attacks of the 2 ms envelope, where it jumps to twice the mean of the 20 ms before it and reaches `threshold`, at least
|
|
49
|
+
* 30 ms apart (so a rapid fire over a long tail still counts every shot).
|
|
48
50
|
*/
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
readonly frequency: Automation;
|
|
54
|
-
readonly q?: Range;
|
|
55
|
-
/** The BiquadFilter gain (shelf and peaking types). */
|
|
56
|
-
readonly gain?: Range;
|
|
57
|
-
/** A gain node after the filter, for a parallel bank where each band has its own level (the game's scream formants). */
|
|
58
|
-
readonly level?: Range;
|
|
59
|
-
};
|
|
60
|
-
type FilterBank = {
|
|
61
|
-
readonly mode: 'serial' | 'parallel';
|
|
62
|
-
readonly bank: readonly FilterSpec[];
|
|
63
|
-
};
|
|
64
|
-
/** An LFO. `depth` is absolute, or a factor of the source start frequency. With `base`, gain modulation goes through its own gain stage (the game rotor). */
|
|
65
|
-
type Modulator = {
|
|
66
|
-
readonly target: 'gain' | 'frequency';
|
|
67
|
-
/** Left out, the oscillator keeps its default (sine) and no type is set. */
|
|
68
|
-
readonly wave?: OscillatorType;
|
|
69
|
-
readonly rate: Range;
|
|
70
|
-
readonly depth: Range | {
|
|
71
|
-
readonly scaleOf: 'frequency';
|
|
72
|
-
readonly factor: number;
|
|
73
|
-
};
|
|
74
|
-
readonly base?: number;
|
|
75
|
-
};
|
|
51
|
+
declare function countHits(channels: Channels, sampleRate: number, threshold: number): number;
|
|
52
|
+
/** Peak of the last `seconds` of a file against its own peak, dB (≤ −40: it fades out, it does not end on a cut). */
|
|
53
|
+
declare function endDropDb(channels: Channels, sampleRate: number, seconds?: number): number;
|
|
54
|
+
|
|
76
55
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
56
|
+
* The manifest the converter (`scripts/sfx-convert.mjs`) writes next to the converted files: every sound id with its takes per layer, the file
|
|
57
|
+
* facts the criteria check (rate, channels, peak, length) and where each file came from. `sampleBankFromManifest` turns it into a `SoundBank`
|
|
58
|
+
* of `SampleSound`s, with the bus and the numbers of each sound given by the caller.
|
|
79
59
|
*/
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
readonly
|
|
88
|
-
readonly
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
readonly
|
|
94
|
-
readonly
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
readonly
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
readonly
|
|
106
|
-
|
|
107
|
-
readonly
|
|
108
|
-
readonly
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
};
|
|
112
|
-
type LayerSource = NoiseSource | OscSource | FormantVoiceSource;
|
|
113
|
-
type Layer = {
|
|
114
|
-
/** Start, seconds after the sound starts. */
|
|
115
|
-
readonly at?: Range;
|
|
116
|
-
/** Overrides the recipe duration for this layer. */
|
|
117
|
-
readonly duration?: Range;
|
|
118
|
-
/** Seconds the source keeps running after the duration (the `+ 0.05` of the team routines). Default: the recipe's, else 0.05. */
|
|
119
|
-
readonly tail?: number;
|
|
120
|
-
/** The layer played `count` times, `spacing` seconds apart (the game's animal calls). */
|
|
121
|
-
readonly repeat?: {
|
|
122
|
-
readonly count: number;
|
|
123
|
-
readonly spacing: number;
|
|
60
|
+
|
|
61
|
+
/** Licences the SDK accepts (the files are redistributed on npm): public domain or attribution only. */
|
|
62
|
+
declare const SDK_LICENSES: readonly ["CC0", "CC-BY"];
|
|
63
|
+
type SdkLicense = (typeof SDK_LICENSES)[number];
|
|
64
|
+
type SfxFileEntry = {
|
|
65
|
+
/** Path from the manifest's folder: `armas/pistol_9mm_close_01.ogg`. */
|
|
66
|
+
readonly file: string;
|
|
67
|
+
readonly sampleRate: number;
|
|
68
|
+
readonly channels: number;
|
|
69
|
+
/** dBFS. */
|
|
70
|
+
readonly peak: number;
|
|
71
|
+
readonly seconds: number;
|
|
72
|
+
readonly source: string;
|
|
73
|
+
readonly author: string;
|
|
74
|
+
readonly license: SdkLicense;
|
|
75
|
+
};
|
|
76
|
+
/** The layers a file name can end in: `<id>_<layer>_<nn>` (`pistol_9mm_close_01`); a name without one is a `close` take. */
|
|
77
|
+
declare const SFX_LAYERS: readonly ["close", "far", "tail_in", "tail_out"];
|
|
78
|
+
type SfxLayer = (typeof SFX_LAYERS)[number];
|
|
79
|
+
type SfxManifestSound = {
|
|
80
|
+
readonly id: string;
|
|
81
|
+
readonly category: string;
|
|
82
|
+
readonly layers: Partial<Readonly<Record<SfxLayer, readonly SfxFileEntry[]>>>;
|
|
83
|
+
};
|
|
84
|
+
type SfxManifest = {
|
|
85
|
+
readonly version: 1;
|
|
86
|
+
readonly format: {
|
|
87
|
+
readonly codec: 'vorbis';
|
|
88
|
+
readonly sampleRate: number;
|
|
89
|
+
readonly channels: number;
|
|
90
|
+
readonly peakDb: number;
|
|
124
91
|
};
|
|
125
|
-
|
|
126
|
-
readonly gain?: Range;
|
|
127
|
-
/** Send to the reverb, 0..1 or more (the art scene uses up to 1.2). */
|
|
128
|
-
readonly wet?: number;
|
|
129
|
-
readonly source: LayerSource;
|
|
130
|
-
readonly filters?: FilterBank;
|
|
131
|
-
readonly modulators?: readonly Modulator[];
|
|
132
|
-
readonly envelope: Envelope;
|
|
133
|
-
};
|
|
134
|
-
/**
|
|
135
|
-
* Distance falloff of a sound's level:
|
|
136
|
-
* - `inverse_square`: `volume / (1 + d² × k)`; `cutoffK` also divides every lowpass cutoff by `1 + d × cutoffK` (the game's muffling);
|
|
137
|
-
* - `linear`: `max(0, 1 − d / range)`, silent at or below `minGain`;
|
|
138
|
-
* - `none`: no distance.
|
|
139
|
-
* `scale` multiplies the level (the game's boom is 1.4 at the source), and below `minGain` the sound is not played.
|
|
140
|
-
*/
|
|
141
|
-
type Falloff = {
|
|
142
|
-
readonly model: 'inverse_square';
|
|
143
|
-
readonly k: number;
|
|
144
|
-
readonly minGain?: number;
|
|
145
|
-
readonly cutoffK?: number;
|
|
146
|
-
readonly scale?: number;
|
|
147
|
-
} | {
|
|
148
|
-
readonly model: 'linear';
|
|
149
|
-
readonly range: number;
|
|
150
|
-
readonly minGain?: number;
|
|
151
|
-
readonly scale?: number;
|
|
152
|
-
} | {
|
|
153
|
-
readonly model: 'none';
|
|
92
|
+
readonly sounds: readonly SfxManifestSound[];
|
|
154
93
|
};
|
|
155
|
-
/**
|
|
156
|
-
|
|
157
|
-
* matches the trace of the team code node for node:
|
|
158
|
-
* - `layered` (default): the art scene's `sNoise`, `sTone` and `voice`; every layer has its own output stage (distance gain, pan, reverb send);
|
|
159
|
-
* - `burst`: the game's `sfx` (jogo L62089);
|
|
160
|
-
* - `scream`: the game's `grito` (L62128);
|
|
161
|
-
* - `groan`: the game's `voz` (L62143);
|
|
162
|
-
* - `boom`: the game's `boom` (L68278);
|
|
163
|
-
* - `static`: the game's `chiado` (L69998);
|
|
164
|
-
* - `chord`: the game's `buzina` (L70272);
|
|
165
|
-
* - `calls`: the game's `bichoSom` (L66625);
|
|
166
|
-
* - `siren`: the art scene's `siren` (L1369);
|
|
167
|
-
* - `weapon`: the weapon audio of the kit (`weapons-three`): per layer a filtered noise burst or an oscillator, then its own gain, chained to the bus.
|
|
168
|
-
* Every order but `layered` puts the level into the envelope and connects straight to the bus.
|
|
169
|
-
*/
|
|
170
|
-
declare const BUILD_ORDERS: readonly ["layered", "burst", "scream", "groan", "boom", "static", "chord", "calls", "siren", "weapon"];
|
|
171
|
-
type BuildOrder = (typeof BUILD_ORDERS)[number];
|
|
172
|
-
type SoundRecipe = {
|
|
173
|
-
readonly id: string;
|
|
94
|
+
/** The numbers of one sound that the files do not say (bus, curve, pitch...). */
|
|
95
|
+
type SampleDefaults = {
|
|
174
96
|
readonly bus: BusId;
|
|
175
|
-
readonly
|
|
176
|
-
|
|
177
|
-
readonly
|
|
178
|
-
readonly
|
|
179
|
-
readonly tail?: number;
|
|
180
|
-
readonly layers: readonly Layer[];
|
|
97
|
+
readonly gain?: number;
|
|
98
|
+
readonly pitch?: number;
|
|
99
|
+
readonly crossover?: SampleCrossover;
|
|
100
|
+
readonly tailGain?: number;
|
|
181
101
|
readonly falloff?: Falloff;
|
|
182
|
-
|
|
183
|
-
readonly pan?: boolean;
|
|
184
|
-
/** Voice group for the limiter (`undead_voice`...). */
|
|
102
|
+
readonly cutoffK?: number;
|
|
185
103
|
readonly group?: string;
|
|
186
|
-
/** Limiter priority; default from the bus (weapons > voices > world > ambience). */
|
|
187
104
|
readonly priority?: number;
|
|
188
|
-
|
|
189
|
-
* The team routine creates nodes before it checks the level (the game's `bichoSom` creates its gain and filter first): a silent sound is kept as
|
|
190
|
-
* a plan with `silent: true` so the realizer repeats those nodes. Off by default.
|
|
191
|
-
*/
|
|
192
|
-
readonly keepSilent?: boolean;
|
|
193
|
-
/** Where the numbers come from: `"jogo:L62128"`, `"cena:L1342"`, or `"sdk"` for values the kit chose. */
|
|
194
|
-
readonly sources: readonly string[];
|
|
105
|
+
readonly fallback?: string;
|
|
195
106
|
};
|
|
196
|
-
|
|
197
|
-
* The order the loop realizer creates the nodes in:
|
|
198
|
-
* - `game_loop`: the game's `loopSet` (L62109): gain and filter first, nodes created the first time the volume passes `startAbove`, gain from 0;
|
|
199
|
-
* - `chain_loop`: the art scene's loops in `initAudio` (L1314–1316): source, filters, gain at its starting volume, created when the loop opens.
|
|
200
|
-
*/
|
|
201
|
-
type LoopOrder = 'game_loop' | 'chain_loop';
|
|
202
|
-
type LoopRecipe = {
|
|
107
|
+
type SampleBankOptions = {
|
|
203
108
|
readonly id: string;
|
|
204
|
-
|
|
205
|
-
readonly
|
|
206
|
-
/**
|
|
207
|
-
readonly
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
};
|
|
215
|
-
readonly filters?: FilterBank;
|
|
216
|
-
readonly modulators?: readonly Modulator[];
|
|
217
|
-
/** `setTargetAtTime` time constants (jogo L62125–62126: 0.15 for the volume, 0.08 for the frequency). */
|
|
218
|
-
readonly smoothing?: {
|
|
219
|
-
readonly volume: number;
|
|
220
|
-
readonly frequency: number;
|
|
221
|
-
};
|
|
222
|
-
/** Nodes are created the first time the volume reaches this (jogo L62112: 0.002). */
|
|
223
|
-
readonly startAbove?: number;
|
|
224
|
-
/** Volume the gain starts at when the loop opens (`chain_loop`). */
|
|
225
|
-
readonly volume?: number;
|
|
226
|
-
readonly sources: readonly string[];
|
|
227
|
-
};
|
|
228
|
-
type SoundBank = {
|
|
109
|
+
/** Prefix of every url (where the manifest's folder is served: `/sfx/`). Default ''. */
|
|
110
|
+
readonly baseUrl?: string;
|
|
111
|
+
/** Numbers per sound id, or one function; a sound with neither is left out (it has no bus). */
|
|
112
|
+
readonly sounds?: Readonly<Record<string, SampleDefaults>>;
|
|
113
|
+
readonly defaults?: (sound: SfxManifestSound) => SampleDefaults | undefined;
|
|
114
|
+
};
|
|
115
|
+
/** The strength suffixes of a sound id (`kick_hit_heavy`): takes of the tiers of `kick_hit`, from these intensities. */
|
|
116
|
+
declare const SFX_TIERS: Readonly<Record<string, number>>;
|
|
117
|
+
/** Splits a file name (no extension) into its sound id, layer and take number. */
|
|
118
|
+
declare function parseSfxName(name: string): {
|
|
229
119
|
readonly id: string;
|
|
230
|
-
readonly
|
|
231
|
-
readonly
|
|
120
|
+
readonly layer: SfxLayer;
|
|
121
|
+
readonly take: number;
|
|
232
122
|
};
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
readonly
|
|
237
|
-
readonly yaw: number;
|
|
123
|
+
/** The base id and tier of a sound id: `kick_hit_heavy` → `kick_hit`, `heavy`. */
|
|
124
|
+
declare function splitTier(id: string): {
|
|
125
|
+
readonly base: string;
|
|
126
|
+
readonly tier?: string;
|
|
238
127
|
};
|
|
239
|
-
|
|
240
|
-
declare
|
|
241
|
-
/** The art scene clamps the pan to ±0.85 and never divides by less than 2 m (cena L1319). */
|
|
242
|
-
declare const PAN_LIMIT = 0.85;
|
|
243
|
-
declare const PAN_MIN_DISTANCE = 2;
|
|
244
|
-
/** Distance from the listener: on the ground (`xz`, the teams' choice) or in 3D. */
|
|
245
|
-
declare function listenerDistance(listener: Listener, position: Vec3, mode?: DistanceMode): number;
|
|
246
|
-
/** The art scene's `panFor`: the side the sound is on, −0.85 (left) to 0.85 (right). No HRTF, for cost. */
|
|
247
|
-
declare function panFor(listener: Listener, position: Vec3): number;
|
|
128
|
+
/** A bank of sample sounds from a manifest. */
|
|
129
|
+
declare function sampleBankFromManifest(manifest: SfxManifest, options: SampleBankOptions): SoundBank;
|
|
248
130
|
|
|
249
|
-
/**
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
readonly
|
|
263
|
-
readonly
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
readonly
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
readonly
|
|
278
|
-
} | {
|
|
279
|
-
readonly kind: 'osc';
|
|
280
|
-
readonly wave: OscillatorType;
|
|
281
|
-
readonly frequency: PlannedAutomation;
|
|
282
|
-
} | {
|
|
283
|
-
readonly kind: 'formant_voice';
|
|
284
|
-
readonly wave: OscillatorType;
|
|
285
|
-
readonly frequency: PlannedAutomation;
|
|
286
|
-
readonly vibrato: {
|
|
287
|
-
readonly rate: number;
|
|
288
|
-
readonly depth: number;
|
|
289
|
-
};
|
|
290
|
-
readonly formants: readonly {
|
|
291
|
-
readonly frequency: number;
|
|
292
|
-
readonly q: number;
|
|
293
|
-
}[];
|
|
294
|
-
readonly breath: {
|
|
295
|
-
readonly frequency: number;
|
|
296
|
-
readonly q: number;
|
|
297
|
-
readonly gain: number;
|
|
298
|
-
readonly offset: number;
|
|
299
|
-
};
|
|
300
|
-
readonly mix: number;
|
|
301
|
-
};
|
|
302
|
-
type PlannedEnvelopePoint = {
|
|
303
|
-
readonly time: number;
|
|
304
|
-
readonly value: number;
|
|
305
|
-
readonly curve: 'set' | Curve;
|
|
306
|
-
};
|
|
307
|
-
type PlannedLayer = {
|
|
308
|
-
readonly at: number;
|
|
309
|
-
readonly duration: number;
|
|
310
|
-
readonly tail: number;
|
|
311
|
-
/** Layer gain × the sound's level: in the envelope for every order but `layered`, in the output stage for `layered`. */
|
|
312
|
-
readonly level: number;
|
|
313
|
-
readonly wet?: number;
|
|
314
|
-
readonly source: PlannedSource;
|
|
315
|
-
readonly filters?: {
|
|
316
|
-
readonly mode: 'serial' | 'parallel';
|
|
317
|
-
readonly bank: readonly PlannedFilter[];
|
|
318
|
-
};
|
|
319
|
-
readonly modulators: readonly PlannedModulator[];
|
|
320
|
-
readonly envelope: readonly PlannedEnvelopePoint[];
|
|
321
|
-
};
|
|
322
|
-
/** A sound with every number decided: what the realizer builds, what goldens compare and what the bench sheet prints. */
|
|
323
|
-
type SoundPlan = {
|
|
324
|
-
readonly id: string;
|
|
325
|
-
readonly bus: BusId;
|
|
326
|
-
readonly order: BuildOrder;
|
|
327
|
-
readonly group?: string;
|
|
328
|
-
readonly priority: number;
|
|
329
|
-
/** The level from volume and distance, before layer gains. */
|
|
330
|
-
readonly level: number;
|
|
331
|
-
readonly distance: number;
|
|
332
|
-
readonly pan?: number;
|
|
333
|
-
/** Too quiet to hear, kept only for a recipe with `keepSilent`. */
|
|
334
|
-
readonly silent: boolean;
|
|
335
|
-
/** Seconds until the last source stops. */
|
|
336
|
-
readonly length: number;
|
|
337
|
-
readonly layers: readonly PlannedLayer[];
|
|
338
|
-
};
|
|
339
|
-
type PlanInput = {
|
|
340
|
-
/** Where the numbers are drawn from. Default: a fresh stream with seed 1. */
|
|
341
|
-
readonly random?: () => number;
|
|
342
|
-
readonly volume?: number;
|
|
343
|
-
/** Distance in meters; overrides `position`. */
|
|
344
|
-
readonly distance?: number;
|
|
345
|
-
readonly position?: Vec3;
|
|
346
|
-
readonly listener?: Listener;
|
|
347
|
-
readonly distanceMode?: DistanceMode;
|
|
348
|
-
readonly params?: Readonly<Record<string, number>>;
|
|
349
|
-
/** 0..1 from the host's occlusion callback: gain × (1 − 0.5 × o), lowpass cutoffs × (1 − 0.6 × o). */
|
|
350
|
-
readonly occlusion?: number;
|
|
351
|
-
/** Length of the noise buffer, for `offset: 'fit'`. Default 1.5. */
|
|
352
|
-
readonly noiseSeconds?: number;
|
|
131
|
+
/** The bus of a manifest category (the folder the file sits in). */
|
|
132
|
+
declare const KIT_CATEGORY_BUS: Readonly<Record<string, BusId>>;
|
|
133
|
+
/**
|
|
134
|
+
* Recipe id → file id. The recipe keeps playing until the takes of the file id load. Hand-worked leaves (doors, drawers) of `game-destruction-three`
|
|
135
|
+
* and the hand sounds of items.
|
|
136
|
+
*/
|
|
137
|
+
declare const KIT_SAMPLE_ALIASES: Readonly<Record<string, string>>;
|
|
138
|
+
/** The numbers of a sound the files do not say: the bus of its folder, a little pitch spread. */
|
|
139
|
+
declare function kitSampleDefaults(sound: SfxManifestSound): SampleDefaults | undefined;
|
|
140
|
+
type KitSampleBankOptions = {
|
|
141
|
+
/** Where the `assets/sfx/` folder is served (`./sfx/`). */
|
|
142
|
+
readonly baseUrl?: string;
|
|
143
|
+
/** Recipe id → file id (default `KIT_SAMPLE_ALIASES`); `{}` adds none. */
|
|
144
|
+
readonly aliases?: Readonly<Record<string, string>>;
|
|
145
|
+
readonly id?: string;
|
|
146
|
+
};
|
|
147
|
+
/** The manifest with each alias as one more sound, holding the takes of its file id. */
|
|
148
|
+
declare function withAliases(manifest: SfxManifest, aliases: Readonly<Record<string, string>>): SfxManifest;
|
|
149
|
+
/** The bank of the kit's files. */
|
|
150
|
+
declare function kitSampleBank(manifest: SfxManifest, options?: KitSampleBankOptions): SoundBank;
|
|
151
|
+
type LoadKitSamplesOptions = KitSampleBankOptions & {
|
|
152
|
+
/** Gets the manifest (default `fetch` of `<baseUrl>manifest.json`). */
|
|
153
|
+
readonly fetchManifest?: (url: string) => Promise<SfxManifest>;
|
|
154
|
+
/** Ids to load right away instead of on their first play (the sounds of the first seconds, so they are not the recipe). */
|
|
155
|
+
readonly preload?: readonly string[];
|
|
156
|
+
};
|
|
157
|
+
type Registers = {
|
|
158
|
+
register(bank: SoundBank): void;
|
|
159
|
+
loadSamples?(ids?: readonly string[]): Promise<unknown>;
|
|
353
160
|
};
|
|
354
161
|
/**
|
|
355
|
-
*
|
|
356
|
-
* `
|
|
357
|
-
* gives `null` (or a silent plan with `keepSilent`) before any number is drawn.
|
|
162
|
+
* Fetches the manifest and registers the bank on the engine. Resolves to the bank, or `null` when the manifest cannot be had (a page opened from
|
|
163
|
+
* `file://`, the folder not served): the recipes keep playing, so that is not an error.
|
|
358
164
|
*/
|
|
359
|
-
declare function
|
|
165
|
+
declare function loadKitSamples(engine: Registers, options?: LoadKitSamplesOptions): Promise<SoundBank | null>;
|
|
360
166
|
|
|
361
167
|
/** The distance curves of the team routines, by name. Each recipe carries its own; these are the values to copy. */
|
|
362
168
|
declare const DISTANCE_CURVES: {
|
|
@@ -406,68 +212,6 @@ declare function isSilent(falloff: Falloff | undefined, gain: number): boolean;
|
|
|
406
212
|
/** What every lowpass cutoff is divided by at `distance` (1 when the curve has no muffling). */
|
|
407
213
|
declare function cutoffDivisor(falloff: Falloff | undefined, distance: number): number;
|
|
408
214
|
|
|
409
|
-
/**
|
|
410
|
-
* Rules for a group of voices (`undead_voice`...). A request passes when every rule passes:
|
|
411
|
-
* - `maxConcurrent`: at most this many of the group play at once (`steal` replaces the group's oldest instead of refusing);
|
|
412
|
-
* - `cooldown`: seconds after an accepted voice before the next one (the game's `groanBudget`, jogo L66986 and L70472);
|
|
413
|
-
* - `maxDistance`: only voices nearer than this (the game's `d < 40`).
|
|
414
|
-
*/
|
|
415
|
-
type VoiceGroup = {
|
|
416
|
-
readonly maxConcurrent?: number;
|
|
417
|
-
readonly cooldown?: number;
|
|
418
|
-
readonly maxDistance?: number;
|
|
419
|
-
readonly steal?: boolean;
|
|
420
|
-
readonly sources?: readonly string[];
|
|
421
|
-
};
|
|
422
|
-
/** `undead_voice`: the art scene's five at once with the game's 0.25 s cooldown and 40 m. */
|
|
423
|
-
declare const VOICE_GROUPS: Readonly<Record<string, VoiceGroup>>;
|
|
424
|
-
/** Q7: weapons > voices > world > ambience; the interface above all, weather with the ambience. */
|
|
425
|
-
declare const BUS_PRIORITY: Readonly<Record<BusId, number>>;
|
|
426
|
-
declare const DEFAULT_MAX_VOICES = 32;
|
|
427
|
-
declare function busPriority(bus: BusId): number;
|
|
428
|
-
type VoiceRequest = {
|
|
429
|
-
readonly group?: string;
|
|
430
|
-
readonly priority: number;
|
|
431
|
-
/** Planned level; the global cap drops the lowest `priority × gain`. */
|
|
432
|
-
readonly gain: number;
|
|
433
|
-
readonly distance?: number;
|
|
434
|
-
/** Seconds the voice lasts. */
|
|
435
|
-
readonly length: number;
|
|
436
|
-
};
|
|
437
|
-
type VoiceRefusal = 'cooldown' | 'distance' | 'group_full' | 'global_full';
|
|
438
|
-
type VoiceDecision = {
|
|
439
|
-
readonly accepted: true;
|
|
440
|
-
readonly id: number;
|
|
441
|
-
readonly evicted: readonly number[];
|
|
442
|
-
} | {
|
|
443
|
-
readonly accepted: false;
|
|
444
|
-
readonly reason: VoiceRefusal;
|
|
445
|
-
};
|
|
446
|
-
type VoiceStats = {
|
|
447
|
-
readonly active: number;
|
|
448
|
-
readonly peak: number;
|
|
449
|
-
readonly dropped: number;
|
|
450
|
-
readonly maxVoices: number;
|
|
451
|
-
};
|
|
452
|
-
type VoiceManager = {
|
|
453
|
-
request(request: VoiceRequest): VoiceDecision;
|
|
454
|
-
/** Ends a voice early (stopped by the host). */
|
|
455
|
-
release(id: number): void;
|
|
456
|
-
/** Sets how long an accepted voice lasts (the engine admits a voice before its random length is drawn). */
|
|
457
|
-
setLength(id: number, seconds: number): void;
|
|
458
|
-
/** Moves time on: cooldowns count down and finished voices leave. Returns the ids that ended. */
|
|
459
|
-
advance(dt: number): number[];
|
|
460
|
-
setGroup(id: string, group: VoiceGroup | undefined): void;
|
|
461
|
-
stats(): VoiceStats;
|
|
462
|
-
};
|
|
463
|
-
type VoiceManagerOptions = {
|
|
464
|
-
/** Default `VOICE_GROUPS`. */
|
|
465
|
-
readonly groups?: Readonly<Record<string, VoiceGroup>>;
|
|
466
|
-
readonly maxVoices?: number;
|
|
467
|
-
};
|
|
468
|
-
/** The voice limiter: per-group rules, a global cap and priority dropping. Pure and time-driven (`advance`), so goldens script it frame by frame. */
|
|
469
|
-
declare function createVoiceManager(options?: VoiceManagerOptions): VoiceManager;
|
|
470
|
-
|
|
471
215
|
/** jogo L62112: a loop's nodes exist only once its volume reaches 0.002. */
|
|
472
216
|
declare const LOOP_START_ABOVE = 0.002;
|
|
473
217
|
/** jogo L62125–62126: `setTargetAtTime` time constants. */
|
|
@@ -498,64 +242,6 @@ type LoopState = {
|
|
|
498
242
|
*/
|
|
499
243
|
declare function createLoopState(recipe: LoopRecipe, open?: boolean): LoopState;
|
|
500
244
|
|
|
501
|
-
type BusSetting = {
|
|
502
|
-
readonly gain?: number;
|
|
503
|
-
readonly muted?: boolean;
|
|
504
|
-
};
|
|
505
|
-
/**
|
|
506
|
-
* A mixing chain. `master` → (compressor) → output; with `reverb`, a wet bus → convolver (an impulse from the engine's seed) → master. `noise` is
|
|
507
|
-
* the shared noise buffer: its length, and whether it is made with the chain (`eager`, the art scene) or by the first sound that needs it (`lazy`,
|
|
508
|
-
* the game). Buses sit under the master and have no node until one is changed.
|
|
509
|
-
*/
|
|
510
|
-
type MixProfile = {
|
|
511
|
-
readonly id: string;
|
|
512
|
-
readonly master: number;
|
|
513
|
-
readonly compressor?: {
|
|
514
|
-
readonly threshold: number;
|
|
515
|
-
readonly ratio: number;
|
|
516
|
-
readonly knee?: number;
|
|
517
|
-
readonly attack?: number;
|
|
518
|
-
readonly release?: number;
|
|
519
|
-
};
|
|
520
|
-
readonly reverb?: {
|
|
521
|
-
readonly seconds: number;
|
|
522
|
-
readonly decay: number;
|
|
523
|
-
readonly wet: number;
|
|
524
|
-
};
|
|
525
|
-
readonly noise: {
|
|
526
|
-
readonly seconds: number;
|
|
527
|
-
readonly create: 'lazy' | 'eager';
|
|
528
|
-
};
|
|
529
|
-
readonly buses?: Readonly<Partial<Record<BusId, BusSetting>>>;
|
|
530
|
-
readonly sources: readonly string[];
|
|
531
|
-
};
|
|
532
|
-
/** The two team chains: `game` (master 0.5, jogo L62080) and `art_scene` (compressor and reverb, cena L1305–1313). */
|
|
533
|
-
declare const MIX_PROFILES: Readonly<Record<string, MixProfile>>;
|
|
534
|
-
/** Q1: the kit plays through the art scene chain (compressor and reverb); `mix: 'game'` reverts. */
|
|
535
|
-
declare const DEFAULT_MIX = "art_scene";
|
|
536
|
-
/** A profile by id from `profiles`, or the profile itself. */
|
|
537
|
-
declare function resolveMix(mix: string | MixProfile, profiles?: Readonly<Record<string, MixProfile>>): MixProfile;
|
|
538
|
-
/** The gain a bus plays at: 0 when muted, its gain (default 1) otherwise. */
|
|
539
|
-
declare function busGain(setting: BusSetting | undefined): number;
|
|
540
|
-
|
|
541
|
-
type DeepPartial<TValue> = TValue extends readonly unknown[] ? TValue : TValue extends object ? {
|
|
542
|
-
readonly [Key in keyof TValue]?: DeepPartial<TValue[Key]>;
|
|
543
|
-
} : TValue;
|
|
544
|
-
/** Every sound and loop the engine knows, by id. Banks register in order; a later bank replaces an earlier recipe with the same id. */
|
|
545
|
-
type SoundRegistry = {
|
|
546
|
-
register(bank: SoundBank): void;
|
|
547
|
-
/** Merged into the recipe by id (objects merge, arrays such as `layers` are replaced); an unknown id is ignored. */
|
|
548
|
-
patch(id: string, patch: DeepPartial<SoundRecipe> | DeepPartial<LoopRecipe>): void;
|
|
549
|
-
remove(id: string): void;
|
|
550
|
-
sound(id: string): SoundRecipe | undefined;
|
|
551
|
-
loop(id: string): LoopRecipe | undefined;
|
|
552
|
-
soundIds(): string[];
|
|
553
|
-
loopIds(): string[];
|
|
554
|
-
/** Which bank each id came from. */
|
|
555
|
-
bankOf(id: string): string | undefined;
|
|
556
|
-
};
|
|
557
|
-
declare function createSoundRegistry(banks?: readonly SoundBank[]): SoundRegistry;
|
|
558
|
-
|
|
559
245
|
/** One row of the game's `sfx` table (jogo L62096–62100): lowpass cutoff, peak gain and seconds of a noise burst. */
|
|
560
246
|
type NoiseClass = {
|
|
561
247
|
readonly id: string;
|
|
@@ -640,106 +326,58 @@ declare const LIBRARY_SOUNDS: readonly SoundRecipe[];
|
|
|
640
326
|
declare const LIBRARY_LOOPS: readonly LoopRecipe[];
|
|
641
327
|
declare const LIBRARY_BANK: SoundBank;
|
|
642
328
|
|
|
643
|
-
/**
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
329
|
+
/** Small sounds of the hand: `vol / (1 + d² × 0.02)`, lowpass cutoffs `/ (1 + d × 0.04)`, silent below 0.004 (a latch at 10 m is a third, at 50 m gone). */
|
|
330
|
+
declare const FOLEY_FALLOFF: Falloff;
|
|
331
|
+
/** The doors and lids of furniture and vehicles, by what the leaf is (the room picks one from the item, else from the leaf's material). */
|
|
332
|
+
declare const LEAF_FOLEY: readonly SoundRecipe[];
|
|
333
|
+
/** What the hand does with an item: picking it up by what it is made of, throwing it, and the uses (opening, drinking, eating, first aid). */
|
|
334
|
+
declare const ITEM_FOLEY: readonly SoundRecipe[];
|
|
335
|
+
/** The foley bank: register it in the engine (`engine.register(FOLEY_BANK)`). */
|
|
336
|
+
declare const FOLEY_BANK: SoundBank;
|
|
337
|
+
/** What a picked-up item sounds like, by its heaviest material class. */
|
|
338
|
+
declare const PICKUP_CLASSES: readonly ["metal", "plastic", "glass", "paper", "fabric", "wood", "food"];
|
|
339
|
+
type PickupClass = (typeof PICKUP_CLASSES)[number];
|
|
340
|
+
/** The sound set of a leaf worked by hand: the ids it plays at the latch, while it turns, and as it meets the frame (gently, and slammed). */
|
|
341
|
+
type LeafFoley = {
|
|
342
|
+
readonly open: string;
|
|
343
|
+
readonly turn?: string;
|
|
344
|
+
readonly close: string;
|
|
345
|
+
readonly slam?: string;
|
|
346
|
+
readonly locked: string;
|
|
347
|
+
};
|
|
348
|
+
/** The leaf sound sets the kit ships, by name; an item names one (`TestableItem.sounds.leaves`), else the room picks `wood_door` or `metal_door` by the leaf's material. */
|
|
349
|
+
declare const LEAF_FOLEY_SETS: Readonly<Record<string, LeafFoley>>;
|
|
651
350
|
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
351
|
+
/** Takes per id. */
|
|
352
|
+
declare const BODY_FOLEY_TAKES = 4;
|
|
353
|
+
/** Footsteps fade fast with distance and lose their top: a step 10 m away is a quarter of the level, 30 m a few percent, and duller. */
|
|
354
|
+
declare const FOOTSTEP_FALLOFF: Falloff;
|
|
355
|
+
/** Blows and body sounds carry further than a step. */
|
|
356
|
+
declare const BODY_FALLOFF: Falloff;
|
|
357
|
+
/**
|
|
358
|
+
* Every body sound of `game-contracts`' `BODY_FOLEY_IDS` as a set of four takes (`footstep_concrete_walk` plays `footstep_concrete_walk_01`..`_04`,
|
|
359
|
+
* never the same twice in a row, at ±4% of rate). Register it in the engine the body plays on.
|
|
360
|
+
*/
|
|
361
|
+
declare const BODY_FOLEY_BANK: SoundBank;
|
|
362
|
+
/** The ids the bank answers (the sets), in the contract's order. */
|
|
363
|
+
declare const BODY_FOLEY_SET_IDS: readonly string[];
|
|
658
364
|
|
|
659
|
-
type PlayOptions = {
|
|
660
|
-
readonly position?: Vec3;
|
|
661
|
-
/** Meters; overrides `position` for the distance (not for the pan). */
|
|
662
|
-
readonly distance?: number;
|
|
663
|
-
readonly volume?: number;
|
|
664
|
-
readonly params?: Readonly<Record<string, number>>;
|
|
665
|
-
/** This sound's own stream: same seed, same sound. */
|
|
666
|
-
readonly seed?: number;
|
|
667
|
-
/** Seconds from now. */
|
|
668
|
-
readonly delay?: number;
|
|
669
|
-
/** A named stream of the engine (`streamFor(seed, name)`), so one subject never shifts another's sounds. */
|
|
670
|
-
readonly channel?: string;
|
|
671
|
-
};
|
|
672
|
-
type VoiceHandle = {
|
|
673
|
-
readonly id: number;
|
|
674
|
-
readonly plan: SoundPlan;
|
|
675
|
-
stop(): void;
|
|
676
|
-
};
|
|
677
|
-
/** A subject's own random stream; `ownNoise` also gives it its own noise buffer, filled from that stream (the order `createWeaponAudio` uses). */
|
|
678
|
-
type AudioChannel = {
|
|
679
|
-
readonly random: () => number;
|
|
680
|
-
play(id: string, options?: PlayOptions): VoiceHandle | null;
|
|
681
|
-
plan(id: string, options?: PlayOptions): SoundPlan | null;
|
|
682
|
-
};
|
|
683
|
-
type AudioStats = {
|
|
684
|
-
readonly context: 'none' | AudioContextState;
|
|
685
|
-
readonly voices: number;
|
|
686
|
-
readonly peak: number;
|
|
687
|
-
readonly dropped: number;
|
|
688
|
-
readonly maxVoices: number;
|
|
689
|
-
readonly loops: number;
|
|
690
|
-
};
|
|
691
|
-
type AudioEngineOptions = {
|
|
692
|
-
/** Seeds the engine stream: the noise, the reverb impulse and every sound played without its own seed or channel. Default 1. */
|
|
693
|
-
readonly seed?: number;
|
|
694
|
-
/** Default `art_scene` (Q1). */
|
|
695
|
-
readonly mix?: string | MixProfile;
|
|
696
|
-
readonly profiles?: Readonly<Record<string, MixProfile>>;
|
|
697
|
-
readonly banks?: readonly SoundBank[];
|
|
698
|
-
readonly maxVoices?: number;
|
|
699
|
-
readonly groups?: Readonly<Record<string, VoiceGroup>>;
|
|
700
|
-
readonly distance?: DistanceMode;
|
|
701
|
-
/** 0 (clear) to 1 (behind a wall) for a sound at a point; without it there is no occlusion (Q8). */
|
|
702
|
-
readonly occlusion?: (point: Vec3) => number;
|
|
703
|
-
readonly createContext?: () => AudioContext | null;
|
|
704
|
-
/** Build voices in timed slices between frames instead of inside `play` (a sound starts a few ms late; a burst never costs a frame). Off by default. */
|
|
705
|
-
readonly deferredStart?: StartQueueOptions;
|
|
706
|
-
};
|
|
707
|
-
type AudioEngine = {
|
|
708
|
-
readonly registry: SoundRegistry;
|
|
709
|
-
register(bank: SoundBank): void;
|
|
710
|
-
/** Pure: the plan a sound would play with, from `options.seed` or the engine seed; draws nothing from the live streams. */
|
|
711
|
-
plan(id: string, options?: PlayOptions): SoundPlan | null;
|
|
712
|
-
play(id: string, options?: PlayOptions): VoiceHandle | null;
|
|
713
|
-
playPlan(plan: SoundPlan, options?: {
|
|
714
|
-
readonly delay?: number;
|
|
715
|
-
}): VoiceHandle | null;
|
|
716
|
-
loop(id: string, options?: {
|
|
717
|
-
readonly volume?: number;
|
|
718
|
-
}): AudioLoopHandle;
|
|
719
|
-
channel(options: {
|
|
720
|
-
readonly seed?: number;
|
|
721
|
-
readonly random?: () => number;
|
|
722
|
-
readonly ownNoise?: boolean;
|
|
723
|
-
}): AudioChannel;
|
|
724
|
-
setListener(listener: Listener): void;
|
|
725
|
-
setBus(id: BusId, setting: BusSetting): void;
|
|
726
|
-
setMix(mix: string | MixProfile): void;
|
|
727
|
-
/** The master volume of the current chain and of any later one (0 to 1). */
|
|
728
|
-
setMaster(gain: number): void;
|
|
729
|
-
/** Creates the context and the mixing chain if needed and resumes it; call from a click or a key. */
|
|
730
|
-
unlock(): void;
|
|
731
|
-
/** Creates the context, the mixing chain (reverb impulse included) and the shared noise buffer now, so the first sound does not pay for them inside a frame. Returns false without a context. */
|
|
732
|
-
warmUp(): boolean;
|
|
733
|
-
stats(): AudioStats;
|
|
734
|
-
/** RMS (0 to 1) of what a bus carries now, read from an analyser the first time you ask; sounds started before that do not reach it. 0 without a context. */
|
|
735
|
-
level(bus: BusId): number;
|
|
736
|
-
dispose(): void;
|
|
737
|
-
};
|
|
738
365
|
/**
|
|
739
|
-
*
|
|
740
|
-
*
|
|
366
|
+
* A plan played faster or slower, as a tape would: every frequency (tones, filters, formants, LFOs) times `rate`, every time divided by it. Noise
|
|
367
|
+
* has no pitch of its own, so its colour moves with its filters. `rate` 1 gives the plan back.
|
|
741
368
|
*/
|
|
742
|
-
declare function
|
|
369
|
+
declare function retunePlan(plan: SoundPlan, rate: number): SoundPlan;
|
|
370
|
+
/** Remembers the last variant of each set, so the next draw never repeats it. */
|
|
371
|
+
type SetPicker = {
|
|
372
|
+
/** The variant to play and its rate, drawn from `random` (two numbers: the variant, then the rate). */
|
|
373
|
+
pick(set: SoundSet, random: () => number): {
|
|
374
|
+
readonly id: string;
|
|
375
|
+
readonly rate: number;
|
|
376
|
+
};
|
|
377
|
+
/** Forget the last variants (a fresh scene). */
|
|
378
|
+
reset(): void;
|
|
379
|
+
};
|
|
380
|
+
declare function createSetPicker(): SetPicker;
|
|
743
381
|
|
|
744
382
|
/** Where a plan is built: the context, the bus it plays into, the reverb send (if the mix has one), the shared noise and the start time. */
|
|
745
383
|
type RealizeTarget = {
|
|
@@ -756,6 +394,50 @@ type RealizedVoice = {
|
|
|
756
394
|
stop(): void;
|
|
757
395
|
};
|
|
758
396
|
|
|
397
|
+
type SampleTarget = {
|
|
398
|
+
readonly context: BaseAudioContext;
|
|
399
|
+
readonly output: AudioNode;
|
|
400
|
+
readonly buffer: (url: string) => AudioBuffer | undefined;
|
|
401
|
+
readonly time: number;
|
|
402
|
+
};
|
|
403
|
+
/** A sample voice can also be faded out (the choke of its sound). */
|
|
404
|
+
type RealizedSampleVoice = RealizedVoice & {
|
|
405
|
+
fade(at: number, seconds: number): void;
|
|
406
|
+
};
|
|
407
|
+
/**
|
|
408
|
+
* Builds a sample plan: each layer is a buffer source at the planned rate with its own gain, the layers meet in one voice gain (the choke fades it),
|
|
409
|
+
* one lowpass (left out when open) and one stereo panner (when the plan has a pan), then the bus. A layer whose buffer is not loaded is skipped.
|
|
410
|
+
*/
|
|
411
|
+
declare function realizeSample(plan: SamplePlan, target: SampleTarget): RealizedSampleVoice;
|
|
412
|
+
/** Seconds a sample plan lasts with its buffers (the longest layer, at its rate). */
|
|
413
|
+
declare function sampleLength(plan: SamplePlan, seconds: (url: string) => number | undefined): number;
|
|
414
|
+
|
|
415
|
+
/** The crossfade between two takes of a loop, in seconds, when `loop: true` gives none. */
|
|
416
|
+
declare const DEFAULT_LOOP_CROSSFADE = 0.25;
|
|
417
|
+
/** The crossfade of a looping sample sound, or `undefined` when it does not loop. */
|
|
418
|
+
declare function loopCrossfade(sound: SampleSound): number | undefined;
|
|
419
|
+
/** Steps of the equal-power ramps (straight lines between points of the sine and cosine quarter). */
|
|
420
|
+
declare const CROSSFADE_STEPS = 8;
|
|
421
|
+
/** The gain of an equal-power crossfade at `t` (0..1) for the take coming in; the take going out has the gain at `1 − t`. */
|
|
422
|
+
declare const equalPowerIn: (t: number) => number;
|
|
423
|
+
/** What a sample loop needs from its engine. */
|
|
424
|
+
type SampleLoopHost = {
|
|
425
|
+
ready(): AudioContext | null;
|
|
426
|
+
/** The node sample voices of a bus go to (the limiter of the bus). */
|
|
427
|
+
output(bus: BusId): AudioNode;
|
|
428
|
+
buffer(url: string): AudioBuffer | undefined;
|
|
429
|
+
isReady(sound: SampleSound): boolean;
|
|
430
|
+
/** Loads the files of the sound (resolves when they are decoded or failed). */
|
|
431
|
+
load(sound: SampleSound): Promise<unknown>;
|
|
432
|
+
/** The recipe loop that plays while the files are not ready. */
|
|
433
|
+
fallback(volume: number): AudioLoopHandle;
|
|
434
|
+
random(): number;
|
|
435
|
+
register(loop: LoopEntry): void;
|
|
436
|
+
unregister(loop: LoopEntry): void;
|
|
437
|
+
/** Whether a bus is muted now. */
|
|
438
|
+
muted(bus: BusId): boolean;
|
|
439
|
+
};
|
|
440
|
+
|
|
759
441
|
/** Builds a plan's nodes on `target`, in the node order of the team routine its `order` names. */
|
|
760
442
|
declare function realize(plan: SoundPlan, target: RealizeTarget): RealizedVoice;
|
|
761
443
|
|
|
@@ -797,61 +479,4 @@ type EngineSink = AudioSink & {
|
|
|
797
479
|
/** Lends an engine as the host's `audio`: sounds by key, loops, the listener, and banks registered into the same engine. */
|
|
798
480
|
declare function createAudioSink(engine: AudioEngine): EngineSink;
|
|
799
481
|
|
|
800
|
-
|
|
801
|
-
* Two probe sounds of the bench itself (a ping and a hiss), so panning, distance and the seed can be heard on something that has no subject. They are
|
|
802
|
-
* made by the kit, not delivered by any team (`sdk` in the sources).
|
|
803
|
-
*/
|
|
804
|
-
declare const BENCH_BANK: SoundBank;
|
|
805
|
-
type AudioTestModuleOptions = {
|
|
806
|
-
/** The engine to test (default: the one the host lends in `host.audio`, else a new one of the module's own). */
|
|
807
|
-
engine?: AudioEngine;
|
|
808
|
-
/** Banks registered in the engine besides the bench's probes (default the game's noise classes and the library). */
|
|
809
|
-
banks?: readonly SoundBank[];
|
|
810
|
-
locale?: string;
|
|
811
|
-
/** Text of a sound or loop id (`sound.glass`) in the game's words; without it the bench shows the bank and the id. */
|
|
812
|
-
translate?: (key: string, locale: string) => string | undefined;
|
|
813
|
-
seed?: number;
|
|
814
|
-
/** First sound chosen (default `bench_ping`). */
|
|
815
|
-
sound?: string;
|
|
816
|
-
/**
|
|
817
|
-
* Draws the thing the probe stands for, where the sound comes from with the `probe` source (for example a portable radio of `game-items-three`). The module
|
|
818
|
-
* draws nothing of its own: without it the area has no probe and the sounds come from the bench settings.
|
|
819
|
-
*/
|
|
820
|
-
probe?: (THREE: unknown) => unknown;
|
|
821
|
-
};
|
|
822
|
-
/** What the scenarios use of the context the test room passes. */
|
|
823
|
-
interface AudioScenarioLike {
|
|
824
|
-
expect(condition: boolean, label: string, data?: Record<string, unknown>): void;
|
|
825
|
-
}
|
|
826
|
-
type AudioTestModule = TestableModule<AudioScenarioLike> & {
|
|
827
|
-
/** The engine in use: the host's when it lent one, the module's own otherwise. */
|
|
828
|
-
readonly engine: AudioEngine;
|
|
829
|
-
/** The resolved plan of the chosen sound as text (the S3 view: every number decided). */
|
|
830
|
-
sheet(): string;
|
|
831
|
-
/** Plays the chosen sound as the bench is set. */
|
|
832
|
-
play(): VoiceHandle | null;
|
|
833
|
-
};
|
|
834
|
-
/**
|
|
835
|
-
* The sound area of a test room, written against the generic contracts only: it plays any sound of an engine at a distance and bearing from the listener
|
|
836
|
-
* (or from a probe standing in the area), runs loops, throws a storm of voices at the limiter, switches the mixing chain and its parts, reads the
|
|
837
|
-
* level of each bus and prints the resolved plan. The engine is the host's (`host.audio`) when lent, else the module's own.
|
|
838
|
-
*/
|
|
839
|
-
declare function createAudioTestModule(options?: AudioTestModuleOptions): AudioTestModule;
|
|
840
|
-
|
|
841
|
-
type AudioBenchText = {
|
|
842
|
-
readonly group: string;
|
|
843
|
-
readonly name: string;
|
|
844
|
-
readonly probe: string;
|
|
845
|
-
readonly controls: Readonly<Record<'sound' | 'distance' | 'bearing' | 'volume' | 'mix' | 'seed' | 'play' | 'voice_storm' | 'loop' | 'loop_level' | 'loop_pitch' | 'source', string>>;
|
|
846
|
-
readonly hints: Readonly<Record<'distance' | 'bearing' | 'mix' | 'seed' | 'voice_storm' | 'loop_pitch' | 'source', string>>;
|
|
847
|
-
readonly options: Readonly<Record<'none' | 'bench' | 'probe', string>>;
|
|
848
|
-
readonly layers: Readonly<Record<'reverb' | 'compressor' | 'panning' | 'muffling', string>>;
|
|
849
|
-
readonly metrics: Readonly<Record<'voices' | 'peak' | 'dropped' | 'loops' | 'context' | 'plan_length' | 'plan_level' | 'plan_pan' | 'level_weapons' | 'level_voices' | 'level_world' | 'level_ambience' | 'level_weather' | 'level_ui', string>>;
|
|
850
|
-
readonly scenarios: Readonly<Record<'panning' | 'distance' | 'determinism' | 'limiter', string>>;
|
|
851
|
-
readonly mixes: Readonly<Record<string, string>>;
|
|
852
|
-
/** Text of a sound or loop id when the game has one; the bench falls back to the id. */
|
|
853
|
-
readonly sheet: Readonly<Record<'title' | 'level' | 'distance' | 'pan' | 'length' | 'silent' | 'layer' | 'none', string>>;
|
|
854
|
-
};
|
|
855
|
-
declare const audioBenchTextOf: (locale: string) => AudioBenchText;
|
|
856
|
-
|
|
857
|
-
export { type AudioBenchText, type AudioChannel, type AudioEngine, type AudioEngineOptions, type AudioLoopHandle, type AudioScenarioLike, type AudioStats, type AudioTestModule, type AudioTestModuleOptions, type Automation, BENCH_BANK, BUILD_ORDERS, BUS_IDS, BUS_PRIORITY, type BuildOrder, type BusId, type BusSetting, type Curve, DEFAULT_LISTENER, DEFAULT_MAX_VOICES, DEFAULT_MIX, DISTANCE_CURVES, type DeepPartial, type DistanceCurveName, type DistanceMode, type EngineSink, type Envelope, type EnvelopePoint, type Falloff, type FilterBank, type FilterSpec, type FormantVoiceSource, GAME_SFX_BANK, GAME_SFX_CLASSES, GAME_SFX_FALLBACK, LIBRARY_BANK, LIBRARY_LOOPS, LIBRARY_SOUNDS, LOOP_SMOOTHING, LOOP_START_ABOVE, type Layer, type LayerSource, type Listener, type LoopAction, type LoopOrder, type LoopRecipe, type LoopState, MIX_PROFILES, type MixChain, type MixProfile, type Modulator, type NoiseClass, type NoiseSource, type OscSource, PAN_LIMIT, PAN_MIN_DISTANCE, type ParamRef, type PlanInput, type PlannedAutomation, type PlannedEnvelopePoint, type PlannedFilter, type PlannedLayer, type PlannedModulator, type PlannedSource, type PlayOptions, type Range, type RealizeTarget, type RealizedVoice, type SceneLength, type SceneNoise, type SceneRecipeOptions, type SceneTone, type SceneVoice, type SoundBank, type SoundPlan, type SoundRecipe, type SoundRegistry, type StartQueueOptions, type Time, VOICE_GROUPS, type VoiceDecision, type VoiceGroup, type VoiceHandle, type VoiceManager, type VoiceManagerOptions, type VoiceRefusal, type VoiceRequest, type VoiceStats, audioBenchTextOf, bufferOf, buildChain, busGain, busPriority, createAudioEngine, createAudioSink, createAudioTestModule, createLoopState, createRng, createSoundRegistry, createVoiceManager, cutoffDivisor, drawBetween, falloffGain, fillImpulse, fillNoise, globalContext, isSilent, listenerDistance, noiseClassRecipe, panFor, planSound, realize, resolveMix, sceneMany, sceneNoise, sceneRecipe, sceneTone, sceneVoice, streamFor, streamSeed, unlockContext };
|
|
482
|
+
export { AudioEngine, AudioLoopHandle, BODY_FALLOFF, BODY_FOLEY_BANK, BODY_FOLEY_SET_IDS, BODY_FOLEY_TAKES, BusId, CALIBRATION_ID, CALIBRATION_LOOP_ID, CALIBRATION_LOOP_SOUND, CALIBRATION_SOUND, CROSSFADE_STEPS, DEFAULT_LOOP_CROSSFADE, DISTANCE_CURVES, type DistanceCurveName, type EngineSink, FOLEY_BANK, FOLEY_FALLOFF, FOOTSTEP_FALLOFF, Falloff, GAME_SFX_BANK, GAME_SFX_CLASSES, GAME_SFX_FALLBACK, ITEM_FOLEY, KIT_CATEGORY_BUS, KIT_SAMPLE_ALIASES, type KitSampleBankOptions, LEAF_FOLEY, LEAF_FOLEY_SETS, LIBRARY_BANK, LIBRARY_LOOPS, LIBRARY_SOUNDS, LOOP_SMOOTHING, LOOP_START_ABOVE, Layer, type LeafFoley, type LoadKitSamplesOptions, type LoopAction, LoopRecipe, type LoopState, type MixChain, MixProfile, type NoiseClass, PICKUP_CLASSES, ParamRef, type PickupClass, Range, type RealizeTarget, type RealizedSampleVoice, type RealizedVoice, SDK_LICENSES, SFX_LAYERS, SFX_TIERS, type SampleBankOptions, SampleCrossover, type SampleDefaults, SampleLoader, type SampleLoopHost, SamplePlan, SampleSound, type SampleTarget, type SceneLength, type SceneNoise, type SceneRecipeOptions, type SceneTone, type SceneVoice, type SdkLicense, type SetPicker, type SfxFileEntry, type SfxLayer, type SfxManifest, type SfxManifestSound, SoundBank, SoundPlan, SoundRecipe, SoundSet, balanceOf, bufferOf, buildChain, calibrationLoader, centroidHz, countHits, createAudioSink, createLoopState, createRng, createSetPicker, cutoffDivisor, dbOf, drawBetween, encodeWav, endDropDb, equalPowerIn, falloffGain, fillImpulse, fillNoise, globalContext, isCalibrationUrl, isSilent, kitSampleBank, kitSampleDefaults, loadKitSamples, loopCrossfade, noiseClassRecipe, onsetIndex, parseSfxName, peakIndex, peakOf, realize, realizeSample, retunePlan, ringSeconds, rmsDb, sampleBankFromManifest, sampleLength, sceneMany, sceneNoise, sceneRecipe, sceneTone, sceneVoice, splitTier, streamFor, streamSeed, unlockContext, withAliases };
|