PHASEX: A New Linux Softsynth
Development of native Linux audio plugins and softsynths may not be so relentlessly rapid as it is in the Windows and Mac sound software worlds, but new things do appear. This week I profile a cool new (well, relatively new) Linux softsynth, William Weston's Phase Harmonic Advanced Synthesis EXperiment, also known as Phasex.
Introducing Phasex
Phasex is a native Linux software synthesizer designed for use with the ALSA MIDI connectivity interface (a.k.a. the ALSA sequencer) and the JACK audio server. Its features include dynamic voice allocation (for polyphony), full parameter control via MIDI, feature-rich oscillators/LFOs/envelope generators, high-quality chorus and delay effects, and the ability to process the audio input from any other available JACK client.
I built and tested Phasex 0.11.1 on the most recent JAD and 64 Studio systems. I encountered no problems compiling the program, but if building from source isn't your idea of fun you can download RPM packages from the Phasex homepage. A package is also available for OpenSUSE 10.2. A packaged 64-bit Phasex is not available yet.
Whether you install Phasex from a package or build it from source you will also need ALSA and JACK. The ALSA sound system is the default kernel sound system so you should have it already (if you're running any modern Linux distribution). If you don't have JACK, see your distribution's package manager for available packages, or visit the JACK Web site for more information regarding source and other package locations. You'll also want some software to drive Phasex. You can use any MIDI sequencer, an external keyboard, or even a virtual keyboard, but you will need some way to play the synth.


Phasex's interface is divided into two sections. The Main section contains general program settings (MIDI channel, master tune, transposition value, etc.), audio input controls, amplitude and filter envelope designs, effects processors, and LFO definitions. The Oscillator section is restricted to only the definitions of the four oscillators and their modulators. By the way, the GUI may be set for full-screen or tabbed display in the File/Preferences dialog.

Sound Synthesis In Phasex
Phasex's synthesis method is called phase offset modulation. According to the documentation, each oscillator in a patch modulates its phase offset between its right and left output channels. The modulator may be one of the four LFOs, another oscillator, or an incoming audio stream.
A patch can use up to four oscillators. According to the Phasex Web page each oscillator includes :
- Cyclic wave selection (sine, saw, square, triangle, etc.)
- Bipolar or unipolar output
- Frequency source selection (MIDI note, tempo-based, tempo-based with phase trigger, audio input)
- Mix modulation supporting standard or AM mixing
- Per-oscillator transposition and pitchbend amounts
- Selectable modulation sources (AM, FM, phase offset, waveshape modulation)
- Oscillators and LFOs can be used as modulation sources (except in waveshape modulation)
As might be expected with such resources, Phasex can produce rich textures and detailed shorter sounds. The default patch set shows off the synth's possibilities, and the uncluttered GUI invites experimentation. The sound of any patch can be radically altered by a single change of modulation source. For example, the realtime audio input is an unusual option that can create bizarre filter and mix effects. I whiled away much time listening to the dynamically changing results of driving Phasex with a MIDI loop from seq24 and modulating its oscillators and LFOs with a songlist of some favorite OGG files played by AlsaPlayer (Figure 4).

Control Issues
All parameters are MIDI-controllable, and the default map can be redefined by the user. Controller assignments can be made instantly in the Update MIDI Control dialog. Right-click on any parameter name, then follow the directions in the dialog panel. The combination of MIDI parameter automation with an audio input modulation source can create some fascinating evolving sounds. As a test, I set up my sequencer to control both Phasex and the QSynth soundfont synthesizer, but I routed QSynth's audio output into Phasex instead of going to the normal ALSA PCM channels. I selected Phasex's Soft Pad for my starting patch, with the GM Warm Pad in QSynth. Then I started to play with the routing and control possibilities. First, I redefined the signal source for each oscillator (the default source defines the source frequency by a MIDI note number). I changed the sources for oscillators 2 and 3 to Amplitude Envelope and Filter Envelope (both defined on the Main tab), and I assigned MIDI controller #7 to the filter cutoff frequency. I created two identical loops in my sequencer, one to drive Phasex and one to drive QSynth, then I created a loop of MIDI controller messages for Phasex. The controller loop simply moved from 0 to 127 and back again, the other loops were a slow-moving series of 4-part chords. The audio output of QSynth fed into Phasex's oscillator 4. The sound was cool, but it had a bad zipper noise that disappeared when I switched off the audio input envelope follower.


For More Information...
Documentation consists of a descriptive text on the Phasex home page, a "pop-up assistant" help system that briefly describes any selected parameter (right-click on any parameter name to summon the assistant), and a succinct guide to using Phasex, available from the program's Help menu. However, perhaps the best documentation for Phasex is its default presets. Basic and advanced programming examples can be found in the default patches. Some patches are clearly intended for user-level additions and extensions, while others are obviously more finished sounds.
Sounding Off
Alas, I had no time to prepare sound files of my own, but Linux audio stalwart Ken Restivo has placed some interesting Phasex demos on-line. Give a listen especially to Pick A Nose, Buzzy Signal, and Hit By Pitch. Check it out, Ken's quite a player, and he can really show off Phasex's possibilities.
Outro
I love this synth, and I'd like to see a few improvements to it. The GUI is efficient, perhaps blandly so, and color-coding the panels would be helpful when programming the synth. I'd also like to see some randomization controls, I'm usually inspired by their presence and am more likely to create my own sounds when I can start from a randomized patch. MIDI zipper noise is sometimes evident during fast controller sweeps, depending on the parameter being controlled, but this is likely more of a MIDI problem than a fault with Phasex. With that in mind, perhaps OSC support could solve any controller resolution issues.
Phasex is in early development, but it is perfectly usable in its present conditions and definitely worth adding to your Linux audio arsenal. It's easily programmed, has excellent sound quality, includes a fine set of demonstration patches, and the price is right. If you've been searching for a truly new kind of softsynth for Linux, search no further. Phasex is what you've been looking for.
Similis sum folio de quo ludunt venti.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- RSS Feeds
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Designing Electronics with Linux
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- What's the tweeting protocol?
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?



6 hours 15 min ago
10 hours 42 min ago
14 hours 18 min ago
14 hours 50 min ago
17 hours 14 min ago
17 hours 17 min ago
17 hours 18 min ago
21 hours 43 min ago
23 hours 34 min ago
1 day 4 hours ago