• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

extra/H03-May-2022-3,6683,022

fptest/H10-Jun-2014-366267

src/H03-May-2022-15,81712,014

AUTHORSH A D10-Jun-20142.7 KiB7450

COPYINGH A D25-May-201217.6 KiB340281

ChangeLogH A D10-Jun-20145.8 KiB191122

INSTALLH A D12-Nov-201015.2 KiB366284

Makefile.amH A D25-May-2012557 2619

Makefile.inH A D10-Jun-201426.2 KiB844749

READMEH A D10-Jun-201426 KiB543456

TODOH A D23-Oct-2012608 2012

aclocal.m4H A D10-Jun-2014348.6 KiB9,9268,931

autogen.shH A D25-May-2012735 3226

config.guessH A D24-Jun-201243.8 KiB1,5311,321

config.h.inH A D10-Jun-20142.4 KiB9667

config.subH A D24-Jun-201234.6 KiB1,7741,631

configureH A D03-May-2022433.6 KiB14,87712,437

configure.acH A D10-Jun-20143.9 KiB125108

depcompH A D24-Jun-201220.4 KiB709460

install-shH A D24-Jun-201213.7 KiB528351

ltmain.shH A D10-Jun-2014276.8 KiB9,6567,301

missingH A D24-Jun-201210.1 KiB332243

README

