[P]hase [H]armonic [A]dvanced [S]ynthesis [EX]periment
PHASEX-0.12.0-beta4:
The new phasex beta includes tons of fixes and a few new goodies. The new
beta feels solid, can run in multiple instances, and survives JACK restarts.
Sound quality and clarity has much improved (now with fine tuning for oscs
and fm, super-clean envelopes and chorus, super-smooth pitch bender, and
better behavior for mono modes). Sampled oscillators have been added,
currently with Juno-106 and vocal waveform samples (I'm still looking for
vintage Moog and TB-303 samples that can be chopped down to a single
oscillation and GPL'ed). The GUI now includes two switchable GTK themes, a
true fullscreen mode, and user selectable fonts, allowing phasex to sit
comfortably on any desktop 800x600 or larger. The licensing has been
clarified to remove any grey areas concerning the freedom to use and
redistribute phasex (code and samples are GPLv2, patches are public domain,
and audio output is not considered derivative work). This beta is aimed at
developers, distribution maintainers, and anyone who just can't wait any
longer for the new version.
Screenshots:

Notebook mode w/ Sans 10 font and Dark theme (default).

One-Page mode w/ Papercuts 12 font (from SuperTux) and Light theme.

Notebook mode w/ glisp 6 font and Dark theme. Fits inside 800x600!
From the Changelog:
- Fixed midimap load problem on startup.
- Added parameter locking.
- Updated per cpu-type compiler flags (fixes 64bit builds).
- Updated rpm spec (Fedora's changes for handling desktop file).
- Added memory locking to avoid page faults in rt.
- Changed mutexes for rt threads to PI mutexes.
- Added gtk theme support and initial phasex widget color theme.
- Fixed amp envelope curve.
- Reworked JACK connection code (watchdog loop instead of extra thread).
- Implemented global instance number tracking (used for ALSA and JACK).
- Changed ALSA client name to match JACK client name (with instance num).
- Added initial support for loading sampled oscillators.
- Fixed portamento calculations (nice and smooth again).
- Implemented portamento for poly keymode.
- Fixed problem with legato LFO retriggering in poly keymode.
- Added name, class, and role window manager hints.
- Added table rebuilds to handle on-the-fly tuning freq changes.
- Added sampled waveforms to the wave tables.
- Implemented hermite interpolation, now used in chorus.
- Renamed Chorus Phase Amount to Chorus Phase Balance.
- Retuned chorus delay, now based on the musical scale.
- Implemented decayed average smoothing for pitch bender.
- Cleaned up code and removed many deprecated code bits.
- Added PHASEX_CPU_POWER macro for cpu class tunings.
- Added handling of X_CFLAGS when running configure.
- Updated README, INSTALL, ROADMAP, and parameter help.
- Updated licensing, clarifying use of PHASEX, samples, and patches.
- Fixed bug with envelope recalculation while note is in play.
- Cleaned up many warnings for gcc-4.3.2.
- Changed patch bank size to 1024 and created PHASEX_BANK_SIZE macro.
- Removed gtk_widget_realize() calls from file select dialogs.
- Set page size for all GtkAdjustment objects to zero.
- Fixed file dialog hang problem (delete and re-add idle handler).
- Added pan, filter lfo resonance, osc fine tune, and fm fine params.
- Fixed font specification in theme gtkrc (default now "Sans 8").
- Added option to ignore MIDI when mapping knobs with sequencer running.
- Enabled setting of defaults for unreferenced params in patch loads.
- Added graceful handling of unknown params in patch loads.
- Added better folder/shortcut handling to patch file dialogs.
- Added patch directory list to use all dirs in patchbank as shortcuts.
- Optimized gtkknob expose events (moved math into adj handling).
- Added check for pthread_mutexattr_setprotocol() for older libpthread.
- Added --enable-arch=foo handling for more architectures.
- Changed max polyphony from a compile-time to a run-time setting.
- Fixed GtkKnob for GTK >= 2.16.
- Added user switchable themes and fonts.
- Added true fullscreen mode.
- Added velocity/aftertouch support for filter, oscs, and lfos.
- Fixed JACK and ALSA MIDI thread shutdown code.
- Added optimizations for Atom processors and k8 varieties w/ sse3.
- Reworked handling of compile-time optimization and debug flags.
- Implemented complete gtkui thread restart for GUI restarts.
- Fixed Load/Save button height expansion issue.
- Moved filter_q from part struct to engine stack.
- Reduced knob size to 32x28 in order to save space vertically.
Download PHASEX-0.12.0-beta4!
PHASEX Git Repository:
You can now grab the latest phasex source with git!
$ git clone http://sysex.net/git/phasex.git phasex
If you would like write access to a developer repo, please let me know.
Feedback:
I apologize for the extreme delay in this release. The reworked JACK code
took the longest to stabilize, and the rest of the changes happened around
that. Once I found the time to fix bugs exposed by the newer GTK in Fedora
10, the new beta started to take shape. This new beta should be the most
solid phasex version to date, but of course, your mileage may vary. If you
find any issues when building or running phasex on your platform, please
let me know. This version has been fully tested on Fedora 8 and Fedora 10,
and I am especially interested in the debian and ubuntu builds. Thank You! --
weston@sysex.net.
|