Z/3 Channel audio file possible?


I have been going down the oscilloscope music rabbit hole, and I saw that there is an experimental feature in oscilloscope that allows for a Z channel to be run through the software for blanking, which I know isn’t “officially” supported, but it still a very cool feature! I have been doing all of my oscilloscope artwork in software simply because I don’t have an expensive audio card with DC offset (yet) to play the sound through an oscilloscope.

I was playing with the REWEREHERE software, which takes advantage of the Z channel, and so I recorded all 3 channels in mono in Ableton, and through research, found that Audacity had the capability to export a .WAV file with a custom number of channels, so I exported a 3 channel (X,Y,Z) .WAV file with my fingers crossed that Oscilloscope would recognize it, but alas, it did not (It recognized X and Y only).

I know that Oscilloscope isn’t paid software, so it’s not really my place to beg for that feature, but would it be a difficult feature to implement? It’s halfway there already through the microphone implementation. I would love to be able to render out oscilloscopes using the Z Channel blanking feature!


Through some google searching I came across this

bool decode_next_frame();
bool isMonoFile{false};
bool isQuadFile{false};

// the next three options are mutually exclusive
typedef enum FileType{
	MONO, // mono file. to be displayed on the y axis, with a sawtooth driving the x axis
	STEREO, // stereo file. to be displayed as x-y signal
	STEREO_ZMODULATED, // stereo file + z modulation
	QUAD // 2 x stereo file

// type of the loaded file. this is kinda important so you know how to
// interpret the left/right/zMod buffers
FileType fileType;

MonoSample mainOut; // interleaved main output
MonoSample left192;
MonoSample right192;
MonoSample left192; // left output (in quad mode both of the left channels interleaved)
MonoSample right192; // right output (in quad mode both the right channels interleaved)
MonoSample zMod192; // z modulation

It appears the feature already exists, but I can’t figure out how to use it properly. Could I get some guidance on how to achieve this? It would be greatly appreciated!


Found my answer!

And I didn’t see the button, but I got it working!

Feel free to delete this thread, or leave it up for others. Sorry to pollute the board.


no worries, glad you figured it out!