var extsnd_addmark_tip = "(add-mark samp snd chn name (sync 0))
:
" +
" add a mark at sample 'samp' returning the mark id.";
var extsnd_addsoundfileextension_tip = "(add-sound-file-extension ext)
:
" +
" add the file extension 'ext' to the list of sound file extensions";
var extsnd_addtomenu_tip = "(add-to-menu menu label func position)
:
" +
" add label to menu (a main menu index),
" +
" invoke func (a function of no args) when the new menu is activated.
" +
" Return the new menu label widget.";
var extsnd_addtransform_tip = "(add-transform name x-label low high func)
:
" +
" add the transform func to the transform lists;
" +
" func should be a function of two arguments,
" +
" the length of the transform and a sampler to get the data,
" +
" and should return a float-vector containing the transform results.
" +
" name is the transform's name, x-label is its x-axis label,
" +
" and the relevant returned data to be displayed goes from low to high (normally 0.0 to 1.0)";
var extsnd_afterapplycontrolshook_tip = "after-apply-controls-hook (snd)
: called when apply-controls finishes.";
var extsnd_aftergraphhook_tip = "after-graph-hook (snd chn)
: called after a graph is updated.";
var extsnd_afteropenhook_tip = "after-open-hook (snd)
: called just before the new file's window is displayed.
" +
" This provides a way to set various sound-specific defaults.
" + " (hook-push after-open-hook"; var extsnd_aftersaveashook_tip = "
" + " (lambda (snd)
" + " (if (> (channels snd) 1)
" + " (set! (channel-style snd) channels-combined))))
after-save-as-hook (saved-sound-index save-as-full-filename from-save-as-dialog)
:after-save-state-hook (filename)
: called after Snd state has been saved;after-transform-hook (snd chn scaler)
: called just after a spectrum is calculated.";
var extsnd_ampcontrol_tip = "(amp-control snd chn)
: current amp slider setting";
var extsnd_applycontrols_tip = "(apply-controls snd (choice 0) (beg 0) (dur len))
:(as-one-edit thunk origin)
: evaluate thunk,(axis-info snd chn (ax time-graph))
: info about axis:(list losamp hisamp x0 y0 x1 y1 xmin ymin xmax ymax pix_x0 pix_y0 pix_x1 pix_y1"; var extsnd_axislabelfont_tip = "
" + " y_offset xscale yscale xlabel ylabel new-peaks)
(axis-label-font)
: font used for axis labels";
var extsnd_axisnumbersfont_tip = "(axis-numbers-font)
: font used for axis numbers";
var extsnd_badheaderhook_tip = "bad-header-hook (filename)
: called if a file has some bogus-looking header.(basic-color)
: Snd's basic color";
var extsnd_beatsperminute_tip = "(beats-per-minute snd chn)
: beats per minute if x-axis-style is x-axis-in-beats";
var extsnd_beforeclosehook_tip = "before-close-hook (snd)
: called each time a file is closed (before the close).before-exit-hook ()
: called upon exit. If it returns #t, Snd does not exit.before-save-as-hook (index filename selection srate type format comment)
:before-save-state-hook (filename)
: called before Snd state is saved.(bes-j0 x) returns the Bessel function J0(x)";
var extsnd_bindkey_tip = "(bind-key key modifiers func extended origin prefs-info)
:
" +
" causes 'key' (an integer, character, or string) when typed with 'modifiers'
" +
" (0:none, 4:control, 8:meta) (and C-x if extended) to invoke 'func', a function of zero or one arguments.
" +
" If the function takes one argument, it is passed the preceding C-u number, if any.
" +
" The function should return one of the cursor choices (e.g. keyboard-no-action).
" +
" 'origin' is the name reported if an error occurs.
" +
" The 'key' argument can be the X/Gtk name of the key (e.g. \"plus\" for \"+\" or \"Home\"),
" +
" the character on the key (#\x07), or the integer corresponding to that character:
" +
" (\"(char->integer #\x07)\" in Scheme, or \"?a\" in Ruby.";
var extsnd_boldpeaksfont_tip = "(bold-peaks-font)
: bold font used by fft peak display";
var extsnd_channels_tip = "(channels snd)
: how many channels snd has";
var extsnd_channelstyle_tip = "(channel-style snd)
: how multichannel sounds lay out the channels.
" +
" The default is channels-combined; other values are channels-separate and channels-superimposed.
" +
" As a global (if the 'snd' arg is omitted), it is the default setting for each sound's 'unite' button.";
var extsnd_channelwidgets_tip = "(channel-widgets snd chn)
: a list of widgets: ((0)graph (1)w (2)f (3)sx (4)sy (5)zx (6)zy (7)edhist)";
var extsnd_chans_tip = "(channels snd)
: how many channels snd has";
var extsnd_cliphook_tip = "clip-hook (clipping-value)
is called each time a sample is about to be clipped
" +
" upon being written to a sound file. The hook function can return the new value to be written,
" +
" or rely on the default (-1.0 or 1.0 depending on the sign of 'clipping-value').";
var extsnd_clmchannel_tip = "(clm-channel gen (beg 0) (dur len) snd chn edpos (overlap 0) origin)
:
" +
" apply gen to snd's channel chn starting at beg for dur samples.
" +
" overlap is the 'ring' time, if any.";
var extsnd_closehook_tip = "close-hook (snd)
: called each time a file is closed (before the close).";
var extsnd_closesound_tip = "(close-sound snd)
: close snd";
var extsnd_comment_tip = "(comment snd)
: snd's comment (in its header)";
var extsnd_cursor_tip = "(cursor snd chn edpos)
: current cursor location in snd's channel chn";
var extsnd_cursorcontext_tip = "graphics context for the cursor";
var extsnd_dacsize_tip = "(dac-size)
: the current DAC buffer size in framples (256)";
var extsnd_datacolor_tip = "(data-color)
: color used to draw unselected data";
var extsnd_sampletype_tip = "(data-format snd)
: snd's data format (e.g. mus-bshort)";
var extsnd_datalocation_tip = "(data-location snd)
: snd's data location (bytes)";
var extsnd_defineenvelope_tip = "(define-envelope name data)
: define 'name' to have the value 'data'
" +
" (a list of breakpoints), and load it into the envelope editor.";
var extsnd_deletesamples_tip = "(delete-samples start-samp samps snd chn edpos)
:
" +
" delete 'samps' samples from snd's channel chn starting at 'start-samp'";
var extsnd_dialogwidgets_tip = "(dialog-widgets)
: dialog widgets (each #f if not yet created)
:(list (0 color-dialog) (1 orientation-dialog) (2 enved-dialog)
" +
" (3 #f) (4 #f) (5 transform-dialog) (6 open-file-dialog) (7 save-sound-dialog)
" +
" (8 view-files-dialog) (9 raw data dialog) (10 new file dialog)
" +
" (11 mix-file-dialog) (12 edit-header-dialog) (13 find-dialog)
" +
" (14 help-dialog) (15 listener completion) (16 view-mixes-dialog)
" +
" (17 print-dialog) (19 view-regions-dialog)
" +
" (20 info-dialog) (21 #f) (22 save-selection-dialog)
" +
" (23 insert-file-dialog) (24 save-region-dialog) (25 preferences-dialog))
";
var extsnd_dotsize_tip = "(dot-size snd chn)
: size in pixels of dots when graphing with dots (1)";
var extsnd_drawline_tip = "(draw-line x0 y0 x1 y1 snd chn (ax time-graph))
: draw a line";
var extsnd_drawstring_tip = "(draw-string text x0 y0 snd chn (ax time-graph))
: draw a string";
var extsnd_duringopenhook_tip = "during-open-hook (fd name reason)
:(edit-fragment (ctr current-edit-position) snd chn)
:(edit-position snd chn)
: current edit history position in snd's channel chn";
var extsnd_edits_tip = "(edits snd chn)
: (list undoable-edits redoable-edits)
in snd's channel chn";
var extsnd_emarks_tip = "(marks snd chn edpos)
: list of marks (ids) in snd/chn(env-channel env-gen-or-envelope (beg 0) (dur len) snd chn edpos)
:(enved-target)
: determines how the envelope edit envelope is applied:(enved-wave?)
: #t if the envelope editor is displaying the waveform to be edited";
var extsnd_envsound_tip = "(env-sound env (start-samp 0) (samps len) (env-base 1.0) snd chn edpos)
:(env-selection env (env-base 1.0))
:(regions)
: current active regions (a list of region ids)";
var extsnd_exit_tip = "(exit)
: exit Snd";
var extsnd_exithook_tip = "exit-hook ()
: called upon exit. This can be used to perform cleanup activities.";
var extsnd_expandcontrol_tip = "(expand-control snd)
: current expand slider setting";
var extsnd_expandcontrolp_tip = "(expand-control? snd)
: snd's control panel expand button state";
var extsnd_filename_tip = "(file-name snd)
: snd's full filename";
var extsnd_fillrectangle_tip = "(fill-rectangle x0 y0 width height snd chn (ax time-graph) erase)
: draw a filled rectangle";
var extsnd_filterchannel_tip = "(filter-channel env order beg dur snd chn edpos (truncate #t) origin)
:(filter-selection filter order (truncate #t))
:(filter-sound filter order snd chn edpos origin)
:(focus-widget widget)
: cause widget to receive input focus";
var extsnd_framples_tip = "(framples snd chn edpos)
: number of framples of data in snd's channel chn";
var extsnd_freesampler_tip = "(free-sampler reader)
: free a sampler (of any kind)";
var extsnd_graph_tip = "(graph data xlabel (x0 0.0) (x1 1.0) y0 y1 snd chn (force-display #t) show-axes)
:graph-hook (snd chn y0 y1)
: called each time a graph is about to be updated. graph-once
is the default value of the graph types (time-graph-type and transform-graph-type).";
var extsnd_graphshorizontal_tip = "(graphs-horizontal snd chn)
:(graph-style snd chn)
: graph style, graph-lines graph-dots graph-dots-and-lines graph-lollipops graph-filled
";
var extsnd_headertype_tip = "(header-type snd)
: snd's header type (e.g. mus-aiff
)";
var extsnd_helpdialog_tip = "(help-dialog subject message xrefs urls)
: start the Help window with subject and message";
var extsnd_hidewidget_tip = "(hide-widget widget)
: hide or undisplay widget";
var extsnd_infodialog_tip = "(info-dialog subject message)
: start the Info window with subject and message";
var extsnd_initialgraphhook_tip = "initial-graph-hook (snd chn dur)
:(insert-sound file (beg 0) (file-chan 0) snd chn edpos auto-delete)
: (insert-sound \"oboe.snd\" 1000)
keyboard-no-action
is one of the bind-key function
" +
"return values. It indicates that Snd should not update the graphs.";
var extsnd_leftsample_tip = "(left-sample snd chn)
: left sample number in time domain window";
var extsnd_lispgraph_tip = "the lisp-graph
is the 3rd graph displayed in the channel graphs.";
var extsnd_lispgraphhook_tip = "lisp-graph-hook (snd chn)
: called just before the lisp graph is updated.
" +
" If it returns a list of pixels, these are used in order by the list of graphs
" +
" (if any), rather than Snd's default set; this makes it possible to use different
" +
" colors for the various graphs. If it returns a function (of no arguments),
" +
" that function is called rather than the standard graph routine.";
var extsnd_listenerfont_tip = "(listener-font)
: font used by the lisp listener";
var extsnd_mainwidgets_tip = "(main-widgets)
: top level widgets
" +
" (list (0)main-app (1)main-shell (2)main-pane
" +
" (3)sound-pane (4)listener-pane (5)notebook-outer-pane)
";
var extsnd_makecolor_tip = "(make-color r g b)
: return a color object with the indicated rgb values";
var extsnd_makegraphdata_tip = "(make-graph-data snd chn edpos low high)
:
" +
" return either a float-vector (if the graph has one trace), or a list of two float-vectors
" +
" (the two sides of the envelope graph).
" +
" 'edpos' defaults to the current-edit-position,
" +
" 'low' defaults to the current window left sample, and
" +
" 'high' defaults to the current rightmost sample.
" +
" (graph-data (make-graph-data))
reimplements the time domain graph.";
var extsnd_makemixsampler_tip = "(make-mix-sampler id (beg 0))
:
" +
" return a reader ready to access mix id";
var extsnd_makesampler_tip = "(make-sampler (start-samp 0) snd chn (dir 1) edpos)
:
" +
" return a reader ready to access snd's channel chn's data starting at start-samp,
" +
" going in direction dir (1 = forward, -1 = backward),
" +
" reading the version of the data indicated by edpos which defaults to the current version.
" +
" snd can be a filename, or a sound index number.";
var extsnd_mapchannel_tip = "(map-channel func (start 0) (dur len) snd chn edpos edname)
:
" +
" apply func to samples in current channel;
" +
" edname is the edit history name for this editing operation.
" +
" (map-channel (lambda (y) (* y 2.0)))
";
var extsnd_markclickhook_tip = "mark-click-hook (id)
: called when a mark is clicked;
" +
" return #t to squelch the default message.";
var extsnd_markdraghook_tip = "mark-drag-hook (id)
: called when a mark is dragged";
var extsnd_markhome_tip = "(mark-home id)
: the sound (index) and channel that hold mark id";
var extsnd_markname_tip = "(mark-name id)
: mark's name";
var extsnd_marksample_tip = "(mark-sample id pos)
: mark's location (sample number) at edit history pos";
var extsnd_marksync_tip = "(mark-sync id)
: mark's sync value (default: 0)";
var extsnd_marksyncmax_tip = "(mark-sync-max)
: max mark sync value seen so far";
var extsnd_maxamp_tip = "(maxamp snd chn edpos)
: maxamp of data in snd's channel chn";
var extsnd_mix_tip = "(mix file (beg 0) (file-chan 0) snd chn (with-tag with-mix-tags) auto-delete)
:
" +
" mix channel file-chan of file into snd's channel chn starting at beg (in the output),
" +
" returning the new mix's id. if with-tag is #f, no draggable tag is created.
" +
" If auto-delete is #t, the input file is deleted when it is no longer needed.";
var extsnd_mixamp_tip = "(mix-amp id)
: mix's scaler";
var extsnd_mixcolor_tip = "(mix-color mix-id)
: color of all mix tags
" +
" (if mix-id is omitted), or of mix-id's tag";
var extsnd_mixposition_tip = "(mix-position id)
: mix's begin time in the output in samples";
var extsnd_mixreleasehook_tip = "mix-release-hook (mix-id samps)
:
" +
" called after the mouse has dragged a mix to some new position.
" +
" 'samps' = samples moved in the course of the drag.
" +
" If the hook returns #t, the actual remix is the hook's responsibility.";
var extsnd_mixsamplerQ_tip = "(mix-sampler? obj)
: #t if obj is a mix-sampler";
var extsnd_mixselection_tip = "(mix-selection (beg 0) snd chn (selection-channel #t))
:
" +
" mix the currently selected portion starting at beg";
var extsnd_mixsync_tip = "(mix-sync id)
: mix sync field (an integer)";
var extsnd_mixsyncmax_tip = "(mix-sync-max)
: max mix sync value seen so far";
var extsnd_mixtagy_tip = "(mix-tag-y id)
: height of mix's tag";
var extsnd_musbfloat_tip = "mus-bfloat
data is big-endian float";
var extsnd_musbshort_tip = "mus-bshort
data is big-endian signed 16-bit integer";
var extsnd_mussampletypename_tip = "(mus-data-format-name format)
: data format (e.g. mus-bshort) as a string";
var extsnd_musheadertypename_tip = "(mus-header-type-name type)
: header type (e.g. mus-aiff) as a string";
var extsnd_muslfloat_tip = "mus-lfloat
data is little-endian float";
var extsnd_muslshort_tip = "mus-lshort
data is little-endian signed 16-bit integer";
var extsnd_musosssetbuffers_tip = "(mus-oss-set-buffers num size)
: set Linux OSS 'fragment' number and size.
" +
" If Snd's controls seem sluggish, try (mus-oss-set-buffers 4 12)
" +
" or even (mus-oss-set-buffers 2 12)
.
" +
" This reduces the on-card buffering, but may introduce clicks.";
var extsnd_mussoundchans_tip = "(mus-sound-chans filename)
: channels of data in sound file";
var extsnd_mussoundcomment_tip = "(mus-sound-comment filename)
: comment (a string) found in sound file's header";
var extsnd_mussoundsampletype_tip = "(mus-sound-data-format filename)
: data format (e.g. mus-bshort) of data in sound file";
var extsnd_mussoundduration_tip = "(mus-sound-duration filename)
: duration (in seconds) of sound file";
var extsnd_mussoundframples_tip = "(mus-sound-framples filename)
: framples (samples / channel) in sound file";
var extsnd_mussoundheadertype_tip = "(mus-sound-header-type filename)
: header type (e.g. mus-aifc) of sound file";
var extsnd_mussoundloopinfo_tip = "(mus-sound-loop-info filename)
: synth loop info for sound as a list:
" +
" (start1 end1 start2 end2 base-note base-detune mode1 mode2)
";
var extsnd_mussoundmaxamp_tip = "(mus-sound-maxamp filename)
: maxamps in sound
" +
" (a list of paired amps (as floats) and locations (in samples))";
var extsnd_mussoundmaxampexists_tip = "(mus-sound-maxamp-exists? filename)
: #t if sound's maxamp data is available;
" +
" if it isn't, a call on mus-sound-maxamp has to open and read the data to get the maxamp.";
var extsnd_mussoundopeninput_tip = "(mus-sound-open-input filename)
: open filename for (low-level) sound input,
" +
" return file descriptor (an integer)";
var extsnd_mussoundsamples_tip = "(mus-sound-samples filename)
: samples (framples * channels) in sound file";
var extsnd_mussoundsrate_tip = "(mus-sound-srate filename)
: sampling rate of sound file";
var extsnd_nameclickhook_tip = "name-click-hook (snd)
: called when sound name clicked.
" +
" If it returns #t, the usual informative status area babbling is squelched.";
var extsnd_newsound_tip = "(new-sound :file :header-type :data-format :srate :channels :comment :size)
:
" +
" creates a new sound file with the indicated attributes; if any are omitted,
" +
" the corresponding default-output variable is used.
" +
" The 'size' argument sets the number of samples (zeros) in the newly created sound.
" +
" (new-sound \"test.snd\" mus-next mus-bshort 22050 1 \"no comment\" 1000)
";
var extsnd_nextsample_tip = "(next-sample reader)
: next sample from reader";
var extsnd_normalizefft_tip = "(transform-normalization snd chn)
:
" +
" decides whether spectral data is normalized before display;
" +
" can be dont-normalize, normalize-by-channel (default), normalize-by-sound, or normalize-globally.";
var extsnd_openfiledialog_tip = "(open-file-dialog (managed #t))
:
" +
" create the file dialog if needed and display it if 'managed'";
var extsnd_openhook_tip = "open-hook (filename)
: called each time a file is opened
" +
" (before the actual open). If it returns #t, the file is not opened.";
var extsnd_openrawsoundhook_tip = "open-raw-sound-hook (filename current-choices)
:
" +
" called when a headerless sound file is opened.
" +
" Its result can be a list describing the raw file's attributes
" +
" (thereby bypassing the Raw File Dialog and so on).
" +
" The list (passed to subsequent hook functions as 'current-choice')
" +
" is interpreted as (list chans srate data-format data-location data-length)
" +
" where trailing elements can be omitted (location defaults to 0,
" +
" and length defaults to the file length in bytes).";
var extsnd_opensound_tip = "(open-sound filename)
: open filename
" +
" (as if opened from File:Open menu option), and return the new sound's index";
var extsnd_padchannel_tip = "(pad-channel beg dur snd chn edpos)
: insert dur zeros at beg in snd's chn";
var extsnd_peaksfont_tip = "(peaks-font)
: normal font used by fft peak display";
var extsnd_play_tip = "(play object :start :end :channel :edit-position :out-channel :with-sync :wait :stop):
" +
" play the object from start to end.
" +
" If channel is not given, play all channels.
" +
" If with-sync, play all objects sync'd to the current object.
" +
" If wait, wait for the play process to finish before going on.
" +
" If out-channel, send the samples to that DAC channel.
" +
" If edit-position, play that member of the edit list.
" +
" If stop, call that function when the play process finishes.
" +
" If object is a string, it is assumed to be a file name.";
var extsnd_positiontox_tip = "(position->x val snd chn (ax time-graph))
: x axis value corresponding to pixel val";
var extsnd_previoussample_tip = "(previous-sample reader)
: previous sample from reader";
var extsnd_readmixsample_tip = "(read-mix-sample reader)
: read sample from mix reader";
var extsnd_readonly_tip = "(read-only snd)
: whether snd is write-protected";
var extsnd_readsample_tip = "(read-sample reader)
: get the next sample from the sampler";
var extsnd_regionframples_tip = "(region-framples (reg 0) (chan 0))
: region length in framples";
var extsnd_regionok_tip = "(region? reg)
: #t if region is active";
var extsnd_regularizedargs_tip = "The \"regularized\" functions take arguments in the order
" +
" begin time, duration (not end sample), sound index, channel number, and edit position.";
var extsnd_statusreport_tip = "(status-report msg snd)
: display msg in snd's status area.";
var extsnd_restorecontrols_tip = "(restore-controls snd)
: restore the previously saved control panel settings";
var extsnd_reversesound_tip = "(reverse-sound snd chn edpos)
: reverse snd's channel chn";
var extsnd_revertsound_tip = "(revert-sound snd)
: return 'snd' to its unedited state (undo all edits).";
var extsnd_rightsample_tip = "(right-sample snd chn)
: right sample number in time domain window";
var extsnd_sample_tip = "(sample samp snd chn edpos)
:
" +
" return sample samp in snd's channel chn
" +
" (this is a slow access -- use samplers for speed)";
var extsnd_sampleratendQ_tip = "(sampler-at-end? obj)
: #t if sampler has reached the end of its data";
var extsnd_samples_tip = "(samples (start-samp 0) (samps len) snd chn edpos)
:
" +
" return a float-vector containing snd channel chn's samples starting a start-samp for samps samples;
" +
" edpos is the edit history position to read (defaults to current position).";
var extsnd_savedir_tip = "(save-dir)
: name of directory for saved state data (or #f=null)";
var extsnd_savehook_tip = "save-hook (snd name)
: called each time a file is about to be saved.
" +
" If it returns #t, the file is not saved.
" +
" 'name' is #f unless the file is being saved under a new name (as in sound-save-as).";
var extsnd_savesound_tip = "(save-sound snd)
: save snd
" +
" (update the on-disk data to match Snd's current version)";
var extsnd_savesoundas_tip = "(save-sound-as :file :sound :header-type :data-format :srate :channel :edit-position :comment)
:
" +
" save sound in file using the indicated attributes.
" +
" If channel is specified, only that channel is saved (extracted).
" +
" Omitted arguments take their value from the sound being saved.
" +
" (save-sound-as \"test.snd\" index mus-next mus-bshort)
";
var extsnd_savestatehook_tip = "save-state-hook (temp-filename)
: called each time the save-state
" +
" mechanism is about to create a new temporary file to save some edit history
" +
" sample values. temp-filename is the current file.
" +
" If the hook returns a string, it is treated as the new temp filename.
" +
" This hook provides a way to keep track of which files are in a given
" +
" saved state batch, and a way to rename or redirect those files.";
var extsnd_scaleby_tip = "(scale-by scalers snd chn)
: scale snd by scalers (following sync);
" +
" scalers can be a float or a float-vector/list of floats";
var extsnd_scalechannel_tip = "(scale-channel scaler (beg 0) (dur len) snd chn edpos)
:
" +
" scale samples in the given sound/channel between beg and beg + num by scaler.";
var extsnd_scaleselectionby_tip = "(scale-selection-by scalers)
: scale selected portion by scalers";
var extsnd_scaleto_tip = "(scale-to (norms 1.0) snd chn)
: normalize snd to norms (following sync);
" +
" norms can be a float or a float-vector/list of floats";
var extsnd_scanchannel_tip = "(scan-channel func (start 0) (dur len) snd chn edpos)
:
" +
" apply func to samples in current channel (or the specified channel).
" +
" func is a function of one argument, the current sample.
" +
" if func returns non-#f, the scan stops, and the value is returned to the caller
" +
" with the sample number.
" +
" (scan-channel (lambda (y) (> y .1)))
";
var extsnd_scriptarg_tip = "(script-arg)
: where we are in the startup arg list";
var extsnd_scriptargs_tip = "(script-args)
: the args passed to Snd at startup as a list of strings";
var extsnd_searchprocedure_tip = "(search-procedure snd)
: global search function
" +
" (if no 'snd' specified) or sound-local search function";
var extsnd_selectall_tip = "(select-all snd chn)
: make a new selection containing all of snd's channel chn.
" +
" If sync is set, all chans are included.
" +
" The new region id is returned (if selection-creates-region is #t).";
var extsnd_selectedchannel_tip = "(selected-channel snd)
: currently selected channel in snd (or #f if none)";
var extsnd_selecteddatacolor_tip = "(selected-data-color)
: color used for selected data";
var extsnd_selectedgraphcolor_tip = "(selected-graph-color)
: background color of selected data";
var extsnd_selectedsound_tip = "(selected-sound)
: index of currently selected sound (or #f if none)";
var extsnd_selectionframples_tip = "(selection-framples snd chn)
: selection length";
var extsnd_selectionmember_tip = "(selection-member? snd chn)
: #t if snd's channel chn is a member of the current selection";
var extsnd_selectionok_tip = "(selection?)
: #t if selection is currently active, visible, etc";
var extsnd_selectionposition_tip = "(selection-position snd chn)
: selection start samp";
var extsnd_setsamples_tip = "(set-samples start-samp samps data snd chn truncate edname (infile-chan 0) edpos auto-delete)
:
" +
" set snd's channel chn's samples starting at start-samp for samps from data (a vector or string (filename));
" +
" start-samp can be beyond current data end;
" +
" if truncate is #t and start-samp is 0, the end of the file is set to match the new data's end.";
var extsnd_shortfilename_tip = "(short-file-name snd)
: short form of snd's file name (no directory)";
var extsnd_showlistener_tip = "(show-listener (open #t))
: if 'open' opens the lisp listener;
" +
" returns whether the listener is visible.";
var extsnd_showtransformpeaks_tip = "(show-transform-peaks snd chn)
: #t if fft display should include peak list";
var extsnd_sndhelp_tip = "(snd-help (arg 'snd-help) (formatted #t))
: return the documentation associated with its argument.
" +
" The argument can be a string, symbol, or in some cases, the object itself.
" +
" In the help descriptions, optional arguments are in parens with the default value (if any) as the 2nd entry.
" +
" A ':' as the start of the argument name marks a CLM-style optional keyword argument.
" +
" If you load index.scm the functions html and ? can be used in place of help to go to the HTML description,
" +
" and the location of the associated C code will be displayed, if it can be found.
" +
" If help-hook is not empty, it is invoked with the subject and the snd-help result and its value is returned.";
var extsnd_sndprint_tip = "(snd-print str)
: display str in the listener window";
var extsnd_sndspectrum_tip = "(snd-spectrum data (window rectangular-window) (len data-len)
" +
" (linear #t) (beta 0.0) in-place (normalized #t))
:
" +
" magnitude spectrum of data (a float-vector), in data if in-place, using fft-window win and fft length len.";
var extsnd_sndtempnam_tip = "(snd-tempnam)
: return a new temp file name using temp-dir.";
var extsnd_soundfilep_tip = "(sound-file? name)
: #t if name has a known sound file extension";
var extsnd_soundfilesindirectory_tip = "(sound-files-in-directory (directory \".\"))
:
" +
" return a list of the sound files in 'directory'";
var extsnd_soundp_tip = "(sound? (index 0))
: #t if sound associated with 'index' is active (accessible)";
var extsnd_sounds_tip = "(sounds)
: list of active sounds (a list of indices)";
var extsnd_soundwidgets_tip = "(sound-widgets snd)
: returns a list of widgets associated with 'snd':
" +
"(0)pane (1)name (2)control-panel
" +
"(3)status area (4)play-button (5)filter-env
" +
"(6)unite-button (7)name-label (8)name-icon (9)sync-button";
var extsnd_squelchupdate_tip = "(squelch-update snd chn)
: #t if updates (redisplays) are turned off in snd's channel chn";
var extsnd_srate_tip = "(srate snd)
: snd's srate";
var extsnd_srcchannel_tip = "(src-channel ratio-or-env (beg 0) (dur len) snd chn edpos)
:
" +
" sampling-rate convert snd's channel chn by ratio, or following an envelope
" +
" (a list or a CLM env generator).";
var extsnd_srcsound_tip = "(src-sound ratio-or-env (base 1.0) snd chn edpos)
:
" +
" sampling-rate convert snd's channel chn by ratio, or following an envelope.
" +
" A negative ratio reverses the sound";
var extsnd_selectionmaxamp_tip = "(selection-maxamp)
returns the peak amplitude in the selection.";
var extsnd_startplayinghook_tip = "start-playing-hook (snd)
: called when a play request is triggered.
" +
" If it returns #t, the sound is not played.";
var extsnd_startplayingselectionhook_tip = "start-playing-selection-hook ()
: called when the selection starts playing";
var extsnd_stopplaying_tip = "(stop-playing snd)
: stop play (DAC output) in progress";
var extsnd_stopplayinghook_tip = "stop-playing-hook (snd)
: called when a sound finishes playing.";
var extsnd_stopplayingselectionhook_tip = "stop-playing-selection-hook ()
: called when the selection stops playing";
var extsnd_sync_tip = "(sync snd)
: snd's sync value (0 = no sync).
" +
" Some editing operations are applied to all sounds sharing the sync value of the selected sound.";
var extsnd_time_graph_tip = "time-graph is the constant associated with the time domain graph
" +
"The other two graphs are transform-graph
and lisp-graph
";
var extsnd_timegraphtype_tip = "(time-graph-type snd chn)
: graph-as-wavogram if
" +
" Snd's time domain display is a 'wavogram',otherwise graph-once.";
var extsnd_tinyfont_tip = "(tiny-font)
: font use for some info in the graphs";
var extsnd_transformgraphp_tip = "(transform-graph? snd chn)
: #t if fft display is active in snd's channel chn";
var extsnd_transformgraphtype_tip = "(transform-graph-type snd chn)
: can be
" +
" graph-once, graph-as-sonogram, or graph-as-spectrogram.";
var extsnd_transformsize_tip = "(transform-size snd chn)
: current fft size (512)";
var extsnd_undo_tip = "(undo (count 1) snd chn)
: undo 'count' edits in snd's channel chn";
var extsnd_updatesound_tip = "(update-sound snd)
: update snd (re-read it from the disk after flushing pending edits)";
var extsnd_updatetimegraph_tip = "(update-time-graph snd chn)
: redraw snd channel chn's graphs";
var extsnd_updatetransformgraph_tip = "(update-transform-graph snd chn)
: redraw snd channel chn's fft display";
var extsnd_widgetposition_tip = "(widget-position wid)
: widget's position, (list x y), in pixels";
var extsnd_widgetsize_tip = "(widget-size wid)
: widget's size, (list width height), in pixels";
var extsnd_windowheight_tip = "(window-height)
: current Snd window height in pixels";
var extsnd_windowwidth_tip = "(window-width)
: current Snd window width in pixels";
var extsnd_withmixtags_tip = "(with-mix-tags)
: #t if Snd should try to use virtual (tagged) mixing";
var extsnd_withtrackingcursor_tip = "(with-tracking-cursor snd)
:
#t if cursor moves along in waveform display as sound is played";
var extsnd_xaxislabel_tip = "(x-axis-label snd chn (ax time-graph))
: current x axis label";
var extsnd_xaxisstyle_tip = "(x-axis-style snd chn)
: The x axis labelling of the time domain waveform
" +
" can be in seconds (x-axis-in-seconds), in samples (x-axis-in-samples),
" +
" expressed as a percentage of the overall duration (x-axis-as-percentage),
" +
" as a beat number (x-axis-in-beats), as a measure number (x-axis-in-measures),
" +
" or clock-style (dd:hh:mm:ss) (x-axis-as-clock).";
var extsnd_xbounds_tip = "(x-bounds snd chn)
:
a list (x0 x1) giving the current x axis bounds of snd channel chn";
var extsnd_xtoposition_tip = "(x->position val snd chn (ax time-graph))
: x pixel loc of val";
var extsnd_xzoomslider_tip = "(x-zoom-slider snd chn)
: current x axis zoom slider of snd channel chn";
var extsnd_ybounds_tip = "(y-bounds snd chn)
:
a list (low high) giving the current y axis bounds of snd channel chn";
var extsnd_ytoposition_tip = "(y->position val snd chn (ax time-graph))
: y pixel loc of val";
var extsnd_yzoomslider_tip = "(y-zoom-slider snd chn)
: current y axis zoom slider of snd channel chn";
var sndclm_amplitude_modulate_tip = "(amplitude-modulate carrier in1 in2)
: in1 * (carrier + in2)";
var sndclm_array_interp_tip = "(array-interp v phase size)
: v[phase] taking into account wrap-around
" +
" (size is size of data), with linear interpolation if phase is not an integer.";
var sndclm_comb_tip = "(comb gen (val 0.0) (pm 0.0))
: comb filter val, pm changes the delay length.";
var sndclm_contrast_enhancement_tip = "(contrast-enhancement sig (index 1.0))
: sin(sig * pi / 2 + index * sin(sig * 2 * pi))";
var sndclm_convolve_tip = "(convolve gen input-func)
: next sample from convolution generator";
var sndclm_delay_tip = "(delay gen (val 0.0) (pm 0.0))
: delay val
" +
" according to the delay line's length and pm ('phase-modulation').
" +
" If pm is greater than 0.0, the max-size argument used to create gen
" +
" should have accommodated its maximum value.";
var sndclm_dot_product_tip = "(dot-product v1 v2 size)
: sum of (float-vectors) v1[i] * v2[i] (also named scalar product)";
var sndclm_env_tip = "(env gen)
: next sample from envelope generator";
var sndclm_fft_tip = "(mus-fft rl im len (dir 1))
:
" +
" return the fft of float-vectors rl and im which contain
" +
" the real and imaginary parts of the data;
" +
" len should be a power of 2,
" +
" dir = 1 for fft, -1 for inverse-fft";
var sndclm_filetoarray_tip = "(file->array filename chan start samples data)
:
" +
" read the sound file 'filename' placing samples from channel 'chan'
" +
" into the float-vector 'data' starting in the file at frample 'start'
" +
" and reading 'samples' samples altogether.";
var sndclm_filetosample_tip = "(file->sample obj frample chan)
: sample value in sound file read by 'obj' in channel chan at frample";
var sndclm_fir_filter_tip = "(fir-filter gen (input 0.0))
: next sample from FIR filter";
var sndclm_formant_tip = "(formant gen (input 0.0) freq-in-radians)
: next sample from resonator generator";
var sndclm_granulate_tip = "(granulate gen input-func edit-func)
: next sample from granular synthesis generator";
var sndclm_hztoradians_tip = "(hz->radians hz)
: convert frequency in Hz to radians per sample: hz * 2 * pi / srate";
var sndclm_in_any_tip = "(in-any frample chan stream)
: input stream sample at frample in channel chan";
var sndclm_ina_tip = "(ina frample stream)
: input stream sample in channel 0 at frample";
var sndclm_locsig_tip = "(locsig gen loc val)
: add 'val' to the output of locsig at frample 'loc'";
var sndclm_make_comb_tip = "(make-comb :scaler :size :initial-contents (:initial-element 0.0) :max-size (:type mus-interp-linear))
:
" +
" return a new comb filter (a delay line with a scaler on the feedback) of size elements.
" +
" If the comb length will be changing at run-time, max-size sets its maximum length.
" +
" initial-contents can be either a list or a float-vector.";
var sndclm_contrast_enhancement_tip = "(contrast-enhancement input (fm-index 1.0))
" +
" phase-modulates its input.";
var sndclm_make_convolve_tip = "(make-convolve :input :filter :fft-size)
:
" +
" return a new convolution generator which convolves its input with the impulse response 'filter'.";
var sndclm_make_delay_tip = "(make-delay :size :initial-contents (:initial-element 0.0) (:max-size) (:type mus-interp-linear))
:
" +
" return a new delay line of size elements.
" +
" If the delay length will be changing at run-time, max-size sets its maximum length,
" +
" so (make-delay len :max-size (+ len 10))
provides 10 extra elements of delay
" +
" for subsequent phasing or flanging.
" +
" initial-contents can be either a list or a float-vector.";
var sndclm_make_env_tip = "(make-env :envelope (:scaler 1.0) :duration (:offset 0.0) (:base 1.0) :end :length)
:
" +
" return a new envelope generator.
" +
" 'envelope' is a list or float-vector of break-point pairs. To create the envelope,
" +
" these points are offset by 'offset', scaled by 'scaler', and mapped over the time interval
" +
" defined by either 'duration' (seconds) or 'length' (samples).
" +
" If 'base' is 1.0, the connecting segments are linear, if 0.0 you get a step function,
" +
" and anything else produces an exponential connecting segment.";
var sndclm_make_filetosample_tip = "(make-file->sample filename buffer-size)
:
" +
" return an input generator reading 'filename' (a sound file)";
var sndclm_make_filter_tip = "(make-filter :order :xcoeffs :ycoeffs)
:
" +
" return a new direct form FIR/IIR filter, coeff args are float-vectors";
var sndclm_make_fir_filter_tip = "(make-fir-filter :order :xcoeffs)
: return a new FIR filter, xcoeffs a float-vector";
var sndclm_make_formant_tip = "(make-formant :frequency :radius)
:
" +
" return a new formant generator (a resonator).
" +
" radius sets the pole radius (in terms of the 'unit circle').
" +
" frequency sets the resonance center frequency (Hz).";
var sndclm_make_granulate_tip = "(make-granulate :input (:expansion 1.0) (:length .15) (:scaler .6) (:hop .05)
" +
" (:ramp .4) (:jitter 1.0) :max-size :edit)
:
" +
" return a new granular synthesis generator.
" +
" 'length' is the grain length (seconds),
" +
" 'expansion' is the ratio in timing between the new and old (expansion > 1.0 slows things down),
" +
" 'scaler' scales the grains to avoid overflows,
" +
" 'hop' is the spacing (seconds) between successive grains upon output,
" +
" 'jitter' controls the randomness in that spacing,
" +
" 'input' can be a file pointer.
" +
" 'edit' can be a function of one arg, the current granulate generator.
" +
" It is called just before a grain is added into the output buffer.
" +
" The current grain is accessible via mus-data.
" +
" The edit function, if any, should return the length in samples of the grain, or 0.";
var sndclm_make_locsig_tip = "(make-locsig (:degree 0.0) (:distance 1.0) (:reverb 0.0) (:output *output*) (:revout *reverb*)
" +
" (:channels (mus-channels *output*)) (:type mus-interp-linear))
:
" +
" return a new generator for signal placement in n channels. Channel 0 corresponds to 0 degrees.";
var sndclm_make_moving_average_tip = "(make-moving-average :size :initial-contents (:initial-element 0.0))
:
" +
" return a new moving_average generator. initial-contents can be either a list or a float-vector.";
var sndclm_moving_max_tip = "(moving-max gen y)
: return moving window max given input 'y'.
" +
" moving-max is a specialization of the delay generator that produces
" +
" an envelope that tracks the peak amplitude of the last 'size' samples.";
var sndclm_make_ncos_tip = "(make-ncos (:frequency *clm-default-frequency*) (:n 1))
:
" +
" return a new ncos generator, producing a sum of 'n' equal amplitude cosines.";
var sndclm_make_one_pole_tip = "(make-one-pole :a0 :b1)
: return a new one-pole filter; a0*x(n) - b1*y(n-1)";
var sndclm_make_one_zero_tip = "(make-one-zero :a0 :a1)
: return a new one-zero filter; a0*x(n) + a1*x(n-1)";
var sndclm_make_oscil_tip = "(make-oscil (:frequency *clm-default-frequency*) (:initial-phase 0.0))
:
" +
" return a new oscil (sinewave) generator";
var sndclm_make_phase_vocoder_tip = "(make-phase-vocoder :input :fft-size :overlap :interp :pitch :analyze :edit :synthesize)
:
" +
" return a new phase-vocoder generator;
" +
" input is the input function (it can be set at run-time),
" +
" analyze, edit, and synthesize are either #f or functions that replace the default innards of the generator,
" +
" fft-size, overlap and interp set the fftsize, the amount of overlap between ffts, and the time between new analysis calls.
" +
" 'analyze', if given, takes 2 args, the generator and the input function;
" +
" if it returns #t, the default analysis code is also called.
" +
" 'edit', if given, takes 1 arg, the generator; if it returns #t, the default edit code is run.
" +
" 'synthesize' is a function of 1 arg, the generator; it is called to get the current vocoder output.";
var sndclm_make_polyshape_tip = "(make-polyshape (:frequency *clm-default-frequency*) (:initial-phase 0.0) :coeffs (:partials '(1 1)) (:kind mus-chebyshev-first-kind))
:
" +
" return a new polynomial-based waveshaping generator:
" +
" (make-polyshape :coeffs (partials->polynomial '(1 1.0)))
" +
" is the same in effect as make-oscil";
var sndclm_make_polywave_tip = "(make-polyshape (:frequency *clm-default-frequency*) (:partials '(1 1)) (:kind mus-chebyshev-first-kind))
:
" +
" return a new polynomial-based waveshaping generator (additive synthesis).";
var sndclm_make_pulse_train_tip = "(make-pulse-train (:frequency *clm-default-frequency*) (:amplitude 1.0) (:initial-phase 0.0))
:
" +
" return a new pulse-train generator. This produces a sequence of impulses.";
var sndclm_make_rand_interp_tip = "(make-rand-interp (:frequency *clm-default-frequency*) (:amplitude 1.0) :envelope :distribution :size)
:
" +
" return a new rand-interp generator, producing linearly interpolated random numbers.
" +
" frequency is the rate at which new end-points are chosen.";
var sndclm_make_rand_tip = "(make-rand (:frequency *clm-default-frequency*) (:amplitude 1.0) :envelope :distribution :size)
:
" +
" return a new rand generator, producing a sequence of random numbers (a step function).
" +
" frequency is the rate at which new numbers are chosen.";
var sndclm_make_readin_tip = "(make-readin :file (:channel 0) (:start 0) (:direction 1) :size)
:
" +
" return a new readin (file input) generator reading the sound file 'file'
" +
" starting at frample 'start' in channel 'channel' and reading forward if 'direction' is not -1";
var sndclm_make_sampletofile_tip = "(make-sample->file filename chans data-format header-type comment)
:
" +
" return an output generator writing the sound file 'filename'
" +
" which is set up to have 'chans' channels of 'data-format' samples with a header of 'header-type'.
" +
" The latter should be sndlib identifiers:
" +
" (make-sample->file \"test.snd\" 2 mus-lshort mus-riff)
";
var sndclm_make_src_tip = "(make-src :input (:srate 1.0) (:width 10))
: return a new sampling-rate conversion generator
" +
" (using 'warped sinc interpolation').
" +
" 'srate' is the ratio between the new rate and the old.
" +
" 'width' is the sine width (effectively the steepness of the low-pass filter), normally between 10 and 100.
" +
" 'input' if given is an open file stream.";
var sndclm_make_triangle_wave_tip = "(make-triangle-wave (:frequency *clm-default-frequency*) (:amplitude 1.0) (:initial-phase 0.0))
:
" +
" return a new triangle-wave generator.";
var sndclm_make_two_zero_tip = "(make-two-zero :a0 :a1 :a2 or :frequency :radius)
:
" +
" return a new two-zero filter; a0*x(n) + a1*x(n-1) + a2*x(n-2)";
var sndclm_moving_average_tip = "(moving-average gen (val 0.0))
: moving window moving_average.";
var sndclm_mus_close_tip = "(mus-close gen)
: close the IO stream managed by 'gen' (a sample->file generator, for example)";
var sndclm_mus_data_tip = "(mus-data gen)
: gen's internal data (a float-vector)";
var sndclm_mus_frequency_tip = "(mus-frequency gen)
: gen's frequency (Hz)";
var sndclm_mus_increment_tip = "(mus-increment gen)
: gen's mus-increment field";
var sndclm_mus_length_tip = "(mus-length gen)
: gen's length";
var sndclm_mus_offset_tip = "(mus-offset gen)
: gen's offset";
var sndclm_mus_scaler_tip = "(mus-scaler gen)
: gen's scaler, if any.
" +
" This is often an amplitude adjustment of some sort.";
var sndclm_ncos_tip = "(ncos gen (fm 0.0))
: get the next sample from 'gen', an ncos generator";
var sndclm_oscil_tip = "(oscil gen (fm 0.0) (pm 0.0))
:
" +
" next sample from oscil gen: val = sin(phase + pm); phase += (freq + fm)";
var sndclm_out_any_tip = "(out-any frample val chan stream)
: add val to output stream at frample in channel chan";
var sndclm_outa_tip = "(outa frample val stream)
: add val to output stream at frample in channel 0";
var sndclm_outb_tip = "(outb frample val stream)
: add val to output stream at frample in channel 1 (counting from 0)";
var sndclm_output_tip = "*output*
is the direct signal output stream. The reverb input is sent to *reverb*.";
var sndclm_partialstopolynomial_tip = "(partials->polynomial partials (kind mus-chebyshev-first-kind))
:
" +
" produce a Chebyshev polynomial suitable for use with the polynomial generator
" +
" to create (via waveshaping) the harmonic spectrum described by the partials argument:
" +
" (let ((v0 (partials->polynomial '(1 1.0 2 1.0)))
(os (make-oscil)))
(polynomial v0 (oscil os)))
";
var sndclm_phase_vocoder_tip = "(phase-vocoder gen input-function analyze-func edit-func synthesize-func)
: next phase vocoder value";
var sndclm_polynomial_tip = "(polynomial coeffs x)
: evaluate a polynomial at x.
" +
" coeffs are in order of degree, so coeff[0] is the constant term.";
var sndclm_polyshape_tip = "(polyshape gen (index 1.0) (fm 0.0))
:
" +
" next sample of polynomial-based waveshaper";
var sndclm_polywave_tip = "(polywave gen (fm 0.0))
:
" +
" next sample of polynomial-based waveshaper (additive synthesis)";
var sndclm_pulse_train_tip = "(pulse-train gen (fm 0.0))
: next pulse train sample from generator";
var sndclm_rand_interp_tip = "(rand-interp gen (fm 0.0))
: gen's current (interpolating) random number.
" +
" fm modulates the rate at which new segment end-points are chosen.";
var sndclm_rand_tip = "(rand gen (fm 0.0))
: gen's current random number.
" +
" fm modulates the rate at which the current number is changed.";
var sndclm_readin_tip = "(readin gen)
: next sample from readin generator (a sound file reader)";
var sndclm_reverb_tip = "*reverb*
is the reverb stream. The direct signal is sent to *output*.";
var sndclm_secondstosamples_tip = "(seconds->samples secs)
: use mus-srate to convert seconds to samples";
var sndclm_spectrum_tip = "(spectrum rdat idat window norm-type
: return the spectrum of rdat and idat.
" +
"norm-type defaults to linear (1); the other choices are raw (unnormalized: 2), and dB (0).";
var sndclm_src_tip = "(src gen (pm 0.0) input-function)
: next sampling rate conversion sample.
" +
" 'pm' can be used to change the sampling rate on a sample-by-sample basis.
" +
" 'input-function' is a function of one argument (the current input direction, normally ignored)
" +
" that is called internally whenever a new sample of input data is needed.
" +
" If the associated make-src included an 'input' argument, input-function is ignored.";
var sndclm_tap_tip = "(tap gen (pm 0.0))
: tap the delay generator offset by pm";
var sndclm_timestosamples_tip = "(times->samples beg dur)
: returns a list of beg and beg+dur in samples.";
var sndclm_triangle_wave_tip = "(triangle-wave gen (fm 0.0))
: next triangle wave sample from generator";
var sndscm_IIRfilters_tip = "These are simple 2nd order IIR filters in dsp.scm.";
var sndscm_analogfilterdoc_tip = "These are the standard 'analog' IIR filters: Butterworth, Chebyshev, etc.";
var sndscm_channelproperty_tip = "(channel-property key snd chn)
: returns the value associated with 'key'
" +
" in the given channel's property list. To add or change a property,
" +
" use set! with this procedure.
" +
" (set! (channel-property 'info 0 0) \"this is sound 0, first channel\")
" +
" now (channel-property 'info 0 0)
returns \"this is sound 0, first channel\".";
var sndscm_definstrument_tip = "definstrument is very much like define, but with added code to support notehook
" +
" and (for Common Music) *definstrument-hook*.";
var sndscm_envelopeinterp_tip = "(envelope-interp x env (base 1.0)
: returns value of 'env' at 'x'.
" +
" If 'base' is 0, 'env' is treated as a step function;
" +
" if 'base' is 1.0 (the default), the breakpoints of 'env' are connected by a straight line,
" +
" and any other 'base' connects the breakpoints with an exponential curve.";
var sndscm_envelopelastx_tip = "(envelope-last-x env)
: returns the last breakpoint's x axis value in 'env'";
var sndscm_envexptchannel_tip = "(env-expt-channel env exponent (symmetric #t) beg dur snd chn edpos)
:
" +
" applies 'env' to the given channel using 'exponent' for the exponential base.
" +
" The 'symmetric' argument determines whether the up and down moving ramps look
" +
" symmetrical around a break point.";
var sndscm_fmviolin_tip = "The fm-violin instrument uses FM to produce a string-like sound;
" +
" It has many parameters, the principal ones being startime dur frequency amplitude
.
" +
" The code is in v.scm.";
var sndscm_hilberttransform_tip = "(hilbert-transform gen input)
returns the Hilbert transform of 'input'.";
var sndscm_html_function_tip = "(html arg)
where 'arg' can be a string, a symbol, or a procedure
" +
" sends the html reader to the corresponding url in the Snd documents.";
var sndscm_insertchannel_tip = "(insert-channel filedat beg dur snd chn edpos)
:
" +
" inserts the specified data ('filedat') in the given channel at the given location.
" +
" 'filedat' can be either a filename (a string), a sound index, or a list containing
" +
" the filename (or index), the start point in the file, and (optionally) the channel of the file to mix.";
var sndscm_makebandpass_tip = "(make-bandpass flo fhi length)
returns a bandpass filter.";
var sndscm_makebiquad_tip = "(make-biquad a0 a1 a2 b1 b2)
returns a biquad filter section.";
var sndscm_makebutter_tip = "various 2nd order Butterworth filters in dsp.scm.";
var sndscm_makedifferentiator_tip = "(make-differentiator length)
returns a differentiating filter.";
var sndscm_makehighpass_tip = "(make-highpass fc length)
returns a highpass filter.";
var sndscm_makehilberttransform_tip = "(make-hilbert-transform length)
returns a Hilbert transformer.";
var sndscm_makelowpass_tip = "(make-lowpass fc length)
returns a lowpass filter.";
var sndscm_makeramp_tip = "(make-ramp (size 128))
: return a ramp generator.";
var sndscm_makeselection_tip = "(make-selection beg end snd chn)
: makes a selection,
" +
" like make-region but without creating a region.
" +
" It selects 'dur' samples starting at 'beg' in the given channel.";
var sndscm_makespencerfilter_tip = "(make-spencer-filter)
returns an FIR filter with the Spencer (smoothing) coefficients.";
var sndscm_markproperties_tip = "(mark-properties id)
accesses the property list associated with the mark 'id'";
var sndscm_maxenvelope_tip = "(max-envelope env)
: return the maximum y value in 'env'";
var sndscm_moogfilter_tip = "(moog-filter gen input)
: return Moog-style 4-pole lowpass filtering of 'input'";
var sndscm_mpg_tip = "(mpg mpgfile rawfile)
: call mpg123 to translate an MPEG format sound file
" +
" to a headerless (\"raw\") file containing 16-bit samples.";
var sndscm_musfilemix_tip = "(mus-file-mix outfile infile (outloc 0) (framples) (inloc 0) mixer envs)
:
" +
" mix 'infile' into 'outfile' starting at 'outloc' in 'outfile'
" +
" and 'inloc' in 'infile', mixing 'framples' framples into 'outfile'.
" +
" 'framples' defaults to the length of 'infile'.
" +
" If 'mixer', use it to scale the various channels;
" +
" if 'envs' (an array of envelope generators), use it in conjunction with mixer
" +
" to scale and envelope all the various ins and outs.
" +
" 'outfile' can also be a frample->file generator, and
" +
" 'infile' can be a file->frample generator.";
var sndscm_poly_times_tip = "(poly* p1 p2)
multiplies p1 by p2, both polynomials.";
var sndscm_powerenv_tip = "(power-env env)
: an envelope generator where each segment has its own base.";
var sndscm_prc95doc_tip = "various physical modeling functions from Perry Cook.";
var sndscm_rmsgain_tip = "various RMS-related generators.";
var sndscm_scalemixes_tip = "(scale-mixes mix-list scl)
: scales the amplitude of each mix in 'mix-list' by 'scl'.";
var sndscm_sgfilter_tip = "(savitzky-golay-filter gen input)
: a Savitzky-Golay filter, assuming symmetrical positioning.
" +
" It is an FIR smoothing filter.";
var sndscm_sound_let_tip = "sound-let is a form of let* that creates temporary sound files within with-sound.
" +
" Its syntax is a combination of let* and with-sound:
" +
" (sound-let ((temp-1 () (fm-violin 0 1 440 .1))
" +
" (temp-2 () (fm-violin 0 2 660 .1)
" +
" (fm-violin .125 .5 880 .1)))
" +
" (granulate-sound temp-1 0 2 0 2) ;temp-1 is the name of the 1st temporary file
" +
" (granulate-sound temp-2 1 1 0 2))
" +
" This creates two temporary files and passes them along to the subsequent calls
" +
" on granulate-sound. The first list after the sound file identifier is the list of
" +
" with-sound options to be passed along when creating this temporary file. These default
" +
" to :output with a unique name generated internally, and all other variables are taken from
" +
" the overall (enclosing) with-sound. The rest of the list is the body of the associated with-sound.";
var sndscm_soundinterp_tip = "(sound-interp reader loc)
: the sound-interp interpolating reader
" +
" reads a channel at an arbitary location, interpolating between samples if necessary.";
var sndscm_syncdmixes_tip = "(syncd-mixes sync)
: returns a list of all mixes whose mix-sync field is set to 'sync'.";
var sndscm_tofrequency_tip = "(->frequency pitch ratio)
takes either a number or a common-music pitch symbol
" +
" ('c4 is middle C), and returns either the number or the frequency associated with that pitch:
" +
" (->frequency 'cs5)
returns 554 and change.
" +
" 'ratio' can be #t to get small integer ratios rather than equal temperment.";
var sndscm_tosample_tip = "(->sample time)
returns a sample number given a time in seconds";
var sndscm_volterrafilter_tip = "(volterra-filter flt x)
: pass 'x' through the Volterra (non-linear) filter 'flt'.";
var sndscm_windowsamples_tip = "(window-samples snd chn)
: returns (in a float-vector) the samples
" +
" displayed in the current graph window for the given channel.";
var sndscm_withtempsound_tip = "with-temp-sound is like sound-let (it sets up a temporary output
" +
" for with-sound) , but does not delete its output file.";
var sndscm_wsdoc_tip = "with-sound provides a simple way to package up a bunch of instrument calls into a new
" +
" sound file, and open that file in Snd when the computation is complete.
" +
" with-sound opens an output object, and optionally a reverb output object.
" +
" Each instrument uses out-any to add its sounds to the *output* results.
" +
" with-sound
" +
" (srate *clm-srate*) ; output sampling rate (44100)
" +
" (output *clm-file-name*) ; output file name (\"test.snd\")
" +
" (channels *clm-channels*) ; channels in output (1)
" +
" (header-type *clm-header-type*) ; output header type (mus-next or mus-aifc)
" +
" (data-format *clm-data-format*) ; output sample data type (mus-bfloat)
" +
" (comment #f) ; any comment to store in the header (a string)
" +
" (reverb *clm-reverb*) ; reverb instrument (jc-reverb)
" +
" (reverb-data *clm-reverb-data*) ; arguments passed to the reverb
" +
" (statistics *clm-statistics*) ; if #t, print info at end of with-sound
" +
" (scaled-to #f) ; if a number, scale the output to peak at that amp
" +
" (play *clm-play*) ; if #t, play the sound automatically
" +
" The with-sound syntax may look sightly odd; we include the arguments in the
" +
" first list, then everything after that is evaluated as a note list.
" +
" (with-sound (:srate 44100 :channels 2 :output \"test.snd\")
" +
" (fm-violin 0 1 440 .1)
" +
" (fm-violin 1 1 660 .1))
" +
" produces a sound file with two fm-violin notes; the sound file is named \"test.snd\",
" +
" is stero, and has a sampling rate of 44100.";
var sndscm_zipper_tip = "(zipper gen in1 in2)
: the digital zipper; a way to crossfade between in1 and in2.";
var sndlib_html_tip = "library that handles sound files and audio ports";
var sndclm_html_tip = "sound synthesis generators";
var sndscm_html_tip = "Scheme, Ruby, and Forth files included with Snd";
var fm_html_tip = "introduction to frequency modulation";
var extsnd_html_tip = "Snd extension and customization";
var grfsnd_html_tip = "Snd configuration, connection to other libraries and programs";
var snd_html_tip = "basic Snd user-interface documentation";
var s7_html_tip = "a Scheme implementation that comes with Snd";
var index_html_tip = "overall index";
var analog_filter_doc_tip = "These are the traditional IIR filters, any type, any even order
" +
"(Butterworth, Chebyshev, Inverse Chebyshev, Bessel, and Elliptic)
" +
"The elliptic function filters need GSL.";
var animals_doc_tip = "synthesis of birds, frogs, and insects";
var autosave_doc_tip = "periodically save current sound edits in a backup file,
" +
"useful if your machine crashes a lot.";
var bess_doc_tip = "This sets up a dialog to experiment with simple FM,
" +
"the fm-violin, or with a compositional algorithm";
var binary_io_doc_tip = "This file has functions to read and write binary files";
var bird_doc_tip = "simple synthesis of about 50 birds using additive synthesis.
" +
"see animals.scm for much more elaborate versions of these birds";
var clean_doc_tip = "click, pop, and hum removal, and signal reconstruction";
var clm_ins_doc_tip = "Instruments using many standard synthesis techniques,
" +
" including a bagpipe, FOF synthesis, many FM examples,
" +
" granular synthesis, spectral modeling, reverbs, and physical modeling.";
var dlocsig_doc_tip = "dlocsig sets up envelopes to mimic a moving sound;
" +
" included are many path-specification functions";
var draw_doc_tip = "Examples of drawing extensions, primarily one that puts a thumbnail graph
" +
" of the current sound in the upper right corner";
var dsp_doc_tip = "This has all the usual DSP stuff: filters, ffts, sample rate conversion,
" +
" sound effects, statistics, scanned synthesis, transforms, etc";
var env_doc_tip = "Various operations on envelopes: add, scale, copy, stretch";
var enved_doc_tip = "This adds an envelope editor to each displayed channel.
" +
" You can set it up to be an amplitude envelope.";
var examp_doc_tip = "A bunch of examples of things like ffts, filters, marks, selections,
" +
" graphics extensions, sound effects, and generators.";
var extensions_doc_tip = "channel and sound property lists, several enveloping functions,
" +
" and commonly used editing sequences such as channel extraction.";
var fade_doc_tip = "sound mixing using envelopes in the frequency domain";
var freeverb_doc_tip = "a reverberator along the lines of nrev, but with more options.";
var generators_doc_tip = "about 80 generators related to sums of sinusoids
" +
" bessel functions, adjustable square-waves, special envelopes, etc";
var grani_doc_tip = "this is a very flexible granular synthesis instrument";
var heart_doc_tip = "This code is aimed at blood pressure readings.";
var hooks_doc_tip = "snd-hooks, describe-hook, with-local-hook, reset-all-hooks.";
var index_doc_tip = "this provides a connection between firefox and the snd-help mechanism.";
var inf_snd_doc_tip = "this provides a Snd emacs mode implementation.
" +
" You can use emacs as the listener, rather than the built-in Snd window.";
var jcrev_doc_tip = "this is probably the first Schroeder reverb, based on all-pass and comb filters.";
var maraca_doc_tip = "this includes the maraca, tambourine, wind-chimes, etc";
var marks_doc_tip = "this includes describe-mark, eval-between-marks, mark-property,
" +
" play-between-marks, and snap-marks.";
var maxf_doc_tip = "This is a collection of modal synthesis demos.
" +
" For the actual filter, see the firmant generator";
var menus_doc_tip = "Menu additions for things like crop, trim, fft notch filter,
" +
" mark and mix functions, etc. The main added menu loads a huge
" +
" set of sound effects";
var mix_doc_tip = "mix-property, silence-all-mixes, mix-sound, save-mix, snap-mix-to-beat
" +
" and many functions acting on lists of mixes";
var moog_doc_tip = "Moog's four pole lowpass (24db/Oct) filter as a clm generator,
" +
" variable resonance, \"that warm, analog sound\".";
var musglyphs_doc_tip = "The CMN music symbol font built from bezier curves.
" +
"This file is a lisp->scheme wrapper for cmn-glyphs.lisp";
var nb_doc_tip = "As you move the mouse through the view-files list,
" +
" the help dialog posts information about the file underneath the mouse";
var noise_doc_tip = "This ancient noise instrument can produce those all-important whooshing
" +
" sounds. noise.ins translated to Scheme/Ruby by Michael Scholz";
var numerics_doc_tip = "Various numerical functions: factorial, plgndr, gegenbaur, etc";
var piano_doc_tip = "Scott van Duyne's piano model that includes multiple coupled strings,
" +
" a nonlinear hammer, and an arbitrarily large soundboard and enclosure";
var play_doc_tip = "play between marks, play continuously, play a set of sines, etc";
var poly_doc_tip = "polynomial addition, multiplication, division, gcd, roots, and discriminant";
var prc95_doc_tip = "The basic physical models: pluck, bow, clarinet, brass, flute";
var pvoc_doc_tip = "various versions of the Moore-Klingbeil-Trevisani-Edwards phase-vocoder.
" +
"see also the CLM phase-vocoder generator.";
var rgb_doc_tip = "this translates the standard X11 color names into Snd color objects.";
var rubber_doc_tip = "rubber-sound tries to stretch or contract a sound (in time);
" +
" it scans the sound looking for stable sections, then either
" +
" deletes periods or interpolates new ones to shorten or lengthen the sound";
var selection_doc_tip = "includes swap-selection-channels, replace-with-selection,
" +
" selection-members, make-selection, delete-selection-and-smooth,
" +
" filter-selection-and-smooth, and with-temporary-selection";
var singer_doc_tip = "This is based on Perry's singer.c and CLM's singer.ins";
var sndold_doc_tip = "These files (snd10.scm to snd12.scm) provide backwards compatibility
" +
" with earlier versions of Snd.";
var snddiff_doc_tip = "a diff or grep-like function for sounds. It can currently find
" +
" initial delays, scaling differences, and scattered individual
" +
" sample differences: (snddiff snd0 chn0 snd1 chn1)
.";
var snd_gl_doc_tip = "This depends on access to openGL (Mesa); it includes a waterfall fft graph
" +
"and GL state readbacks";
var snd_motif_doc_tip = "user interface extensions using the libxm modules: add-mark-pane,
" +
" display-scanned-synthesis, load-font, with-level-meters,
" +
" variable-display, smpte labels, and lots more.
" +
" snd-motif is for Motif, snd-gtk for Gtk.";
var snd_test_doc_tip = "Snd regression test suite; zillions of examples.";
var sndwarp_doc_tip = "time stretching and whatnot";
var ws_doc_tip = "with-sound provides a simple way to package up a bunch of
" +
" instrument calls into a new sound file, and open that file in Snd";
var zip_doc_tip = "The zipper marches through the two sounds taking equal short portions
" +
" of each, then abutting them while resampling so that as one sound
" +
" takes less overall frample space, the other takes more.";
var scheme_format_tip = "(format destination control-string :rest args)
produces formatted output.
" +
"If 'destination' is #f (the usual case in Snd), the output is a string.
" +
"The output depends on 'control-string' which can contain characters preceded by tilde.
" +
"These are replaced with other strings based on the character and the associated argument in 'args'.
" +
"The main tilde cases are ~% = add a newline, ~A = add some readable description of its argument
" +
"~D = treat its arg as an integer, ~F = treat arg as float, ~S = treat arg as string.
";