1                                hexter
2                                ======
3               A Yamaha DX7 modeling software synthesizer
4                   for the DSSI Soft Synth Interface
5
6Introduction
7============
8hexter is a software synthesizer that models the sound generation of
9a Yamaha DX7 synthesizer.  It can easily load most DX7 patch bank
10files, edit those patches via a built-in editor or MIDI sys-ex
11messages (ALSA systems only), and recreate the sound of the DX7 with
12greater accuracy than any previous open-source emulation (that the
13author is aware of....)
14
15hexter operates as a plugin for the DSSI Soft Synth Interface.  DSSI
16is a plugin API for software instruments (soft synths) with user
17interfaces, permitting them to be hosted in-process by audio
18applications.  More information on DSSI can be found at:
19
20  http://dssi.sourceforge.net/
21
22hexter is written and copyright (c) 2014 by Sean Bolton, and
23licensed under the GNU General Public License, version 2 or later.
24See the enclosed file COPYING for details.  While this software is
25'free' within the requirements of this license, I (Sean) would
26appreciate any or all of the following should you find hexter
27useful:
28    - an email stating where you're from and how you're using
29        hexter, sent to <sean /at/ smbolton /dot/ com>.
30    - copies of or links to music you've created with hexter.
31    - any favorite patches you create for hexter, or any patches
32        that work on a real DX7 but not on hexter.
33    - suggestions for improving hexter.
34
35hexter is indirectly the result of cumulative effort by a large
36number of contributors, see the AUTHORS file for details.
37
38Requirements
39============
40hexter requires the following:
41
42    - DSSI version 0.4 or greater, available from the
43        dssi.sourceforge.net address above.
44
45    - liblo version 0.12 or greater (0.23 or greater recommended), a
46        library implementing the Open Sound Control (OSC) protocol,
47        available at:
48
49        http://liblo.sourceforge.net/
50
51    - pkgconfig with PKG_CONFIG_PATH set appropriately to pick up
52        DSSI and liblo.
53
54    - GTK+ version 2.4 or later.
55
56    - the LADSPA v1.x SDK.
57
58    - the ALSA headers (DSSI plugins use ALSA structures, but not
59        the actual drivers, so you don't necessarily need the
60        drivers installed.)  Users of non-ALSA systems may use
61        libdssialsacompat, available at:
62
63        http://smbolton.com/linux.html
64
65    - a working DSSI host.  hexter has been tested with the
66        jack-dssi-host, available in the DSSI distribution, and with
67        ghostess, available at:
68
69        http://smbolton.com/linux.html
70
71    - automake 1.7 and autoconf 2.57 or better if you wish to
72        recreate the build files.
73
74Installation
75============
76The generic installation instructions in the enclosed file INSTALL
77aren't particularly helpful, so try this instead:
78
791. Unpack the tar file.
80
812. Make sure PKG_CONFIG_PATH is set correctly to locate the
82    dssi.pc and liblo.pc pkgconfig files.  On many systems, this
83    will be:
84
85    $ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
86    $ export PKG_CONFIG_PATH
87
883. 'cd' into the package directory and execute './configure'.
89    configure will add '-Wall' and my favorite optimizations to
90    CFLAGS for you if you don't include any '-Wall' or '-O' options.
91    If you're using gcc and wish to provide your own optimization
92    flags, you MUST at least use '-finline' and a non-zero '-O' flag
93    to get decent results.
94
95    Depending on your hardware, you may wish to add the
96    '--enable-floating-point' option to the configure cammand line.
97    See the 'Fixed Point vs. Floating Point Rendering' section
98    below. (If you're not sure, it is safest to leave it off.)
99
1004. Enable debugging information if you desire: edit the file
101    src/hexter.h, and define DSSP_DEBUG as explained in the
102    comments.
103
1045. Do 'make'.  Hopefully it should build without warnings (or
105    errors.)
106
1076. 'make install' will install the following:
108
109    <prefix>/lib/dssi/hexter/hexter_gtk
110    <prefix>/lib/dssi/hexter.so
111    <prefix>/lib/dssi/hexter.la
112    <prefix>/share/hexter/dx7_roms.dx7
113    <prefix>/share/hexter/fb01_roms_converted_12.dx7
114    <prefix>/share/hexter/fb01_roms_converted_34.dx7
115    <prefix>/share/hexter/fb01_roms_converted_5.dx7
116    <prefix>/share/hexter/tx7_roms.dx7
117
118Feedback on your experiences building hexter is appreciated.
119
120Operation
121=========
122To run the hexter plugin under the jack-dssi-host provided
123in the DSSI distribution, I do the following:
124
1251. Start JACK.
126
1272. Start jack-dssi-host, supplying the correct plugin path
128    and filename (substitute <prefix> as appropriate):
129
130    $ DSSI_PATH=<prefix>/lib/dssi sudo jack-dssi-host hexter.so
131
132    jack-dssi-host should start, and moments later the hexter
133    graphic user interface should appear.
134
1353. Use qjackctl or aconnect to connect jack-dssi-host to a MIDI
136   source, such as vkeybd.
137
1384. Begin playing sounds!  If you get no response, try clicking the
139    'Send Test Note' button in the hexter GUI.  This sends a note
140    directly via the host to the plugin, so if you hear sound now,
141    look for a problem between the host and your MIDI source.  If
142    you still don't hear sound, I'd look for a problem between the
143    host and your output device.  If you continue having trouble,
144    you might recompile with DSSP_DEBUG bit 2 set, which will cause
145    the plugin to continuously output a quiet buzz to help debug
146    your outgoing signal path.
147
148hexter starts up with a default set of sound presets, or 'patches',
149that you can select either by selecting the GUI 'Patches' tab and
150clicking on the patch name, or by sending a MIDI program change from
151your MIDI source with the appropriate program number.
152
153Patch Import/Export
154===================
155hexter can import DX7 patch bank files in several formats:
156
157- The standard 32-voice bulk dump sys-ex format.  These are 4104
158bytes long, and you can find a million of them by Googling for "dx7
159patches".  hexter places no restrictions on their filenames.
160
161- The standard single-voice (edit buffer) sys-ex format.  These are
162163 bytes long.
163
164- Raw packed patch data. These are 128 bytes per patch, and may
165contain any number of patches (although hexter can only load up to
166128 of them.) Note, though, that if the file is 8192 bytes long and
167has any of the filename suffixes ".tx7", ".TX7", ".snd", or ".SND",
168the second half of the file will be ignored (Dr. T and Steinberg TX7
169formats).
170
171- Standard MIDI files containing either a 32-voice bulk dump sys-ex
172message or a single voice dump sys-ex message.  If the file contains
173more than one qualifying sys-ex message, only the first will be used.
174
175- Two concatenated 32-voice bulk dump sys-ex messages (8208 bytes
176long.)
177
178- Steinberg Synthworks format (5216 bytes long).
179
180- Transform XSyn format (8192 bytes long).
181
182- Voyetra SIDEMAN DX/TX and Patchmaster DX7/TX7 formats (9816
183or 5663 bytes long).
184
185- Yamaha DX200 editor format (326454 bytes long).</p>
186
187You may use the "Import Patch Bank..." option in the File menu to
188import patches.  After selecting the filename, you will need to
189specify the program number (0 to 127) at which to begin importing
190the patches.
191
192Several patch bank files are installed with hexter in
193<prefix>/share/hexter/.
194
195You may also export patch banks using the File menu "Export Patch
196Bank..." option.  You can then select which of the formats to save
197in, and what range of patches to export.  Finally, select the
198filename to which you want to save, and click 'Ok'.
199
200Synthesizer Configuration
201=========================
202On the 'Configuration' tab of the hexter GUI,  there are a number of
203controls for configuring hexter:
204
205- tuning: sets the tuning of this instance of the plugin,
206    as Hz for A-above-middle-C.
207
208- volume: adjusts the output volume for this instance, from -70dB to
209    +20dB relative to a nominal reference level (-18.1dB per voice,
210    which permits approximately 8 voice polyphony within -1.0 to
211    +1.0 float.)
212
213- polyphony (instance): Sets the maximum polyphony for this instance
214    of the plugin.  If you attempt to play more notes than this
215    setting, already-playing notes will be killed so that newer
216    notes can be played.
217
218- polyphony (global): Sets the maximum polyphony for all hexter
219    instances running on this host.  If you are getting xruns, try
220    reducing this setting.
221
222- monophonic modes: sets poly/mono operation for this instance of
223    the plugin to one of the following:
224    'Off'  - polyphonic operation.
225    'On'   - monophonic operation, where the envelopes are
226             retriggered upon each incoming note on event.
227    'Once' - monophonic operation, where the envelopes are triggered
228             only on the first note on of a legato phrase -- that
229             is, if you hold one note while playing a second, the
230             envelopes will not be retriggered for the second note.
231    'Both' - monophonic operation, where the envelopes are
232             retriggered at each note on, and upon note off when
233             other keys are still held.
234
235- disable LFO/Mod/Perf (0.5.x compatibility): selecting this check
236    box will disable the LFO, amplitude modulation, pitch
237    modulation, and performance parameter enhancements provided by
238    hexter 0.6.0 and later versions, forcing it to sound just like
239    the 0.5.9 version.  This is provided for backward compatibility
240    with existing projects that used hexter 0.5.9.
241
242- Sys-Ex Patch Editing: On ALSA systems, hexter has the ability to
243    receive MIDI system exclusive messages from an external patch
244    editor/librarian. Any patch edits received are reflected in
245    hexter's built-in patch editor, and must be saved using the
246    built-in editor's 'Save Changes into Patch Bank' button (see
247    below).
248
249    Sys-ex patch editing is enabled on the 'Configuration' tab by
250    depressing the 'Enable Sys-Ex Editing' button.  The hexter GUI
251    then creates an ALSA MIDI client and displays its client and
252    port number in the status window below the 'Sys-Ex Receive
253    Channel' slider.  Set the channel appropriately and route your
254    external patch editor to this port using aconnect or similar,
255    and the hexter instance will be ready to receive patch edits.
256
257    Note that hexter only _receives_ MIDI sys-ex messages, and does
258    not send them.  Also, it only receives single patch dumps and
259    voice parameter changes, so any 'get patch data from synth' or
260    'send 32 voices to synth' functions of your librarian will not
261    work.
262
263Performance Parameters
264======================
265The 'Performance' tab of the hexter GUI contains controls for the
266DX7/TX7 Performance Parameters:
267
268- pitch bend range: sets the response to MIDI pitch bend messages,
269    in semitones.
270
271- portamento time: sets the portamento time.  Note that as of
272    version 0.6.1, the portamento code is still unfinished.
273
274- mod wheel sensitivity: sets the depth of response to MIDI
275    modulation wheel control change messages (MIDI control change 1).
276
277- mod wheel assign: these three check boxes set which destinations
278    the modulation wheel affects: selecting 'P' routes the LFO to
279    pitch modulation (vibrato), 'A' routes the LFO to amplitude
280    modulation (tremelo or wah), and 'E' routes the modulation wheel
281    value itself to amplitude modulation.
282
283- foot sensitivity, foot assign, pressure sens., pressure assign,
284    breath sens., and breath assign: these set the sensitivity and
285    routing as described above for the foot controller (MIDI CC 4),
286    for pressure (both channel and key pressure), and for the breath
287    controller (CC 2), respectively.
288
289Patch Editing
290=============
291The current patch may be edited by selecting 'Edit Patch...' from
292the 'Edit' menu, which opens the patch editor window. All patch
293edits accumulate as a temporary 'overlay' replacing the current
294patch, but are not saved into the patch bank until you click the
295'Save Changes into Patch Bank' button and complete the save process.
296(Once you've saved edits into the patch bank, remember to save the
297bank to disk using the 'Export Patch Bank...' option of the 'File'
298menu!)
299
300Clicking the 'Discard Changes' button or selecting another patch
301from the 'Patches' tab will discard any active edits. At any time
302the top status line of the editor window will tell you which patch
303is being edited, and whether there are any changes in effect.
304
305The editor has two modes of operation, selected by the 'Editor Mode'
306combo box near the bottom left of the editor window. One mode,
307called 'Widgy', uses standard GTK+ widgets for editing patch
308parameters, and displays graphical representations of envelopes and
309scaling curves to aid in comprehension of the patch parameters. The
310other mode, called 'Retro' is based on text-based editors of decades
311past. You may switch between editor modes at any time.
312
313While the 'Retro' mode provides little in terms of visualization
314assistance, it can provide the experienced user with more efficient
315editing. Both the mouse and cursor keys may be used to select the
316parameter to be edited. Generally, the number keys are used to enter
317a parameter directly, the '-' key decrements a parameter, the '+' or
318'=' keys increment the parameter, and the 'delete' or 'backspace'
319key will reset the parameter to a default value. Perhaps most
320convient for users without a separate MIDI keyboard, the space bar
321can be used to toggle a test note, even while changing patches with
322other keys!
323
324MIDI Controller Mapping
325=======================
326In addition to the performance parameter MIDI messages mentioned
327above, hexter responds to MIDI volume (MIDI control change 39),
328sustain pedal (MIDI CC 64), and all-sounds-off, all-notes-off, and
329reset-controllers control messages (CCs 120, 123, and 121,
330respectively).
331
332The operator parameters of the current patch can also be changed via
333the following MIDI control change (CC) and non-registered parameter
334(NRPN) messages. Messages marked with '*' in the 'Operator' column
335will cause an immediate effect on playing notes, while the others
336will only affect subsequently-played notes.
337
338CC or NRPN                     | Operator | Parameter
339-------------------------------+----------+------------------------
340CC 16 (General Purpose #1 MSB) |   * 1    | Frequency Coarse
341CC 17 (General Purpose #2 MSB) |   * 2    | Frequency Coarse
342CC 18 (General Purpose #3 MSB) |   * 3    | Frequency Coarse
343CC 19 (General Purpose #4 MSB) |   * 4    | Frequency Coarse
344CC 80 (General Purpose #5)     |   * 5    | Frequency Coarse
345CC 81 (General Purpose #6)     |   * 6    | Frequency Coarse
346NRPN   0                       |     6    | Envelope Generator Rate 1
347NRPN   1                       |     6    | Envelope Generator Rate 2
348NRPN   2                       |     6    | Envelope Generator Rate 3
349NRPN   3                       |     6    | Envelope Generator Rate 4
350NRPN   4                       |     6    | Envelope Generator Level 1
351NRPN   5                       |     6    | Envelope Generator Level 2
352NRPN   6                       |     6    | Envelope Generator Level 3
353NRPN   7                       |     6    | Envelope Generator Level 4
354NRPN   8                       |     6    | Keyboard Level Scaling Break Point
355NRPN   9                       |     6    | Keyboard Level Scaling Left Depth
356NRPN  10                       |     6    | Keyboard Level Scaling Right Depth
357NRPN  11                       |     6    | Keyboard Level Scaling Left Curve
358NRPN  12                       |     6    | Keyboard Level Scaling Right Curve
359NRPN  13                       |     6    | Keyboard Rate Scaling
360NRPN  14                       |     6    | Amp Mod Sensitivity
361NRPN  15                       |     6    | Keyboard Velocity Sensitivity
362NRPN  16                       |     6    | Operator Output Level
363NRPN  17                       |   * 6    | Oscillator Mode
364NRPN  18                       |   * 6    | Oscillator Frequency Coarse
365NRPN  19                       |   * 6    | Oscillator Frequency Fine
366NRPN  20                       |   * 6    | Oscillator Detune
367NRPN  21                       |     5    | Envelope Generator Rate 1
368NRPN  22                       |     5    | Envelope Generator Rate 2
369NRPN  23                       |     5    | Envelope Generator Rate 3
370NRPN  24                       |     5    | Envelope Generator Rate 4
371NRPN  25                       |     5    | Envelope Generator Level 1
372NRPN  26                       |     5    | Envelope Generator Level 2
373NRPN  27                       |     5    | Envelope Generator Level 3
374NRPN  28                       |     5    | Envelope Generator Level 4
375NRPN  29                       |     5    | Keyboard Level Scaling Break Point
376NRPN  30                       |     5    | Keyboard Level Scaling Left Depth
377NRPN  31                       |     5    | Keyboard Level Scaling Right Depth
378NRPN  32                       |     5    | Keyboard Level Scaling Left Curve
379NRPN  33                       |     5    | Keyboard Level Scaling Right Curve
380NRPN  34                       |     5    | Keyboard Rate Scaling
381NRPN  35                       |     5    | Amp Mod Sensitivity
382NRPN  36                       |     5    | Keyboard Velocity Sensitivity
383NRPN  37                       |     5    | Operator Output Level
384NRPN  38                       |   * 5    | Oscillator Mode
385NRPN  39                       |   * 5    | Oscillator Frequency Coarse
386NRPN  40                       |   * 5    | Oscillator Frequency Fine
387NRPN  41                       |   * 5    | Oscillator Detune
388NRPN  42                       |     4    | Envelope Generator Rate 1
389NRPN  43                       |     4    | Envelope Generator Rate 2
390NRPN  44                       |     4    | Envelope Generator Rate 3
391NRPN  45                       |     4    | Envelope Generator Rate 4
392NRPN  46                       |     4    | Envelope Generator Level 1
393NRPN  47                       |     4    | Envelope Generator Level 2
394NRPN  48                       |     4    | Envelope Generator Level 3
395NRPN  49                       |     4    | Envelope Generator Level 4
396NRPN  50                       |     4    | Keyboard Level Scaling Break Point
397NRPN  51                       |     4    | Keyboard Level Scaling Left Depth
398NRPN  52                       |     4    | Keyboard Level Scaling Right Depth
399NRPN  53                       |     4    | Keyboard Level Scaling Left Curve
400NRPN  54                       |     4    | Keyboard Level Scaling Right Curve
401NRPN  55                       |     4    | Keyboard Rate Scaling
402NRPN  56                       |     4    | Amp Mod Sensitivity
403NRPN  57                       |     4    | Keyboard Velocity Sensitivity
404NRPN  58                       |     4    | Operator Output Level
405NRPN  59                       |   * 4    | Oscillator Mode
406NRPN  60                       |   * 4    | Oscillator Frequency Coarse
407NRPN  61                       |   * 4    | Oscillator Frequency Fine
408NRPN  62                       |   * 4    | Oscillator Detune
409NRPN  63                       |     3    | Envelope Generator Rate 1
410NRPN  64                       |     3    | Envelope Generator Rate 2
411NRPN  65                       |     3    | Envelope Generator Rate 3
412NRPN  66                       |     3    | Envelope Generator Rate 4
413NRPN  67                       |     3    | Envelope Generator Level 1
414NRPN  68                       |     3    | Envelope Generator Level 2
415NRPN  69                       |     3    | Envelope Generator Level 3
416NRPN  70                       |     3    | Envelope Generator Level 4
417NRPN  71                       |     3    | Keyboard Level Scaling Break Point
418NRPN  72                       |     3    | Keyboard Level Scaling Left Depth
419NRPN  73                       |     3    | Keyboard Level Scaling Right Depth
420NRPN  74                       |     3    | Keyboard Level Scaling Left Curve
421NRPN  75                       |     3    | Keyboard Level Scaling Right Curve
422NRPN  76                       |     3    | Keyboard Rate Scaling
423NRPN  77                       |     3    | Amp Mod Sensitivity
424NRPN  78                       |     3    | Keyboard Velocity Sensitivity
425NRPN  79                       |     3    | Operator Output Level
426NRPN  80                       |   * 3    | Oscillator Mode
427NRPN  81                       |   * 3    | Oscillator Frequency Coarse
428NRPN  82                       |   * 3    | Oscillator Frequency Fine
429NRPN  83                       |   * 3    | Oscillator Detune
430NRPN  84                       |     2    | Envelope Generator Rate 1
431NRPN  85                       |     2    | Envelope Generator Rate 2
432NRPN  86                       |     2    | Envelope Generator Rate 3
433NRPN  87                       |     2    | Envelope Generator Rate 4
434NRPN  88                       |     2    | Envelope Generator Level 1
435NRPN  89                       |     2    | Envelope Generator Level 2
436NRPN  90                       |     2    | Envelope Generator Level 3
437NRPN  91                       |     2    | Envelope Generator Level 4
438NRPN  92                       |     2    | Keyboard Level Scaling Break Point
439NRPN  93                       |     2    | Keyboard Level Scaling Left Depth
440NRPN  94                       |     2    | Keyboard Level Scaling Right Depth
441NRPN  95                       |     2    | Keyboard Level Scaling Left Curve
442NRPN  96                       |     2    | Keyboard Level Scaling Right Curve
443NRPN  97                       |     2    | Keyboard Rate Scaling
444NRPN  98                       |     2    | Amp Mod Sensitivity
445NRPN  99                       |     2    | Keyboard Velocity Sensitivity
446NRPN 100                       |     2    | Operator Output Level
447NRPN 101                       |   * 2    | Oscillator Mode
448NRPN 102                       |   * 2    | Oscillator Frequency Coarse
449NRPN 103                       |   * 2    | Oscillator Frequency Fine
450NRPN 104                       |   * 2    | Oscillator Detune
451NRPN 105                       |     1    | Envelope Generator Rate 1
452NRPN 106                       |     1    | Envelope Generator Rate 2
453NRPN 107                       |     1    | Envelope Generator Rate 3
454NRPN 108                       |     1    | Envelope Generator Rate 4
455NRPN 109                       |     1    | Envelope Generator Level 1
456NRPN 110                       |     1    | Envelope Generator Level 2
457NRPN 111                       |     1    | Envelope Generator Level 3
458NRPN 112                       |     1    | Envelope Generator Level 4
459NRPN 113                       |     1    | Keyboard Level Scaling Break Point
460NRPN 114                       |     1    | Keyboard Level Scaling Left Depth
461NRPN 115                       |     1    | Keyboard Level Scaling Right Depth
462NRPN 116                       |     1    | Keyboard Level Scaling Left Curve
463NRPN 117                       |     1    | Keyboard Level Scaling Right Curve
464NRPN 118                       |     1    | Keyboard Rate Scaling
465NRPN 119                       |     1    | Amp Mod Sensitivity
466NRPN 120                       |     1    | Keyboard Velocity Sensitivity
467NRPN 121                       |     1    | Operator Output Level
468NRPN 122                       |   * 1    | Oscillator Mode
469NRPN 123                       |   * 1    | Oscillator Frequency Coarse
470NRPN 124                       |   * 1    | Oscillator Frequency Fine
471NRPN 125                       |   * 1    | Oscillator Detune
472
473Fixed Point vs. Floating Point Rendering
474========================================
475hexter can be compiled to do its sound rendering using either
476fixed-point math or floating-point math.  The difference in sound
477quality should not be audible, so the question of which type of math
478to use becomes which type of math is faster. On many older
479processors (e.g. PowerPC G4), the fixed-point math is substantially
480faster. With newer processors, the speed of each type of math
481depends on several factors, including the particular processor, the
482compiler and the compiler options used.  It is often surprising
483which is faster for a given configuration!
484
485On fairly normal posix systems (like Linux or OS X), you can compile
486a small test program, to test which type of math is the fastest on
487your processor.  To do this, unpack the hexter tarball, cd into the
488'fptest' directory, type 'make', then type './fptest'. After 30-60
489seconds, you should see a summary of the test results.
490
491By default, hexter is built to use fixed-point rendering. If your
492test results say that floating-point is faster, then you can
493configure hexter to use floating-point with the
494'--enable-floating-point' configure option.
495
496Here are some test results from a few machines. Lower percentages
497indicate the faster mode.
498
499Processor                              Fixed Point  Floating Point
500-------------------------------------  -----------  --------------
501PowerPC G4 800MHz                         49.5%        100.0%
502PowerPC G4 1.07GHz                        49.8%        100.0%
503Pentium III (Coppermine) 933MHz          100.0%         95.2%
504Intel Core Duo 1.83GHz, OS X 10.4.9      100.0%         92.9%
505Intel Core 2 Duo 2.4GHz, Linux 3.2       100.0%         96.1% *
506Intel Core 2 Duo 2.4GHz, OS X 10.4.11    100.0%         91.4% *
507Intel Core 2 Duo 2.4GHz, OS X 10.6.8      61.5%        100.0% *
508Intel Core 2 Duo 2.5GHz, OS X 10.6.7      62.0%        100.0%
509Intel Core i7, OS X 10.7                  52.0%        100.0%
510
511* These three all come from the same machine!
512
513Frequently Asked Questions
514==========================
515Q. The plugin seems to work fine, but the GUI never appears. Why?
516
517A. Make sure the hostname of your machine is resolvable (if not, the
518OSC messages can't be sent between host and GUI).  If your machine's
519hostname is 'foo.bar.net', make sure you either have an entry for
520'foo.bar.net' in /etc/hosts, or that your DNS server can resolve it.
521Test this with e.g. 'ping foo.bar.net'. To test that the GUI itself
522works, you can start it by itself (without a DSSI host) by giving it
523the '-test' option, for example:
524
525    $ <prefix>/lib/dssi/hexter/hexter_gtk -test
526
527Resources:
528==========
529http://en.wikipedia.org/wiki/Yamaha_DX7
530    The Wikipedia Yamaha DX7 page.
531
532http://homepage.ntlworld.com/steve.sims/
533    Steve Sims' site with lots of information, patches, and links.
534
535http://homepages.abdn.ac.uk/mth192/pages/html/dx7.html
536    Dave Benson's DX7 page, has much info as well as links to patch
537    files.
538
539http://www.synthzone.com/yamaha.htm
540    The Synth Zone's collection of Yamaha links, which contains quite
541    a few links to patch file collections.
542
543