A newer version of Max is available. Click here to access the latest version of this document.

record~

Record sound into a buffer

Description

record~ records a signal into a buffer~ object. You can record up to 4 channels by specifying the optional argument. Recording stops when the buffer~ is filled.

Examples

Store a signal excerpt for future use

Arguments

buffer-name [symbol]

Obligatory. Names the buffer~ where record~ will write the recorded samples.

input-channels [int]

Optional

Specifies the number of input channels (1, 2, or 4). This determines the number of inlets record~ has. The two rightmost inlets always set the record start and end points.

Attributes

append [int]

The word append, followed by a non-zero number, enables append mode. In this mode, when recording is turned on, it continues from where it was last stopped. append 0 disables append mode. In this case, recording always starts at the start point when it is turned on. Append mode is off initially by default.

loop [int]

The word loop, followed by a non-zero number, enables loop recording mode. In loop mode, when recording reaches the end point of the recording (see above) it continues at the start point. loop 0 disables loop recording mode. In this case, recording stops when it reaches the end point. Loop mode is off initially by default. The record~ object also takes into account any changes in the buffer~ object's sampling rate if the buffer~ object's length is modified for the purpose of establishing loop points.

loopend [10 atoms]

Sets the loop end point for the object. The sampling interval can be specified in any of the time formats used in Max.

loopstart [10 atoms]

Sets the loop start point for the object. The sampling interval can be specified in any of the time formats used in Max.

transport [symbol]

The name of a transport object with which to associate. By default the global transport is used.

Common Box Attributes

annotation [symbol]

Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.

background [int] (default: 0)

Adds or removes the object from the patcher's background layer. background 1 adds the object to the background layer, background 0 removes it. Objects in the background layer are shown behind all objects in the default foreground layer.

color [4 floats]

Sets the color for the object box outline.

fontface [int]

Sets the type style used by the object. The options are:

plain
bold
italic
bold italic

Possible values:

0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'

fontname [symbol]

Sets the object's font.

fontsize [float]

Sets the object's font size (in points).

Possible values:

'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'

hidden [int] (default: 0)

Toggles whether an object is hidden when the patcher is locked.

hint [symbol]

Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.

ignoreclick [int] (default: 0)

Toggles whether an object ignores mouse clicks in a locked patcher.

patching_rect [4 floats] (default: 0. 0. 100. 0.)

Sets the position and size of the object in the patcher window.

position [2 floats]

g/s(set)

Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.

presentation [int] (default: 0)

Sets whether an object belongs to the patcher's presentation.

presentation_rect [4 floats] (default: 0. 0. 0. 0.)

Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.

rect [4 floats]

g/s(set)

Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).

size [2 floats]

g/s(set)

Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.

textcolor [float]

Sets the color for the object's text in RGBA format.

textjustification [int]

Text Justification

Possible values:

0 = 'left'
1 = 'center'
2 = 'right'

varname [symbol]

Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.

Messages

int

Arguments

recording-flag (0 or nonzero) [int]
In left inlet: Any non-zero number starts recording; 0 stops recording. Recording starts at the start point unless append mode is on.

In the inlet to the left of the right inlet: Set the start point within the buffer~ (in milliseconds) for the recording. By default, the start point is 0 (the beginning of the buffer~).

In right inlet: Sets the end point of the recording. By default, the end point is the end of the buffer~ object's allocated memory.

float

Arguments

recording-flag (0 or nonzero) [float]
In left inlet: Any non-zero number starts recording; 0 stops recording. Recording starts at the start point unless append mode is on.

In the inlet to the left of the right inlet: Set the start point within the buffer~ (in milliseconds) for the recording. By default, the start point is 0 (the beginning of the buffer~).

In right inlet: Sets the end point of the recording. By default, the end point is the end of the buffer~ object's allocated memory.

list

Arguments

loop-start/loop-end/timing-parameters [list]
list can be used to specify loop-start and loop-end points or timing/synchronization settings for transport.

anything

Arguments

loop-start/loop-end/timing-parameters [list]
list can be used to specify loop-start and loop-end points or timing/synchronization settings for transport.

(mouse)

Double-clicking on record~ opens an editing window where you can view the contents of its associated buffer~ object.

set

Arguments

buffer-name [symbol]
The word set, followed by the name of a buffer~, changes the buffer~ where record~ will write the recorded samples.

reset

The word reset resets the record-loop points to the default values (which record through the whole duration of the assigned buffer~).

signal

In left inlet: When recording is turned on, the signal is recorded into the sample memory of a buffer~ at the current sampling rate.

In middle inlets: If record~ has more than one input channel, these inlets record the additional channels into the buffer~.

Output

signal

Sync output. During recording, this outlet outputs a signal that goes from 0 when recording at the start point to 1 when recording reaches the end point. When not recording, a zero signal is output.

See Also

Name Description
2d.wave~ Two-dimensional wavetable
buffer~ Store audio samples
groove~ Variable-rate looping sample playback
play~ Position-based sample playback
transport Control a master clock
MSP Sampling Tutorial 1: Recording and Playback MSP Sampling Tutorial 1: Recording and Playback