Multi-channel audio file

Does the API currently recognise audio files that have more than 2 channels (i.e. 8/16 channels) - can it read a file header and decide what to do with the data?

The idea being that you could load a multi-channel file and split it into separate instruments.

cheers

No, but you could write a script for that (which would be pretty slow, so maybe just using a terminal command behind the scenes).

so run a shell script to do the hard work - so it would split the files externally, then the tool could load them into separate instruments?

At least that I would imagine to be the best way. But maybe others know more. Shouldn’t be too complicated, once you found such a command tool, but it also should return the filetype for checking?

ffmpeg looks like it would fit the bill

Just weighing up the time investment to develop such a tool vs doing the job manually as and when :slight_smile:

could be pretty powerful though, when creating the instruments en-masse

2 Likes

Maybe sox?

sound - What’s the fastest way to extract just one channel (left or right) from an audio CD? - Ask Ubuntu

sox stereo_inputfile.wav leftchannel.wav remix 1

But I don’t know what happens with values greater than 2 as I don’t have (as far as I know) anything more than stereo files to test this on.

yeah I was looking at sox; it seems a bit simpler - smaller and direct maybe? - than ffmpeg

I did a quick test from the command line (with a 12 channel file) and it’s straightforward to bump the remix value 1,2,3…etc to split the channels into individual files. I’m gonna have a go at it, see how far I get :+1:

1 Like

fyi; there’s this tool for Renoise that uses SOX for different batch processing purposes;

perhaps you can remix the tool for your multi-channel wishes?

great thanks for the heads up! I’ll check it out

No problem! Also take note there is the CDP tool for Renoise ( CDP Interface | Renoise ).

CDP originally offers different possibilities to manipulate multi-channel files. Unfortunately these are not supported right now in the tool though some of the multi channel processes can still be accessed from the EXE filter menu in the gui. Often the channel amount has automatically been restricted to the amount of 2 or less, as inputting more channels would throw an error anyway, but perhaps if you can fathom the code, you can remix in the support? :sunglasses:

There’s some cool processing options available ( http://www.ensemble-software.net/CDPDocs/html/cgromc.htm );

CDP MULTI-CHANNEL Functions

(with Command Line Usage)

Introduction

Unlike most other CDP process groups, there is no group program called ‘MULTICHANNEL’. The functions listed below are all separate programs, except for the TANGENT and TRANSIT groups. There is also the MULTI-CHANNEL TOOLKIT group of file-handling functions, documented separately. Various other multi-channel functions have also been documented elsewhere and these are listed below under “Other Multi-Channel Processes”.

The multi-channel facilities described here generate and manipulate multi-channel wav (or aiff) soundfiles. The (N) channels of these files can be sent to (N) loudspeakers arranged in an arc or a ring around the listener. In the descriptions and explanations given, a clockwise ring arrangement is assumed.
However, it is not essential. For example:

  • The loudspeakers can be arranged in any spatial location or orientation desired.
  • The output channels can be assigned to loudspeakers in any way desired.
  • The output soundfile can be converted to an Ambisonic or some other format, using the Multi-channel Toolkit.

If you do not have a multi-channel soundcard or multiple speakers, there is still much that can be done with these programs. Many processes distibute segments of sound over multi-channel space, but these channels can be split into separate files via HOUSEKEEP CHANS 2 or CHANNELX and re-combined by mixing or interleaving, via INTERLX or SUBMIX INTERLEAVE.

ALSO SEE: OVERVIEW of multi-channel facilities available via CDP.

Index of Multi-Channel functions

[All functions are separate stand-alone programs except those in the Tangent and Transit groups.]

FLUTTER

Add multi-channel-distributed tremolo to a multi-channel file

FRACTURE

Disperese a mono signal into fragments spread over N-channel space

FRAME SHIFT

Reorient or rotate a multi-channel file

MCHANPAN

Pan sounds around a multi-channel space

MCHANREV

Create multi-channel Echoes or Reverb

MCHITER

Iterate the input sound in a fluid manner, scattering around a multi-channel space

MCHSHRED

Sound is cut into random segments which are then reassembled in random order within the original duration

MCHSTEREO

Combine stereo files in a multi-channel output

MCHZIG

Extend by reading back and forth in the soundfile, while panning to a new channel at each ‘zig’ or ‘zag’

MTON

Create a multi-channel equivalent of a mono soundfile

MULTIMIX CREATE

Create a multi-channel mixfile

NEWMIX

Mix from a multi-channel mixfile to give a multi-channel soundfile output

PANORAMA

Distribute N source files in a panorama across a specified angle of a sound-surround loudspeaker array

STRANS MULTI

Change the speed or pitch of a multi-channel sound, or add vibrato

TANGENT GROUP:

TANGENT ONEFILE

Make a mixfile to play repeats of a mono soundfile along a tangent path

TANGENT TWOFILES

Make a mixfile to play repeats of two synchronised mono soundfiles along a tangent path

TANGENT SEQUENCE

Make a mixfile to play a sequence of mono soundfiles along a tangent path

TANGENT LIST

Make a mixfile to play a sequence of mono soundfiles as listed in a textfile along a tangent path

TEXMCHAN

Create textures over a multi-channel frame

TRANSIT GROUP:

TRANSIT SIMPLE

Place repetitions of a mono soundfile on a path into and across an 8-channel array

TRANSIT FILTERED

Place filtered repetitions of a mono soundfile on a path into and across an 8-channel array

TRANSIT DOPPLER

Place pitch-shifted repetitions of a mono soundfile on a path into and across an 8-channel array, suggesting a doppler shift

TRANSIT DOPLFILT

Doppler effect on a path into and across an 8-channel array with filtering, to suggest greater distance

TRANSIT SEQUENCE

Position a sequence of mono sounds (at least 3) on a path into and across an 8-channel array

TRANSIT LIST

Position a sequence of mono sounds (at least 3), as listed in a textfile, on a path into and across an 8-channel array

OTHER MULTI-CHANNEL PROCESSES:

MULTI-CHANNEL TOOLKIT

Multi-Channel File Handling Functions

NEWTEX

Generate a texture of grains made from a source sound or sounds

WRAPPAGE

Brassage on one or more sounds, with (moving) multi-channel output

OVERVIEW

An overview of multi-channel facilities available via CDP

Technical Discussion

On setting up a multi-channel composing environment

Appendix 1: M-C Mixfiles

MULTIMIX and multi-channel mixfiles

1 Like