High pitched clicks when playing external MP3
Hi,
I've encountered an issue when trying to use external MP3 lumps with Doom. They load fine and play fine, but on several parts of each file I hear a high pitched clicking sound. This sound is not present when I play the file externally, only within Doomsday.
I use the Windows build.
My audio settings:
- Driver: FMOD_ex (SDL_Mixer crashes the game)
- Sound channels: 256
- Reverb str: 50
- 3d effects and reverb: ON
- One sound per emitter: OFF
- Resampling: 4x (44100Hz)
- 16 bit resampling: OFF
- Preferred music: External
- Soundfont: NONE
When I disable 3D effects the music becomes only noise. Changing the resampling options makes no difference.
These are the specs of the MP3 files:
Codec: MPEG Audio Layer 1/2/3 (mpga)
Channels: Stereo
Sample rate: 44100 Hz
Bit rate: 320 kb/s
This is my doomsday.out file but I doubt it'll be of help since I've found nothing useful inside.
Any help will be appreciated. Thanks!
I've encountered an issue when trying to use external MP3 lumps with Doom. They load fine and play fine, but on several parts of each file I hear a high pitched clicking sound. This sound is not present when I play the file externally, only within Doomsday.
I use the Windows build.
My audio settings:
- Driver: FMOD_ex (SDL_Mixer crashes the game)
- Sound channels: 256
- Reverb str: 50
- 3d effects and reverb: ON
- One sound per emitter: OFF
- Resampling: 4x (44100Hz)
- 16 bit resampling: OFF
- Preferred music: External
- Soundfont: NONE
When I disable 3D effects the music becomes only noise. Changing the resampling options makes no difference.
These are the specs of the MP3 files:
Codec: MPEG Audio Layer 1/2/3 (mpga)
Channels: Stereo
Sample rate: 44100 Hz
Bit rate: 320 kb/s
This is my doomsday.out file but I doubt it'll be of help since I've found nothing useful inside.
Application path: D:\Program Files (x86)\Doomsday\Bin\Doomsday.exe
Created a new 32.0 MB memory volume.
Config::read: modules/Config matches version [ 2, 0, 0, 1532 ]
Executable: Doomsday Engine 1.15.0 [#1532] (Unstable 32-bit) Mar 13 2015 04:00:07
Command line options:
0: ..\Bin\Doomsday.exe
1: -basedir
2: D:\Program Files (x86)\Doomsday/
3: -file
4: D:\Program Files (x86)\Doomsday\pwads\Doom1_Console.pk3
5: -file
6: D:\Program Files (x86)\Doomsday\pwads\Doom_MusicPSX.pk3
7: -file
8: D:\Program Files (x86)\Doomsday\pwads\Doom_SoundPSX.wad
9: -sfxchan
10: 256
11: -notexcomp
12: -game
13: doom1-ultimate
14: -iwad
15: D:\Program Files (x86)\Doomsday\iwads\DOOM.WAD
16: -userdir
17: C:\Users\Adolfo\Documents\Doomsday Frontend\runtime/
RenderSystem: Loading shader definitions from read-only archive entry "renderer.pack/
shaders.dei" [path "/data/net.dengine.client.pack/renderer.pack/
shaders.dei"] from archive in read-only "(basedir)\data\
net.dengine.client.pack"
^ : Loading shader definitions from read-only archive entry "renderer.pack/
lensflares.pack/shaders.dei" [path "/data/net.dengine.client.pack/renderer.pack/
lensflares.pack/shaders.dei"] from archive in read-only "(basedir)\data\
net.dengine.client.pack"
Joystick_Init: Joystick name: 7926896
OpenGL 3.3 supported
Sys_GLInitialize: OpenGL information:
Version: 4.5.0 NVIDIA 347.52
Renderer: GeForce GTX 660 Ti/PCIe/SSE2
Vendor: NVIDIA Corporation
Capabilities:
Compressed texture formats: 51
Use texture compression: no
Available texture units: 4
Maximum texture anisotropy: 16
Maximum texture size: 16384
Line width granularity: 0.125
Line width range: 0.5...10
^ : OpenGL Extensions:
^ : AMD extensions:
multi_draw_indirect, seamless_cubemap_per_texture
^ : ARB extensions:
ES2_compatibility, ES3_1_compatibility, ES3_compatibility, arrays_of_arrays,
base_instance, bindless_texture, blend_func_extended, buffer_storage,
clear_buffer_object, clear_texture, clip_control, color_buffer_float,
compatibility, compressed_texture_pixel_storage, compute_shader,
compute_variable_group_size, conditional_render_inverted, conservative_depth,
copy_buffer, copy_image, cull_distance, debug_output, depth_buffer_float,
depth_clamp, depth_texture, derivative_control, direct_state_access,
draw_buffers, draw_buffers_blend, draw_elements_base_vertex, draw_indirect,
draw_instanced, enhanced_layouts, explicit_attrib_location,
explicit_uniform_location, fragment_coord_conventions, fragment_layer_viewport,
fragment_program, fragment_program_shadow, fragment_shader,
framebuffer_no_attachments, framebuffer_object, framebuffer_sRGB,
geometry_shader4, get_program_binary, get_texture_sub_image, gpu_shader5,
gpu_shader_fp64, half_float_pixel, half_float_vertex, imaging,
indirect_parameters, instanced_arrays, internalformat_query,
internalformat_query2, invalidate_subdata, map_buffer_alignment,
map_buffer_range, multi_bind, multi_draw_indirect, multisample, multitexture,
occlusion_query, occlusion_query2, pipeline_statistics_query,
pixel_buffer_object, point_parameters, point_sprite, program_interface_query,
provoking_vertex, query_buffer_object, robust_buffer_access_behavior, robustness,
sample_shading, sampler_objects, seamless_cube_map, seamless_cubemap_per_texture,
separate_shader_objects, shader_atomic_counters, shader_bit_encoding,
shader_draw_parameters, shader_group_vote, shader_image_load_store,
shader_image_size, shader_objects, shader_precision,
shader_storage_buffer_object, shader_subroutine, shader_texture_image_samples,
shader_texture_lod, shading_language_100, shading_language_420pack,
shading_language_include, shading_language_packing, shadow, sparse_buffer,
sparse_texture, stencil_texturing, sync, tessellation_shader, texture_barrier,
texture_border_clamp, texture_buffer_object, texture_buffer_object_rgb32,
texture_buffer_range, texture_compression, texture_compression_bptc,
texture_compression_rgtc, texture_cube_map, texture_cube_map_array,
texture_env_add, texture_env_combine, texture_env_crossbar, texture_env_dot3,
texture_float, texture_gather, texture_mirror_clamp_to_edge,
texture_mirrored_repeat, texture_multisample, texture_non_power_of_two,
texture_query_levels, texture_query_lod, texture_rectangle, texture_rg,
texture_rgb10_a2ui, texture_stencil8, texture_storage,
texture_storage_multisample, texture_swizzle, texture_view, timer_query,
transform_feedback2, transform_feedback3, transform_feedback_instanced,
transform_feedback_overflow_query, transpose_matrix, uniform_buffer_object,
vertex_array_bgra, vertex_array_object, vertex_attrib_64bit,
vertex_attrib_binding, vertex_buffer_object, vertex_program, vertex_shader,
vertex_type_10f_11f_11f_rev, vertex_type_2_10_10_10_rev, viewport_array,
window_pos
^ : ATI extensions:
draw_buffers, texture_float, texture_mirror_once
^ : EXT extensions:
Cg_shader, abgr, bgra, bindable_uniform, blend_color, blend_equation_separate,
blend_func_separate, blend_minmax, blend_subtract, compiled_vertex_array,
depth_bounds_test, direct_state_access, draw_buffers2, draw_instanced,
draw_range_elements, fog_coord, framebuffer_blit, framebuffer_multisample,
framebuffer_multisample_blit_scaled, framebuffer_object, framebuffer_sRGB,
geometry_shader4, gpu_program_parameters, gpu_shader4, import_sync_object,
multi_draw_arrays, packed_depth_stencil, packed_float, packed_pixels,
pixel_buffer_object, point_parameters, polygon_offset_clamp, provoking_vertex,
rescale_normal, secondary_color, separate_shader_objects,
separate_specular_color, shader_image_load_store, shader_integer_mix,
shadow_funcs, stencil_two_side, stencil_wrap, texture3D, texture_array,
texture_buffer_object, texture_compression_dxt1, texture_compression_latc,
texture_compression_rgtc, texture_compression_s3tc, texture_cube_map,
texture_edge_clamp, texture_env_add, texture_env_combine, texture_env_dot3,
texture_filter_anisotropic, texture_integer, texture_lod, texture_lod_bias,
texture_mirror_clamp, texture_object, texture_sRGB, texture_sRGB_decode,
texture_shared_exponent, texture_storage, texture_swizzle, timer_query,
transform_feedback2, vertex_array, vertex_array_bgra, vertex_attrib_64bit
^ : EXTX extensions:
framebuffer_mixed_formats
^ : IBM extensions:
rasterpos_clip, texture_mirrored_repeat
^ : KHR extensions:
blend_equation_advanced, context_flush_control, debug,
robust_buffer_access_behavior, robustness
^ : KTX extensions:
buffer_region
^ : NV extensions:
ES1_1_compatibility, ES3_1_compatibility, bindless_multi_draw_indirect,
bindless_multi_draw_indirect_count, bindless_texture, blend_equation_advanced,
blend_square, compute_program5, conditional_render, copy_depth_to_color,
copy_image, depth_buffer_float, depth_clamp, draw_texture, explicit_multisample,
fence, float_buffer, fog_distance, fragment_program, fragment_program2,
fragment_program_option, framebuffer_multisample_coverage, geometry_shader4,
gpu_program4, gpu_program4_1, gpu_program5, gpu_program5_mem_extended,
gpu_program_fp64, gpu_shader5, half_float, internalformat_sample_query,
light_max_exponent, multisample_coverage, multisample_filter_hint,
occlusion_query, packed_depth_stencil, parameter_buffer_object,
parameter_buffer_object2, path_rendering, pixel_data_range, point_sprite,
primitive_restart, register_combiners, register_combiners2,
shader_atomic_counters, shader_atomic_float, shader_buffer_load,
shader_storage_buffer_object, shader_thread_group, shader_thread_shuffle,
texgen_reflection, texture_barrier, texture_compression_vtc,
texture_env_combine4, texture_multisample, texture_rectangle, texture_shader,
texture_shader2, texture_shader3, transform_feedback, transform_feedback2,
uniform_buffer_unified_memory, vertex_array_range, vertex_array_range2,
vertex_attrib_integer_64bit, vertex_buffer_unified_memory, vertex_program,
vertex_program1_1, vertex_program2, vertex_program2_option, vertex_program3
^ : NVX extensions:
conditional_render, gpu_memory_info, nvenc_interop
^ : S3 extensions:
s3tc
^ : SGIS extensions:
generate_mipmap, texture_lod
^ : SGIX extensions:
depth_texture, shadow
^ : SUN extensions:
slice_accum
^ : WGL extensions:
EXT_swap_control
^ : WIN extensions:
swap_hint
^ : Extensions (WGL):
^ : WGL extensions:
ARB_buffer_region, ARB_context_flush_control, ARB_create_context,
ARB_create_context_profile, ARB_create_context_robustness, ARB_extensions_string,
ARB_make_current_read, ARB_multisample, ARB_pbuffer, ARB_pixel_format,
ARB_pixel_format_float, ARB_render_texture, ATI_pixel_format_float,
EXT_create_context_es2_profile, EXT_create_context_es_profile,
EXT_extensions_string, EXT_framebuffer_sRGB, EXT_pixel_format_packed_float,
EXT_swap_control, EXT_swap_control_tear, NVX_DX_interop, NV_DX_interop,
NV_DX_interop2, NV_copy_image, NV_delay_before_swap, NV_float_buffer,
NV_multisample_coverage, NV_render_depth_texture, NV_render_texture_rectangle
FMOD Sound System (c) Firelight Technologies Pty, Ltd., 1994-2013
Audio configuration:
CD: FMOD/CD
Music: FMOD/Ext
SFX: FMOD
Initialized 256 sound effect channels
Using SteamApps path: d:\program files (x86)\steam\SteamApps\common
User-supplied IWAD path: "D:/Program Files (x86)/Doomsday/iwads/"
Locating "HACX - Twitch 'n Kill"...
- hacx.wad: "(basedir)\iwads\HACX.WAD"
- libdoom.pk3: "(basedir)\data\jdoom\libdoom.pk3"
=> Playable
Locating "Chex(R) Quest"...
! chex.wad: missing
- libdoom.pk3: "(basedir)\data\jdoom\libdoom.pk3"
=> Not playable (incomplete resources)
Locating "Final DOOM: TNT: Evilution"...
- tnt.wad: "(basedir)\iwads\TNT.WAD"
- libdoom.pk3: "(basedir)\data\jdoom\libdoom.pk3"
=> Playable
Locating "Final DOOM: The Plutonia Experiment"...
- plutonia.wad: "(basedir)\iwads\PLUTONIA.WAD"
- libdoom.pk3: "(basedir)\data\jdoom\libdoom.pk3"
=> Playable
Locating "DOOM 2: Hell on Earth"...
- doom2.wad or doom2f.wad: "(basedir)\iwads\DOOM2.WAD"
- libdoom.pk3: "(basedir)\data\jdoom\libdoom.pk3"
=> Playable
Locating "Ultimate DOOM"...
- doom.wad or doomu.wad: "(basedir)\iwads\DOOM.WAD"
- libdoom.pk3: "(basedir)\data\jdoom\libdoom.pk3"
=> Playable
Locating "DOOM Registered"...
- doom.wad: "(basedir)\iwads\DOOM.WAD"
- libdoom.pk3: "(basedir)\data\jdoom\libdoom.pk3"
=> Playable
Locating "DOOM Shareware"...
! doom1.wad: missing
- libdoom.pk3: "(basedir)\data\jdoom\libdoom.pk3"
=> Not playable (incomplete resources)
Locating "Heretic: Shadow of the Serpent Riders"...
- heretic.wad: "(basedir)\iwads\HERETIC.WAD"
- libheretic.pk3: "(basedir)\data\jheretic\libheretic.pk3"
=> Playable
Locating "Heretic Registered"...
- heretic.wad: "(basedir)\iwads\HERETIC.WAD"
- libheretic.pk3: "(basedir)\data\jheretic\libheretic.pk3"
=> Playable
Locating "Heretic Shareware"...
! heretic1.wad: missing
- libheretic.pk3: "(basedir)\data\jheretic\libheretic.pk3"
=> Not playable (incomplete resources)
Locating "Hexen: Deathkings of the Dark Citadel"...
- hexen.wad: "(basedir)\iwads\HEXEN.WAD"
- hexdd.wad: "(basedir)\iwads\HEXDD.WAD"
- libhexen.pk3: "(basedir)\data\jhexen\libhexen.pk3"
=> Playable
Locating "Hexen"...
- libhexen.pk3: "(basedir)\data\jhexen\libhexen.pk3"
- hexen.wad: "(basedir)\iwads\HEXEN.WAD"
=> Playable
Locating "Hexen v1.0"...
! hexen.wad: missing
- libhexen.pk3: "(basedir)\data\jhexen\libhexen.pk3"
=> Not playable (incomplete resources)
Locating "Hexen 4-map Demo"...
! hexen.wad or machexendemo.wad or hexendemo.wad: missing
- libhexen.pk3: "(basedir)\data\jhexen\libhexen.pk3"
=> Not playable (incomplete resources)
Locating "Hexen 4-map Beta Demo"...
! hexen.wad or hexenbeta.wad or machexendemo.wad or hexendemo.wad: missing
- libhexen.pk3: "(basedir)\data\jhexen\libhexen.pk3"
=> Not playable (incomplete resources)
Selecting game 'doom1-ultimate'...
Path "auto" now mapped to "data\jdoom\auto"
Path "auto" now mapped to "defs\jdoom\auto"
Loading game resources...
IWAD identification: 0xdb003a
ResourceSystem > loadCompositeTextureDefs:
Loaded all 125 texture definitions from "(basedir)\iwads\DOOM.WAD:(basedir)\
TEXTURE1.lmp"
^ : Loaded all 162 texture definitions from "(basedir)\iwads\DOOM.WAD:(basedir)\
TEXTURE2.lmp"
^ : Loaded all 228 texture definitions from "(basedir)\data\jdoom\auto\
Doom1_Level_Console.wad:(basedir)\TEXTURE1.lmp"
^ : Loaded all 213 texture definitions from "(basedir)\data\jdoom\auto\
Doom1_Level_Console.wad:(basedir)\TEXTURE2.lmp"
ResourceSystem: Ignoring invalid sprite name '_PSX'
Parsing primary config "configs\doom\game.cfg"...
Def_Read: Parsing definition files...
^ > IdTech1Converter > MapInfoTranslator > MapInfoParser: MAPINFO Map.enterPic is not
supported.
^ : MAPINFO Map.exitPic is not supported.
^ : MAPINFO Map.enterPic is not supported.
^ : MAPINFO Map.exitPic is not supported.
^ : MAPINFO Map.enterPic is not supported.
^ : MAPINFO Map.exitPic is not supported.
^ : MAPINFO Map.cyberdemonSpecial is not supported.
^ : MAPINFO Map.specialaction_opendoor is not supported.
^ : MAPINFO Map.enterPic is not supported.
^ : MAPINFO Map.exitPic is not supported.
^ : MAPINFO Map.enterPic is not supported.
^ : MAPINFO Map.exitPic is not supported.
^ : MAPINFO Map.enterPic is not supported.
^ : MAPINFO Map.exitPic is not supported.
^ : MAPINFO Map.enterPic is not supported.
^ : MAPINFO Map.exitPic is not supported.
^ : MAPINFO Map.next EndGame directives are not supported.
^ : MAPINFO Map.noSoundClipping is not supported.
^ : MAPINFO Map.spidermastermindSpecial is not supported.
^ : MAPINFO Map.specialaction_opendoor is not supported.
^ : MAPINFO Map.enterPic is not supported.
^ : MAPINFO Map.exitPic is not supported.
^ : MAPINFO Map.enterPic is not supported.
^ : MAPINFO Map.exitPic is not supported.
^ : MAPINFO Cluster definitions are not supported.
Def_Read: Definitions:
^ : 6 episodes
28 animation groups
6 composite fonts
9 finales
9 lights
2 line types
47 map infos
7 materials
19 particle generators
5 skies
127 songs
110 sound effects
139 sprite names
1001 states
49 surface decorations
369 text strings
8 texture environments
141 things
ResourceSystem: Model init completed in 0.00 seconds
Known maps:
0: E1M1 "(basedir)\data\jdoom\auto\Doom1_Level_Sewers.wad"
1: E1M10 "(basedir)\data\jdoom\auto\Doom1_Level_Sewers.wad"
2: E1M2 "(basedir)\iwads\DOOM.WAD"
3: E1M3 "(basedir)\iwads\DOOM.WAD"
4: E1M4 "(basedir)\iwads\DOOM.WAD"
5: E1M5 "(basedir)\iwads\DOOM.WAD"
6: E1M6 "(basedir)\iwads\DOOM.WAD"
7: E1M7 "(basedir)\iwads\DOOM.WAD"
8: E1M8 "(basedir)\iwads\DOOM.WAD"
9: E1M9 "(basedir)\iwads\DOOM.WAD"
10: E2M1 "(basedir)\iwads\DOOM.WAD"
11: E2M2 "(basedir)\iwads\DOOM.WAD"
12: E2M3 "(basedir)\iwads\DOOM.WAD"
13: E2M4 "(basedir)\iwads\DOOM.WAD"
14: E2M5 "(basedir)\iwads\DOOM.WAD"
15: E2M6 "(basedir)\iwads\DOOM.WAD"
16: E2M7 "(basedir)\iwads\DOOM.WAD"
17: E2M8 "(basedir)\iwads\DOOM.WAD"
18: E2M9 "(basedir)\iwads\DOOM.WAD"
19: E3M1 "(basedir)\iwads\DOOM.WAD"
20: E3M2 "(basedir)\iwads\DOOM.WAD"
21: E3M3 "(basedir)\iwads\DOOM.WAD"
22: E3M4 "(basedir)\iwads\DOOM.WAD"
23: E3M5 "(basedir)\iwads\DOOM.WAD"
24: E3M6 "(basedir)\iwads\DOOM.WAD"
25: E3M7 "(basedir)\iwads\DOOM.WAD"
26: E3M8 "(basedir)\iwads\DOOM.WAD"
27: E3M9 "(basedir)\iwads\DOOM.WAD"
28: E4M1 "(basedir)\iwads\DOOM.WAD"
29: E4M2 "(basedir)\iwads\DOOM.WAD"
30: E4M3 "(basedir)\iwads\DOOM.WAD"
31: E4M4 "(basedir)\iwads\DOOM.WAD"
32: E4M5 "(basedir)\iwads\DOOM.WAD"
33: E4M6 "(basedir)\iwads\DOOM.WAD"
34: E4M7 "(basedir)\iwads\DOOM.WAD"
35: E4M8 "(basedir)\iwads\DOOM.WAD"
36: E4M9 "(basedir)\iwads\DOOM.WAD"
37: E5M1 "(basedir)\data\jdoom\auto\Doom1_Level_Console.wad"
38: E5M2 "(basedir)\data\jdoom\auto\Doom1_Level_Console.wad"
39: E5M3 "(basedir)\data\jdoom\auto\Doom1_Level_Console.wad"
40: E5M4 "(basedir)\data\jdoom\auto\Doom1_Level_Console.wad"
41: E5M5 "(basedir)\data\jdoom\auto\Doom1_Level_Console.wad"
42: E5M6 "(basedir)\data\jdoom\auto\Doom1_Level_Console.wad"
43: E5M7 "(basedir)\data\jdoom\auto\Doom1_Level_Console.wad"
44: E5M8 "(basedir)\data\jdoom\auto\Doom1_Level_Console.wad"
45: E5M9 "(basedir)\data\jdoom\auto\Doom1_Level_Console.wad"
Found 46 maps in total.
Ultimate DOOM
InFineSystem > FinaleInterpreter > S_StartMusic:
Starting music 'intro'
MasterWorker: Received 7 servers from master
InFineSystem > FinaleInterpreter > S_StartMusic:
Starting music 'intro'
^ : Starting music 'intro'
Unloaded game
Z_Shutdown: Used 1 volumes, total 33554432 bytes.
Restoring original display mode due to shutdown
Any help will be appreciated. Thanks!
Comments
Do the "clicks" occur at the same points during a song each time it is played? Do they occur only when the song loops?
A quick search for "fmod ex mp3 clicks" found a similar sounding report in the FMOD knowledge base - does this sound like your issue?
The clicks always occur at the same points of each song, however, they don't happen when the mp3 loops, they happen every time.
I have a Realtek onboard soundcard. It seems to be an issue with FMod EX, not Doomsday.
I'd try changing drivers for the time being, but when I change the sound driver to DirectSound or OpenAL, I get no music. Do I need an additional requirement for those to work?
Thanks for the reply!
SDL_mixer *should* be working though I haven't tested this recently, myself. Does the log provide any additional info about that crash you mentioned when using this plugin?
But whenever I have tried to separate the ogg's from the mods they are apart of (such as put them in another wad), they then appear to start playing fine.
I just updated my drivers and the problem persists.
I thought this could have been my problem. I had the mp3s inside a pk3 file, so I tried extracting them and playing them outside the compressed file. The crackling persisted.
However I've managed to temporarily solve the problem: the clicking/crackling does not occur when I play an ogg. For now, I've re-encoded all the mp3 files to ogg format to get rid of the problem.