- Welcome to pxtone
- OHB Crash Course (as participant)
- OHB Crash Course (as host)
- More on effects
- More on how to use ptVoice
- More on how to use ptNoise
- Known limitations and quirks of pxtone Collage
- See also
This article is designed to not only get you up-to-speed with the original pxtone software "pxtone collage", but to acquaint yourself with the idea of pxtone battles
here on Battle of the Bits.
It was written before the existence of pxtone collab
(ptcollab), a more modern pxtone fork that stays fully compatible with pxtone's .ptcop file format while offering a plethora of quality-of-life and workflow improvements. If you are indeed new to pxtone, as this article's title implies you might be, checking out ptcollab first is highly recommended
. You get MIDI input, cross-platform support, seamless online collaboration, microtonality, and a host of sequencing shortcuts and improvements. It will likely be a better experience for a newcomer.
That said, this article will still be very helpful for understanding the finer details of how pxtone works, what its features are, and the sorts of quirks you may expect to encounter, regardless of whether you're using ptcollab or ptcollage.
Welcome to pxtone
Despite being piano roll-based and primarily sequenced with a mouse, pxtone has a bit of similarity with the s3xmodit tracker formats. You have sample-instruments called voices
where you can incorporate ptVoices (melodic tones), ptNoises (percussive and accidental sounds), and external samples as well (.wav or .ogg), and you have units
that essentially serve as channels for the program. The fact that units are monophonic
is what makes this setup similar to tracker formats.
Before proceeding, you will need to download pxtone
. Look out for "(v.0.9.2.5) Download" since that is where the download for the latest version is located. After downloading and extracting, feel free to rename or discard the "japanese.ico" file. This will turn the interface of the program into English.
Alternatively, you can download the aforementioned modern fork ptcollab
OHB Crash Course (as participant)
Because of the brief similarities to s3xmodit, almost every pxtone OHB will be expected to have instruments and samples included in the bit pack (unless the host makes some exceptions such as using the stock instruments included with pxtone). That being said, a bit pack may not necessarily have units prepared for you, considering that all units require a default instrument. The basic flow of pxtone is to create voices (which should be provided for you in the case of an OHB) in the voice
tab, create units in the unit
tab, then create the melodies and sounds in the keyboard
Creating a unit is relatively simple: just go to the unit tab and press the plus button below the tabs. This will allow you to choose a default instrument as well as a unique name for that channel if you desire (it will default to the instrument that you choose otherwise). Once you have your unit(s) made, you can go over to the keyboard tab to sequence your units.
Sequencing your units is as simple as clicking the piano roll and dragging the mouse based on how long you want the note to be. Parameters of the content can be modified in the Volume Panel on the bottom left of the interface where you can change velocity, panning, volume, portamento, voice number, group number, and key correct (or better known as fine-tuning). Voice number is used to change voices in the middle of a unit, much like how different instruments are used on the same channel in a tracker. Group number is used to apply either delay or overdrive effects (if you have any active) to the current unit.
Something to note is that a pxtone song does not have patterns; everything is sequenced on one large piano roll. If you want to copy chunks of notes with ease, you can use the green strip on the top of the piano roll to select a range that you want to copy. Simply left click and drag on the range that you want to copy, select copy from the right-click menu, then paste it at the start point you want to paste. There are some other functions that can be done, but for the most part, this will definitely come in handy when it comes to copying sequences, especially since this program functions by mouse.
One other thing you can do is apply simple effects to certain channels. There are four slots available for delay and two slots available for overdrive. These can be applied to any unit at any point in the song by changing the unit's group number. Details about both of these effects will be described later.
When you're finished sequencing, another thing you can do with your song is set up end points and repeat points to your song if you desire.
Portamento explanation (for pitch bends and vibrato)
One of the tabs available in the automation editor at the bottom of the window is the key porta tab: this is used for pitch bends.
Dragging a line to the side in the key porta tab causes the pitch bend time to be set to however long the line you dragged was; a 1 beat long line means pitch bends will take one beat to reach the new pitch.
To actually bend the notes, you need to change the note playing without retriggering. The hand tool (selectable at the top left of the window) changes notes without affecting note start and end events, so can be used for legato and pitch bending.
The purple/orange bar at the top of the keyboard tab (and the bar for each unit in the units window) shows where note start/end events are. Changes to pitch as part of the same note will pitchbend (or just play legato if the key porta is 0).
Also: the only way to do vibrato is do pitchbend up and down repeatedly.
OHB Crash Course (as host)
If you're qualified to host a pxtone OHB, you should not need to read this section; however, this information may still be useful if you are new to using pxtone outside the OHB setting.
Preparing a bit pack for a pxtone is a bit similar to preparing a bit pack for a s3xmodit, in which the bit pack would be the set of samples, ptVoices, and ptNoises that you provide to the battle. One quirk about pxtone is that the keyboard is tuned to the key of A rather than C, so if you do tune your samples for the bit pack, be sure to keep this in mind.
ptVoices can be generated via the ptVoice program that comes with pxtone and will essentially be the lifeblood of anything melodic in a pxtone song unless you make excessive use of melodic samples (see ComputerXXsan[gensai].ptcop provided in the "sample [songs]" folder of pxtone for a good example of this). Making a ptVoice consists of making the waveform, either by drawing one via pinpoint coordinates or oscillating it up to 31 times over, and setting the volume envelope for it. If you're really lazy, you can roll for a waveform by pressing the question mark icon on the right hand side of the waveform section. Other things you can adjust alongside the volume envelope is the amount of release (max release lasts for 10 seconds), panning, and key correction (again, better known as fine tuning). Once you have your ptVoice done, you can save it and then use it as part of the bit pack.
ptNoises can be generated via the ptNoise program that also comes with pxtone and is used to generate more percussive and "accidental" sounds. There is very little proper documentation on how to use ptNoise at the moment (Pixel even straight up said to just experiment with number values in his explanation file), so either you can do as Pixel recommends and experiment with the program or leave it alone and use samples instead.
Whether or not you want to include units as part of the bit pack is entirely up to you, since each unit requires a default voice before it can be created. It's probably recommended that you make either a full set of units based on how many voices you have (if you have 50 or less voices), or create an arbitrary set of units with some select voices set up (remember that you are
allowed to change voices on the fly mid-song).
More on effects
As mentioned before, there are two basic effects that you can use: delay
. Delay has 4 available slots while overdrive has only 2 available slots. Any of these slots can be assigned a group number from 0 to 6, though it is good practice to reserve 0 as a null effect group.
There are three different scales of delay that you can choose from: Beat, Measure, and Second. Alongside that are two parameters that you can tweak: the frequency and the decay rate. The frequency is how many times the echo will trigger within the given scale, and decay rate is just the volume with which subsequent echos are reduced to.
Delays on the beat scale mean that the frequency corresponds to how many times the sound will echo in one single beat. For example, with a frequency of 4.0Hz, you will hear the echo triggering 4 times in one beat (which would in turn be every 1/16th of a measure).
Delays on the measure scale are drawn out to a whole measure instead of a single beat. For example, with a frequency of 4.0Hz, you will hear the echo triggering 4 times in one measure (in essence, one echo per beat).
One thing to note about beat and measure delay is that you can achieve the same amount of delay by multiplying (beat -> measure) or dividing (measure -> beat) by 4. For example: a 4Hz delay under the beat scale is the exact same as a 16Hz delay under the measure scale.
Delays on the second scale are drawn out to a single second, regardless of the tempo set. For example, with a frequency of 4.0Hz, you will hear an echo falling on every 1/4th of a second, even if the tempo was something like 185.
Overdrive takes an amplitude fragment of an instrument or sample (up to 99.9%)(known as cut
) and amplifies it by a certain amount (known as amp
), up to a factor of 8. The higher the percentage of the cut parameter, the smaller the fragment taken from the sample, and in turn, the quieter the resulting sample will be. Use higher amps if the cut parameter is going to be near 99.9%; otherwise amps below 5 will suffice for most of the time (unless you want something really loud).
More on how to use ptVoice
When you open up ptVoice, you will be greeted with a few sections: the waveform section, the envelope/pan/key correct section, and the keyboard.
The waveform section is where you will create your waveform, either through dragging points (if you're using coordinate
) or by dragging sliders (if you're using oscillator
), up to 31 points or sliders per waveform. Within that section, you'll also see a waveform selector (choose from A to B and vice versa), a volume slider, and presets for various waveforms as well as a randomizer and inverter. The waveform selector
allows you to stack two waveforms, each with their own ADSR envelopes and such (to be explained later), leading to potentially more colorful sounds produced.
The envelope/pan/key correct section is where you will set the ADSR for the current waveform. A quirk with ptVoice is that ADS is drawn in the envelope box however you see fit; release is set with a slider below said envelope box. Below the ADSR controls are waveform pans and key correct (fine tuning), allowing for stereo range and thickness of sounds if you decide to stack two waveforms in one ptVoice.
The keyboard section is simply to select which octave range to test the instrument with on your computer keyboard, which is perfect for testing your instrument in a variety of ranges such as bass or high ranges.
Some tips to get the most out of ptVoice:
- Use Edit -> Copy A to B to make waveform stacking easier. From there, you can just go to the other waveform and make any necessary modifications, rather than going back and forth between the two constantly.
- If you want to create waveforms right off the bat, mash the ? button to the right of the waveform section until you get a sound that you like. Use the coordinate type for harsher sounding waveforms and the oscillator type for softer sounding waveforms. From there, you can make any necessary modifications to best get the sound you want.
- The A and B waveforms have their own separate ADSRs and pan/key correct values. You can use the differing ADSRs to create your own unique progression of tone.
More on how to use ptNoise
"You can only input numbers in this program, so just experiment however you want.
- ptNoise manual
Studio Pixel does kinda have a point when he says to just experiment with numbers, but it still would help to have a fundamental understanding of what the numbers mean
in regards to this program.
When you open up ptNoise, you will be greeted with three windows: pxtone Noise, Design Noise, and History. pxtone Noise is where you can see a visualization of your generator ptNoise waveform, Design Noise is where you will design your waveform (and where you're going to spend most of your time in this program), and History is simply a history of all of the ptNoise builds you've created.
In Design Noise, you will see the following sections: Envelope, Pan, Main, Frequency, Volume, Sample Num (or length), and Build.
is where you will control the volumes of the ptNoise. The percentages represent the volume while the seconds indicate the time it takes to get to said volume (having a second value on the first envelope parameter is the equivalent of setting its attack). You can set up to three envelope parameters in this section.
should be self-explanatory enough: it sets up the panning for the current layer of the ptNoise.
is what the main sound of that layer will play. The Type
indicates what kind of waveform will play; refer to the chart located on the right of the Design Noise window for a visualization of each waveform. Reverse
inverts the waveform, Freq
sets the frequency of the waveform, Volume
sets the default volume for that waveform, and Offset
shifts the waveform.
is how much the main sound is modulated pitch-wise. The Type
indicates what the modulating waveform will be. Reverse
inverts the modulating waveform, Freq
sets the frequency of the modulating waveform, Volume
sets how high the modulation will occur, and Offset
shifts the modulating waveform.
does the same thing as Frequency, only with the waveform volume instead of its pitch. Values should work the same way as Frequency.
is essentially the length of the ptNoise waveform. It is recommend to set this value to as long as the second values in the Envelope section (44100Hz = 1sec. of waveform).
should also be self-explanatory enough: it builds the current waveform based on the parameters given.
Some tips to get the most out of ptNoise:
- As mentioned before, Studio Pixel does have a point when he says to just experiment with numbers. The way the program's designed is essentially made for rapid iteration, which will help in fine-tuning ptNoises into what you want them to be (even if you really are just dicking around with numbers in boxes).
- You can layer multiple waveforms (up to 4 in comparison to ptVoice's 2) in a ptNoise, though keep in mind that these waveforms will be, indeed, layered
and not chained within each other. This means that you probably won't be able to create THAT much voodoo magic with this program, but you can still get far with the layering it offers.
Known limitations and quirks of pxtone Collage
While samples are allowed and utilized in pxtone, their usage is quite limited in comparison to s3xmodits. For starters, you can only trigger from the beginning from the sample, so samples containing multiple sounds will need to be cut into separate samples beforehand. It is possible to pitch samples higher and lower, though keep in mind that the pitching will speed up and slow down the sample, which means higher pitches will play quicker. Samples can also be looped, though it will loop through the whole sample and not a specified section. (In ptcollab, samples with loop points will be unrolled to extend the length of the sound. This is especially useful for small looped samples such as those from SNES games or old tracker modules.)
As mentioned before, a quirk about pxtone is that everything is tuned to the key of A instead of C (with no way of changing this), so samples used in a pxtone should probably be tuned to that key if possible.
As for technical limits, they are as follows:
- Maximum of 100 voices
- Maximum of 50 units
- Maximum of 500,000 events
In other words, you can have 100 samples and ptVoice/ptNoise instruments and 50 channels with which to place said samples on. An event constitutes of the following:
- A unit
- Note start
- Note end
- Any tick in the volume panel
which means that every note that is placed will occupy a minimum of 3 events: note start, note end, and velocity. You will need to make something really long and really elaborate to even come close to using all 500,000 events, so feel free to let your hair down on composition.
- pxtone (format)