Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Holering

Midi issues in Linux with timidity (SDL_mixer) and GUS patches.

Recommended Posts

Trying to use gravis ultrasound Propatches lite 1.61 that come with GUS dos drivers with gus emulation in zdoom, and timidity (SDL_mixer version); in Linux. http://vogons.zetafleet.com/viewtopic.php?t=16974

Get bad distortion and what seems like clipping with bassdrums (not exactly sure if it's clipping but it's awful) and other noises. Using EAWPATS via timidity (SDL_mixer) work but I really prefer Propatches lite or standard GUS driver pats since I used both with a gravis ultrasound and K6 back in the day and it sounds so much better (thankfully they can be heard properly with dosbox); EAWPATS has a very modern, clean and artificial sound. Chocolate-doom, prboom-plus and eternity have this problem in linux (using Slackware64 14) though it's really sdl_mixer's fault.

Funnily enough zdoom has no problem with timidity in linux (I'm guessing it uses Timidity++ instead of sdl_mixer's timidity) but when I point to the ULTRASND/MIDI folder via zdoom.ini and choose gus midi for music, the distortion comes right back!

I'm using the most basic .cfg in the ULTRASND/MIDI folder (propatches lite 1.61). This is what it looks like:

bank 0

0 acpiano
1 britepno
2 synpiano
3 honky
4 epiano1
5 epiano2
6 hrpschrd
7 clavinet
8 celeste
9 glocken
10 musicbox
11 vibes
12 marimba
13 xylophon
14 tubebell
15 santur
16 homeorg
17 percorg
18 rockorg
19 church
20 reedorg
21 accordn
22 harmonca
23 concrtna
24 nyguitar
25 acguitar
26 jazzgtr
27 cleangtr
28 mutegtr
29 odguitar
30 distgtr
31 gtrharm
32 acbass
33 fngrbass
34 pickbass
35 fretless
36 slapbas1
37 slapbas2
38 synbass1
39 synbass2
40 violin
41 viola
42 cello
43 contraba
44 tremstr
45 pizzcato
46 harp
47 timpani
48 marcato
49 slowstr
50 synstr1
51 synstr2
52 choir
53 doo
54 voices
55 orchhit
56 trumpet
57 trombone
58 tuba
59 mutetrum
60 frenchrn
61 hitbrass
62 synbras1
63 synbras2
64 sprnosax
65 altosax
66 tenorsax
67 barisax
68 oboe
69 englhorn
70 bassoon
71 clarinet
72 piccolo
73 flute
74 recorder
75 woodflut
76 bottle
77 shakazul
78 whistle
79 ocarina
80 sqrwave
81 sawwave
82 calliope
83 chiflead
84 charang
85 voxlead
86 lead5th
87 basslead
88 fantasia
89 warmpad
90 polysyn
91 ghostie
92 bowglass
93 metalpad
94 halopad
95 sweeper
96 aurora
97 soundtrk
98 crystal
99 atmosphr
100 freshair
101 unicorn
102 echovox
103 startrak
104 sitar
105 banjo
106 shamisen
107 koto
108 kalimba
109 bagpipes
110 fiddle
111 shannai
112 carillon
113 agogo
114 steeldrm
115 woodblk
116 taiko
117 toms
118 syntom
119 revcym
120 fx-fret
121 fx-blow
122 seashore
123 jungle
124 telephon
125 helicptr
126 applause
127 pistol

drumset 0

27 highq
28 slap
29 scratch1
30 scratch2
31 sticks
32 sqrclick
33 metclick
34 metbell
35 kick1
36 kick2
37 stickrim
38 snare1
39 claps
40 snare2
41 tomlo2
42 hihatcl
43 tomlo1
44 hihatpd
45 tommid2
46 hihatop
47 tommid1
48 tomhi2
49 cymcrsh1
50 tomhi1
51 cymride1
52 cymchina
53 cymbell
54 tamborin
55 cymsplsh
56 cowbell
57 cymcrsh2
58 vibslap
59 cymride2
60 bongohi
61 bongolo
62 congahi1
63 congahi2
64 congalo
65 timbaleh
66 timbalel
67 agogohi
68 agogolo
69 cabasa
70 maracas
71 whistle1
72 whistle2
73 guiro1
74 guiro2
75 clave
76 woodblk1
77 woodblk2
78 cuica1
79 cuica2
80 triangl1
81 triangl2
82 shaker
83 jingles
84 belltree
85 castinet
86 surdo1
87 surdo2

Any help is awesome!

Note:
Haven't seen other source ports of Doom use timidity++ server; they always have SDL_mixer and that stuff sucks (at least for linux midi). Chocolate-doom could really use something like what dosbox has (including other source ports). Going to try and patch chocolate-doom, eternity and whatever else to use timidity++ server but I'm a real piece of work with coding. Can compile stuff from source code, edit scripts and apply patches but don't know if adding new midi output to a doom source port is too much. Maybe one of you that programs (Quasar) can say how difficult this is for a noob.

Share this post


Link to post

ZDoom's GUS emulator is based on the old TiMidity (not TM++) and modified based on the source code of the GUS drivers. The TiMidity++ option feeds MIDI data to an external process. In any case, ZDoom never uses SDL_Mixer, even on Linux. The sound system all goes through FMOD Ex.

Share this post


Link to post

Great job on zdoom; props to the crew. Unfortunately sdl_mixer hasn't updated it's midi function (uses old timidity). Thought I'd avoid all problems with hardware midi (on linux) but there's still plenty of problems with software midi due to sdl_mixer using old timidity. Don't think Windows users are happy either with sdl_mixer; think you need a seperate process to change volume levels due to Windows mixer.

Is it difficult to implement different midi code in chocolate-doom or other source ports (using something like what dosbox or eduke32 uses; maybe fmod since it has other great features)?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×