what :
Home > Search > when

Objectspage : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
sadam.dom Javaclass (mxj) A Document Object Model (DOM) interface for Max.
sadam.dom will create, read, store or even modify DOM trees. The DOM is one of the possible representations of the contents of an XML document (see http://www.w3.org/TR/DOM-Level-2-Core/.) The object internally uses the default Java DOM parser that comes as an instance of javax.xml.parsers.DocumentBuilderFactory, bringing all the power and almost all of the functionality of a W3C-certified DOM parser to MaxMSP. The kind of Nodes currently not handled by sadam.dom are: Comment, Entity, EntityReference, Notation and ProcessingInstruction.

When an XML is parsed, the object will assign a unique ID to each Element of the document, called the Element Index. This index won't get stored and changes each time when the order of Elements in the XML is modified (either by inserting or removing Elements). However, using the Element Index is the preferred (and in most cases, the only) way to address a given element in the XML. The Element Index is sent out the rightmost outlet each time an element is accessed. The Element Index of the Document Element is always 0, the rest of the Elements get their index in their 'order of appearence'. This means that even if an Element is being inserted or removed, the Index of the Elements that come earlier in the Document won't change.

When querying Attributes, Text, or CDATA nodes, the requested data will be sent out the appropriate outlets in right-to-left order (in case of Attributes, if more than one Attribute is requested, they will be sent to the output as a sequence like AttributeName1-AttributeValue1-AttributeName2-AttributeValue2-...-AttributeNameN-AttributeValueN, alternating on the appropriate outlets) followed by an error code. When querying Elements, the result will be sent out as a sequence (from right to left) consisting of the Element Index, the Tree Depth of the Element (the Document Element is at level 0, its children are at level 1 etc.), the Element's Tag Name, the Attributes, and finally the Text Content (which is a concatenation of all Text and CDATA nodes).

The leftmost outlet serves as an error outlet. After each command sent to the object, an error code is being sent back through this outlet at the end of the execution of the given command. A negative value means that the command could not be executed successfully, while 0 means success. In some cases (typically when one or more Elements are queried) the error outlet reports the number of Elements successfully returned.

sadam.dom and sadam.sax are both W3C compliant XML parsers, however, this means some overhead in terms of resources. If you need a lightweight, fast XML parser and you can live with some limitations regarding W3C compliance, consider using sadam.rapidXML.
sadam.gcd External Compute the Greatest Common Divisor of two integers.
sadam.gcd will compute the Greatest Common Divisor of two integers. The GCD of two positive integers is the largest positive integer that divides the numbers without a remainder. If an incoming number is negative, the object will take its absolute value. For the case when an incoming number was 0, GCD returns the absolute value of the other incoming number.
sadam.phasor~ External Phasor object with maximal resting state.
sadam.phasor~ will generate a ramp between 0 and 1 with the given frequency. The only difference between this object and the legacy phasor~ object is that if frequency is set to 0, the ramp will continue until it reaches 1. This can be useful in scenarios when the phasor is controlling a modulation and for 0 frequency we'd like to turn off the modulation completely, including DC effects.
sadam.rapidXML External A RapidXML wrapper for Max.
sadam.rapidXML will create, read, store or even modify DOM trees. The DOM is one of the possible representations of the contents of an XML document (see http://www.w3.org/TR/DOM-Level-2-Core/.) The object internally uses the RapidXML 1.13 library (see http://rapidxml.sourceforge.net/,) which is one of the fastest, yet still almost completely W3C compliant, freely available XML parsers.

When an XML is parsed, the object will assign a unique ID to each Element of the document, called the Element Index. This index won't get stored and changes each time when the order of Elements in the XML is modified (either by inserting or removing Elements). However, using the Element Index is the preferred (and in most cases, the only) way to address a given element in the XML. The Element Index is sent out the rightmost outlet each time an element is accessed. The Element Index of the Document Element is always 0, the rest of the Elements get their index in their 'order of appearence'. This means that even if an Element is being inserted or removed, the Index of the Elements that come earlier in the Document won't change.

When querying Attributes, Text, or CDATA nodes, the requested data will be sent out the appropriate outlets in right-to-left order (in case of Attributes, if more than one Attribute is requested, they will be sent to the output as a sequence like AttributeName1-AttributeValue1-AttributeName2-AttributeValue2-...-AttributeNameN-AttributeValueN, alternating on the appropriate outlets) followed by an error code. When querying Elements, the result will be sent out as a sequence (from right to left) consisting of the Element Index, the Tree Depth of the Element (the Document Element is at level 0, its children are at level 1 etc.), the Element's Tag Name, the Attributes, and finally the Text Content (which is a concatenation of all Text and CDATA nodes).

The leftmost outlet serves as an error outlet. After each command sent to the object, an error code is being sent back through this outlet at the end of the execution of the given command. A negative value means that the command could not be executed successfully, while 0 means success. In some cases (typically when one or more Elements are queried) the error outlet reports the number of Elements successfully returned.

As already mentioned, RapidXML 1.13 (and therefore sadam.rapidXML) is not fully W3C compliant. The main reason is that the parser ignores DOCTYPE declarations. There are also some difficulties with namespace management as well, the parser wouldn't refuse XMLs containing more than one root element and it will allow duplicate attributes for the same element. Also, to make parsing faster, all kind of XML validation is turned off by the wrapper Max object. If you need a 100% W3C compliant XML parser, consider sadam.dom, which is almost identical in functionality to sadam.rapidXML and requires MXJ to run.
sah~ External Sample-and-hold
Sample-and-hold. The sah~ object accepts two signals. The left signal is the "input" and the right signal is the "control." When the control makes a transition from being at or below a the trigger value to being above the trigger value, the input is sampled and its current value is output until another control transition occurs and the input is sampled again. The default threshold value is 0, but can be specified via a float in the left inlet or as an argument to sah~.
scale-changer Abstraction scale changer
Changes one single pitch of a given scale whenever you send a bang to the left inlet. A start scale must be sent to the right inlet frist - note its special format: a list of size 12 consisting only of 0 and 1 where 1 means an active pitch class and 0 a inactive one.
scrubber Standalone Application simulates an old-fashioned tape loop, also useful for sounding like a DJ when you're not.
sdif.add-1~ External Additive synthesis by FFT-1 after Rodet/Depalle
using SDIF (based on the CNMAT SDIF-buffer external).
The FFT-1 algorithm allows for efficient additive synthesis especially when unsing a great number of partials.

The object performs resynthesis of analysis files in SDIF format (1TRC) and require the SDIF-buffer external from CNMAT : http://www.cnmat.berkeley.edu

Distribution/licence: IRCAM Forum
sel# Abstraction To prevent #1 arguments to be fired when you edit the original
sequence Abstraction outputs the next element of a list
A bang in the left inlet outputs the next element of a supply sent to right inlet before. When the list is exhausted it is looped.
sfplay~ External Soundfile playback
Soundfile playback. sfplay~ plays AIFF, SD II, NeXT/SUN(.au), WAVE, and Raw Data files of 1-8 tracks from disk. To play a file, you send sfplay~ the open message, then send it a 1 to start and a 0 to stop. open takes an argument to specify a filename in the search path. You can also create additional cues with the preload message. These can reference other files, all of which are simultaneously accessible. The open message sets the "current" file: the one that plays back from the beginning when 1 is sent and is used as the default for the preload message. sfplay~ can also connect to the cues defined in an sflist~ object. Since multiple sfplay~ objects can reference the same sflist~, this allows you to store a global list of cues. See the sflist~ help file for more details. (be sure to open the "new features" sub patch to find out about variable speed playback, looping, triggering cues with audio signals, and more)
Shoutreceiver~ External Receive audioStreams (mp3 or similar) from network sources
MacOSX Max/MSp Object to receive AudioStreams from Network inside Max 5. Stream decompression is done by Quicktime, so when QT is able to read/open the stream, shoutreceiver should be able as well.
Simple FM Synth Patch A simple FM synthesize patch
First off, I should mention that the name is a bit of a misnomer. There are really two layers, the titular simple FM layer, and a subtractive synth layer. Simple FM Synth is nothing fancy, but I think it sounds pretty good, for what it is. This patch started off as a basic sound source to enable me to work on the Gyre program that I use with my Buchla 200e, when I was not near my Buchla.

There are two main patches of interest, Simple_FM_Synth.maxpat, and Simple_FM_Synth_Test.maxpat. Simple_FM_Synth is what you'll use in your patches, and Simple_FM_Synth_Test is an example of ways to use it. Simple_FM_Synth_Test has a simple note generator that plays randomish notes so that you can start it playing, and then mess with the parameters of Simple_FM_Synth itself.

The FM section is a simple two-operator stack, nothing fancy here. There are a couple redundant ways to set the relationship of the FM carrier and FM modulator.

The Subtractive section consists of two oscillators, one square/pw, and one sawtooth, mixed into a filter. Even though the poly~ patch "FMSynthVox.maxpat", as delivered, uses svf~, the presets were written using 2up_svf~ instead. 2up_svf~ sounds better than the stock svf~, in my opinion, but it is only available for the Mac, so I used the stock object for this distribution. The presets are somewhat different sounding with the stock svf~. If you are on a Mac, I highly recommend grabbing 2up_svf~ from here, and editing FMSynthVox to use it.

Chris Muir
snapshot~ External Report sample values from a signal
snapshot~ outputs the current value from an input signal when it receives a bang.
St.-# Abstraction To prevent error when loading patches with # arguments
page : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Libraries
FuzzyLib
debug: SELECT prenom, nom FROM auteurs RIGHT JOIN auteur_libraries USING (id_auteur) WHERE auteur_libraries.id_library='139'Alain Bonardi
Isis Truck
When manipulating human knowledge such as perception, feelings, appreciation, veracity of facts, etc., the classical logic that recognize only two truth degrees (true or false) is not always the most suitable.

To solve this problem, more than two degrees are considered in the non-classical logics. The fuzzy logic is one of these logics.

In this logic, facts are represented through membership functions: when the membership value is equal to 1 the fact is exactly true; when it is equal to 0 the fact is exactly false; in between there is an uncertainty about the veracity of the fact.

These membership functions are called "fuzzy subsets". They can be of different shapes: gaussian, trapezoidal, triangular, etc.

Thus the aim of the fuzzy logic is to propose a theoretical framework for the manipulation - representation and reasoning - of such facts.

The Fuzzy Lib library implements all the tools that are necessary to handle this manipulation: representation of a fuzzy subset (among them are the fuzzification, defuzzification and partitioning), reasoning process (generalized modus ponens, fuzzy implications, t-norms, t-conorms, etc.).

This version 1 of the Fuzzy Lib enables to implement fuzzification, uncertain reasoning and defuzzification for any number of data in the framework of Max/MSP environment.

4855 objects and 135 libraries within the database Last entries : December 23rd, 2023 Last comments : 0 0 visitor and 48482322 members connected RSS
Site under GNU Free Documentation License