Rhythm

Rhythm

Simple [quadr]duple drum pattern, against which duration is measured in much popular music: About this sound   .
Compound triple drum pattern: divides three beats into three. Play   Contains repetition on three levels.
Rhythm, a sequence in time repeated, featured in dance: an early moving picture demonstrates the waltz.

Rhythm (from Greek ῥυθμός, rhythmos, "any regular recurring motion, symmetry" (Liddell and Scott 1996)) generally means a "movement marked by the regulated succession of strong and weak elements, or of opposite or different conditions" (Anon. 1971, 2537). This general meaning of regular recurrence or pattern in time can apply to a wide variety of cyclical natural phenomena having a periodicity or frequency of anything from microseconds to millions of years.

In the performance arts rhythm is the timing of events on a human scale; of musical sounds and silences, of the steps of a dance, or the meter of spoken language and poetry. Rhythm may also refer to visual presentation, as "timed movement through space" ( , ) and a common language of pattern unites rhythm with geometry. In recent years, rhythm and meter have become an important area of research among music scholars. Recent work in these areas includes books by Maury Yeston (Yeston 1976), Fred Lerdahl and Ray Jackendoff, Jonathan Kramer, Christopher Hasty (Hasty 1997), Godfried Toussaint (Toussaint 2005), William Rothstein, and Joel Lester (Lester 1986). In Thinking and Destiny, Harold W. Percival defined rhythm as the character and meaning of thought expressed through the measure or movement in sound or form, or by written signs or words .

Anthropology

Percussion instruments have clearly defined dynamics that aid the creation and perception of complex rhythms
In his television series How Music Works, Howard Goodall presents theories that human rhythm recalls the regularity with which we walk and the heartbeat . Other research suggests that it does not relate to the heartbeat directly, but rather the speed of emotional affect, which also influences heartbeat. Yet other researchers suggest that since certain features of human music are widespread, it is reasonable to suspect that beat-based rhythmic processing has ancient evolutionary roots ( , ). Justin London writes that musical metre "involves our initial perception as well as subsequent anticipation of a series of beats that we abstract from the rhythm surface of the music as it unfolds in time" (London 2004, 4). The "perception" and "abstraction" of rhythmic measure is the foundation of human instinctive musical participation, as when we divide a series of identical clock-ticks into "tick-tock-tick-tock" ( ; ). Some types of parrots can know rhythm (Anon. 2009). Neurologist Oliver Sacks states that chimpanzees and other animals show no similar appreciation of rhythm yet posits that human affinity for rhythm is fundamental, so that a person's sense of rhythm cannot be lost (e.g. by stroke). "There is not a single report of an animal being trained to tap, peck, or move in synchrony with an auditory beat" ( , cited in , who adds, "No doubt many pet lovers will dispute this notion, and indeed many animals, from the Lippizaner horses of the Spanish Riding School of Vienna to performing circus animals appear to 'dance' to music. It is not clear whether they are doing so or are responding to subtle visual or tactile cues from the humans around them.") Human rhythmic arts are possibly to some extent rooted in courtship ritual ( , ).

The establishment of a basic beat requires the perception of a regular sequence of distinct short-duration pulses and, as subjective perception of loudness is relative to background noise levels, a pulse must decay to silence before the next occurs if it is to be really distinct. For this reason the fast-transient sounds of percussion instruments lend themselves to the definition of rhythm. Musical cultures that rely upon such instruments may develop multi-layered polyrhythm and simultaneous rhythms in more than one time signature, called polymeter. Such are the cross-rhythms of Sub-Saharan Africa and the interlocking kotekan rhythms of the gamelan.

For information on rhythm in Indian music see Tala (music). For other Asian approaches to rhythm see Rhythm in Persian music, Rhythm in Arabian music and Usul—Rhythm in Turkish music and Dumbek rhythms.

Terminology

Pulse, beat and measure

(See main articles; Pulse (music), Beat (music))

Metric levels: beat level shown in middle with division levels above and multiple levels below.
Most music, dance and oral poetry establishes and maintains an underlying "metric level", a basic unit of time that may be audible or implied, the pulse or tactus of the mensural level ( ; ; ), or beat level, sometimes simply called the Lester 1986, 77).

Unit and gesture

Rhythmic units: division level shown above and rhythmic units shown below Play  .

A durational pattern that synchronises with a pulse or pulses on the underlying metric level may be called a rhythmic unit. These may be classified as; metric—even patterns, such as steady eighth notes or pulsesintrametric—confirming patterns, such as dotted eighth-sixteenth note and swing patterns—contrametric—non-confirming, or syncopated patterns and extrametric—irregular patterns, such as tuplets.

A rhythmic gesture is any durational pattern that, in contrast to the rhythmic unit, does not occupy a period of time equivalent to a pulse or pulses on an underlying metric level. It may be described according to its beginning and ending or by the rhythmic units it contains. Beginnings on a strong pulse are thetic, a weak pulse, anacrustic and those beginning after a rest or tied-over note are called initial rest. Endings on a strong pulse are strong, a weak pulse, weak and those that end on a strong or weak upbeat are upbeat (Winold 1975, 239).

Alternation and repetition

Rhythm is marked by the regulated succession of opposite elements, the dynamics of the strong and weak beat, the played beat and the inaudible but implied rest beat, the long and short note. As well as perceiving rhythm we must be able to anticipate it. This depends upon repetition of a pattern that is short enough to memorize.

The alternation of the strong and weak beat is fundamental to the ancient language of poetry, dance and music. The common poetic term "foot" refers, as in dance, to the lifting and tapping of the foot in time. In a similar way musicians speak of an upbeat and a downbeat and of the "on" and "off" beat. These contrasts naturally facilitate a dual hierarchy of rhythm and depend upon repeating patterns of duration, accent and rest forming a "pulse-group" that corresponds to the poetic foot. Normally such pulse-groups are defined by taking the most accented beat as the first and counting the pulses until the next accent ( ; ). A rhythm that accents another beat and de-emphasises the down beat as established or assumed from the melody or from a preceding rhythm is called syncopated rhythm. Normally, even the most complex of meters may be broken down into a chain of duple and triple pulses ( ; ) either by addition or division. According to Pierre Boulez, beat structures beyond four, in western music, are "simply not natural" (Slatkin n.d., at 5:05). Western rhythms are usually arranged with respect to a time signature, partially signifying a meter usually corresponding to measure length and grouped into either two or three beats, which are called duple meter and triple meter, respectively. If the beats are in consistently even or odd groups of two, three, or four, it is simple meter, if by admixtures of two and three it is compound meter. In other systems of music such as Indian classical music rhythms may be grouped into various number of beats. In some music styles such as Yakshagana even group rhythms into fractional beats.

Tempo and duration

(See main articles; Duration (music), Tempo)

The tempo of the piece is the speed or frequency of the tactus, a measure of how quickly the beat flows. This is often measured in 'beats per minute' (bpm): 60 bpm means a speed of one beat per second, a frequency of 1 Hz. A rhythmic unit is a durational pattern that has a period equivalent to a pulse or several pulses (Winold 1975, 237). The duration of any such unit is inversely related to its tempo.

Musical sound may be analyzed on five different time scales, which Moravscik has arranged in order of increasing duration (Moravcsik 2001, 114).

  • Supershort: a single cycle of an audible wave, approximately 1/30–1/10,000 second (30–10,000 Hz or more than 1,800 bpm). These, though rhythmic in nature, are not perceived as separate events but as continuous musical pitch.
  • Short: of the order of one second (1 Hz, 60bpm, 10–100,000 audio cycles). Musical tempo is generally specified in the range 40 to 240 beats per minute. A continuous pulse cannot be perceived as a musical beat if it is faster than 8–10 per second (8–10 Hz, 480–600 bpm) or slower than 1 per 1.5–2 seconds (0.6–0.5 Hz, 40–30 bpm). Too fast a beat becomes a drone, too slow a succession of sounds seems unconnected ( ; , both quoted in ). This time-frame roughly corresponds to the human heart rate and to the duration of a single step, syllable or rhythmic gesture.
  • Medium: ≥ few seconds, This median durational level "defines rhythm in music" (Moravcsik 2001, 114) as it allows the definition of a rhythmic unit, the arrangement of an entire sequence of accented, unaccented and silent or "rest" pulses into the cells of a measure that may give rise to the "briefest intelligible and self-existent musical unit" (Scholes 1977c), a motif or figure. This may be further organized, by repetition and variation, into a definite phrase that may characterise an entire genre of music, dance or poetry and that may be regarded as the fundamental formal unit of music ( , ).
  • Long: ≥ many seconds or a minute, corresponding to a durational unit that "consists of musical phrases" (Moravcsik 2001, 114)—which may make up a melody, a formal section, a poetic musical form (MacPherson 1930, 3).
  • Very long: ≥ minutes or many hours, musical compositions or subdivisions of compositions.
Curtis Roads (Roads 2001) takes a wider view by distinguishing nine time scales, this time in order of decreasing duration. The first two, the infinite and the supramusical, encompass natural periodicities of months, years, decades, centuries, and greater, while the last three, the sample and subsample, which take account of digital and electronic rates "too brief to be properly recorded or perceived", measured in millionths of seconds (microseconds), and finally the infinitesimal or infinitely brief, are again in the extra-musical domain. Roads' Macro level, encompassing "overall musical architecture or form" roughly corresponds to Moravcsik's "very long" division while his Meso level, the level of "divisions of form" including movements, sections, phrases taking seconds or minutes, is likewise similar to Moravcsik's "long" category. Roads' Sound object ( ; ): "a basic unit of musical structure" and a generalization of note (Xenakis' ministructural time scale); fraction of a second to several seconds, and his Microsound (see granular synthesis) down to the threshold of audible perception; thousands to millionths of seconds, are similarly comparable to Moravcsik's "short" and "supershort" levels of duration.

Metric structure

(See main articles; Metre (music), Bar (music), Metre (poetry))

Notation of a clave rhythm pattern? Each cell of the grid corresponds to a fixed duration of time with a resolution fine enough to capture the timing of the pattern, which may be counted as two bars of four beats in divisive (metrical or symmetrical) rhythm, each beat divided into two cells. The first bar of the pattern may also usefully be counted additively (in measured or asymmetrical rhythm) as 3 + 3 + 2
The study of rhythm, stress, and pitch in speech is called prosody: it is a topic in linguistics and poetics, where it means the number of lines in a verse, the number of syllables in each line and the arrangement of those syllables as long or short, accented or unaccented. Music inherited the term "meter or metre" from the terminology of poetry ( ; ; ). The metric structure of music includes meter, tempo and all other rhythmic aspects that produce temporal regularity against which the foreground details or durational patterns of the music are projected ( , ). The terminology of western music is notoriously imprecise in this area (Scholes 1977b). preferred to speak of "time" and "rhythmic shape", Imogen Holst (Holst 1963, 17) of "measured rhythm". Dance music has instantly recognizable patterns of beats built upon a characteristic tempo and measure. The Imperial Society of Teachers of Dancing defines the tango, for example, as to be danced in 2/4 time at approximately 66 beats per minute. The basic slow step forwards or backwards, lasting for one beat, is called a "slow", so that a full "right-left" step is equal to one 2/4 measure ( , ).
Notation of three measures of a clave pattern preceded by one measure of steady quarter notes. This pattern is noted in double time relative to the one above, in one instead of two four-beat measures    .

The general classifications of metrical rhythm, measured rhythm, and free rhythm may be distinguished (Cooper 1973, 30). Metrical or divisive rhythm, by far the most common in Western music calculates each time value as a multiple or fraction of the beat. Normal accents re-occur regularly providing systematical grouping (measures). Measured rhythm (additive rhythm) also calculates each time value as a multiple or fraction of a specified time unit but the accents do not recur regularly within the cycle. Free rhythm is where there is neither (Cooper 1973, 30), such as in Christian chant, which has a basic pulse but a freer rhythm, like the rhythm of prose compared to that of verse (Scholes 1977c). See Free time (music).

Finally some music, such as some graphically scored works since the 1950s and non-European music such as Honkyoku repertoire for shakuhachi, may be considered ametric (Karpinski 2000, 19). Senza misura is an Italian musical term for "without meter", meaning to play without a beat, using time to measure how long it will take to play the bar ( ).

Composite rhythm

Play with composite  .

A composite rhythm is the durations and patterns (rhythm) produced by amalgamating all sounding parts of a musical texture. In music of the common practice period, the composite rhythm usually confirms the meter, often in metric or even-note patterns identical to the pulse on a specific metric level. White defines composite rhythm as, "the resultant overall rhythmic articulation among all the voices of a contrapuntal texture" (White 1976, 136.).

Rhythm notation

Worldwide there are many different approaches to passing on rhythmic phrases and patterns, as they exist in traditional music, from generation to generation.

African music

In the Griot tradition of Africa everything related to music has been passed on orally. Babatunde Olatunji (1927–2003), a Nigerian drummer who lived and worked in the United States, developed a simple series of spoken sounds for teaching the rhythms of the hand drum. He used six vocal sounds: Goon Doon Go Do Pa Ta. There are three basic sounds on the drum, but each can be played with either the left or the right hand. This simple system is now used worldwide, particularly by Djembe players.

It is noteworthy that the debate about the appropriateness of staff notation for African music is a subject of particular interest to outsiders, not insiders. African scholars from Kyagambiddwa to Kongo have, for the most part, accepted the conventions—and limitations—of staff notation, and gone on to produce transcriptions in order to inform and make possible a higher level of discussion and debate (Agawu 2003, 52)

John Miller has argued that West African music is based on tension between rhythms. This tension between rhythms is called polyrhythms and is created by the simultaneous sounding of two or more different rhythms. Often there is a dominant rhythm interacting with an independent competing rhythm, or rhythms. These often oppose or complement each other, and combine freely with the dominant rhythm creating a rich rhythmic texture not limited to any one set meter or tempo.

A set of moral values underpins a full musical system based on repetition of relatively simple patterns that meet at distant cross-rhythmic intervals and call and answer schemes. Values also show up in collective utterances such as proverbs or lineages appear either in phrases that translate as drum talk or in the words of songs. People expect musicians to stimulate participation of all present, notably by reacting to people dancing the music. Appreciation of musicians is related to the effectiveness of their upholding community values (Chernoff 1979).

Indian music

Indian music has also been passed on orally. Tabla players would learn to speak complex rhythm patterns and phrases before attempting to play them. Sheila Chandra, an English pop singer of Indian descent, made performances based on her singing these patterns. In Indian Classical music, the Tala of a composition is the rhythmic pattern over which the whole piece is structured.

Western music

In the 20th century, composers like Igor Stravinsky, Béla Bartók, Philip Glass, and Steve Reich wrote more rhythmically complex music using odd meters, and techniques such as phasing and additive rhythm. At the same time, modernists such as Olivier Messiaen and his pupils used increased complexity to disrupt the sense of a regular beat, leading eventually to the widespread use of irrational rhythms in New Complexity. This use may be explained by a comment of John Cage's where he notes that regular rhythms cause sounds to be heard as a group rather than individually; the irregular rhythms highlight the rapidly changing pitch relationships that would otherwise be subsumed into irrelevant rhythmic groupings (Sandow 2004, 257). LaMonte Young also wrote music in which the sense of a regular beat is absent because the music consists only of long sustained tones (drones). In the 1930s, Henry Cowell wrote music involving multiple simultaneous periodic rhythms and collaborated with Léon Thérémin to invent the Rhythmicon, the first electronic rhythm machine, in order to perform them. Similarly, Conlon Nancarrow wrote for the player piano.

Use of polyrhythms in American music is generally traced to the influence of black culture through Dixieland and Jazz styles. The effect of multiple soloing in these forms, often utilizing cross-rhythms comes directly from the underlying aesthetics of sub-Saharan African music. These complex rhythmic structures have been widely adopted in many current forms of western popular music.

Linguistics

In linguistics, rhythm or isochrony is one of the three aspects of prosody, along with stress and intonation. Languages can be categorized according to whether they are syllable-timed, mora-timed, or stress-timed. Speakers of syllable-timed languages such as Spanish and Cantonese put roughly equal time on each syllable; in contrast, speakers of stressed-timed languages such as English and Mandarin Chinese put roughly equal time lags between stressed syllables, with the timing of the unstressed syllables in between them being adjusted to accommodate the stress timing.

(cited in , ) describes three categories of prosodic rules that create rhythmic successions that are additive (same duration repeated), cumulative (short-long), or countercumulative (long-short). Cumulation is associated with closure or relaxation, countercumulation with openness or tension, while additive rhythms are open-ended and repetitive. Richard Middleton points out this method cannot account for syncopation and suggests the concept of transformation ( , ).

See also

Sources

  • Agawu, Kofi. 2003. Representing African Music: Postcolonial Notes, Queries, Positions. New York: Routledge.
  • Anon. The Compact Edition of the Oxford English Dictionary II. Oxford and New York: Oxford University Press, 1971.
  • April 30, 2009. "Parrots have got rhythm, studies find", World-Science.net.
  • Berry, Wallace (1976/1986). Structural Functions in Music. ISBN 0-486-25384-8.
  • Chernoff, John Miller (1979). African Rhythm and African Sensibility: Aesthetic and Social Action in African Musical Idioms. Chicago: The University of Chicago Press.
  • Cooper, Paul (1973). Perspectives in Music Theory: An Historical-Analytical Approach. New York: Dodd, Mead. ISBN 0-396-06752-2.
  • Covaciu-Pogorilowski, Andrei. n.d. "Musical Time Theory and A Manifesto". Self-published online (accessed 1 August 2014).
  • Fitch, W. Tecumseh, and Andrew J. Rosenfeld (2007). "Perception and Production of Syncopated Rhythms". Music Perception, Vol. 25, Issue 1, pp. 43–58. ISSN 0730-7829.
  • Fraisse, P. Les Structures Rhythmiques, Erasme. Paris, 1956.
  • Forney, Kristine, and Joseph Machlis. 2007. The Enjoyment of Music, tenth edition. New York: W. W. Norton & Company. ISBN 978-0-393-17423-6.
  • Goodall, Howard (presenter). 2006. How Music Works with Howard Goodall, produced by David Jeffcock. Television series, 4 episodes. Episode 2: "Rhythm" (Saturday 25 November, 6:20–7:20pm). Tiger Aspect Productions for Channel 4 Television Corporation.
  • Hasty, Christopher (1997). Meter as Rhythm. Oxford: Oxford University Press. ISBN 0-19-510066-2.
  • Holst, Imogen. An ABC of Music: A Short Practical Guide to the Basic Essentials of Rudiments, Harmony, and Form. Oxford and New York: Oxford University Press, 1963.
  • The Imperial Society of Teachers of Dancing (1977). Ballroom Dancing. Sevenoaks, Kent: Hodder and Stoughton; New York: David McKay Co.
  • Jirousek, Charlotte. 1995. "Rhythm". In An Interactive Textbook, Ithaca: Cornell University website (accessed 24 July 2014).
  • Karpinski, Gary S. Aural Skills Acquisition: The Development of Listening, Reading, and Performing Skills in College-Level Musicians. Oxford and New York: Oxford University Press, 2000. ISBN 978-0-19-511785-1.
  • Latham, Alison. 2002. "Metre", The Oxford Companion to Music, edited by Alison Latham. Oxford and New York: Oxford University Press. ISBN 0-19-866212-2.
  • Lerdahl, Fred, and Ray Jackendoff. 1983. A Generative Theory of Tonal Music. The MIT Press Series on Cognitive Theory and Mental Representation. Cambridge: MIT Press. ISBN 978-0-262-12094-4; ISBN 978-0-262-62107-6; ISBN 978-0-262-62049-9.
  • Lester, Joel. The Rhythms of Tonal Music. Hillsdale, NY: Pendragon Press, 1986. ISBN 978-0-8093-1282-5.
  • Liddell, Henry George, and Robert Scott. "ῥυθμός", in A Greek-English Lexicon, revised edition, combining the text of the ninth edition with an extensively revised and expanded Supplement. Oxford and New York: Oxford University Press, 1996. Online, Perseus Project
  • London, Justin (2004). Hearing in Time: Psychological Aspects of Musical Meter. Oxford and New York: Oxford University Press. ISBN 0-19-516081-9.
  • MacPherson, Stewart, Form in Music, London: Joseph Williams, 1930.
  • Middleton, Richard (1990). Studying Popular Music. Philadelphia: Open University Press. ISBN 0-335-15275-9.
  • Moravcsik, Michael J. (2001). Musical Sound: An Introduction to the Physics of Music. ISBN 978-0-306-46710-3.
  • Narmour, Eugene. Beyond Schenkerism: The Need for Alternatives in Music Analysis. Chicago and London: University of Chicago Press, 1977. Phoenix paperback edition 1980. ISBN 978-0-226-56847-8 (cloth); ISBN 978-0-226-56848-5 (paperback).
  • require('Module:No globals')

local function getCatForId( id )

   local title = mw.title.getCurrentTitle()
   local namespace = title.namespace
   if namespace == 0 then

return ''

   elseif namespace == 2 and not title.isSubpage then

return ''

   else

return ''

   end

end

local function viafLink( id )

   if not string.match( id, '^%d+$' ) then
       return false
   end
   return '.. id .. ' ' .. id .. '' .. getCatForId( 'VIAF' )

end

local function kulturnavLink( id )

   return '.. id .. ' id' 

end

local function sikartLink( id )

   return '.. id .. '&lng=en ' .. id .. '' 

end

local function tlsLink( id ) local id2 = mw.ustring.gsub(id, '%s', function(s) return mw.uri.encode(s, 'WIKI') end)

   return '.. id2 .. ' ' .. id .. '' 

end


local function ciniiLink( id )

   return '.. id .. '?l=en ' .. id .. '' 

end

local function bneLink( id )

   return '.. id .. ' ' .. id .. '' 

end


local function uscongressLink( id )

   return '.. id .. ' ' .. id .. '' 

end

local function narapersonLink( id )

   return '.. id .. ' ' .. id .. '' 

end

local function naraorganizationLink( id )

   return '.. id .. ' ' .. id .. '' 

end

local function botanistLink( id ) local id2 = mw.ustring.gsub(id, '%s', function(s) return mw.uri.encode(s, 'PATH') end)

   return '.. id2 .. ' ' .. id .. '' 

end

local function mgpLink( id )

   -- TODO Implement some sanity checking regex
   return '.. id .. ' ' .. id .. '' 

end

local function rslLink( id )

   -- TODO Implement some sanity checking regex
   return '.. id .. '&CON_LNG=ENG ' .. id .. ''

end

local function leonoreLink( id ) -- Identifiants allant de LH/1/1 à LH/2794/54 (légionnaires) -- Identifiants allant de C/0/1 à C/0/84 (84 légionnaires célèbres) -- Identifiants allant de 19800035/1/1 à 19800035/385/51670 (légionnaires décédés entre 1954 et 1977, et quelques dossiers de légionnaires décédés avant 1954)

   if not string.match( id, '^LH/%d%d?%d?%d?/%d%d?%d?$' ) and
      not string.match( id, '^C/0/%d%d?$' ) and
           not string.match( id, '^19800035/%d%d?%d?%d?/%d%d?%d?%d?%d?$' ) then
       return false
   end
   return '.. id .. ' ' .. id .. '' 

end

local function sbnLink( id )

   if not string.match( id, '^IT\\ICCU\\%d%d%d%d%d%d%d%d%d%d$' ) and not string.match( id, '^IT\\ICCU\\%u%u[%d%u]%u\\%d%d%d%d%d%d$' ) then
       return false
   end
   return '.. id .. ' ' .. id .. '' .. getCatForId( 'SBN' )

end

local function nkcLink( id ) return '.. id .. '&CON_LNG=ENG ' .. id .. '' end

local function nclLink( id )

   if not string.match( id, '^%d+$' ) then
       return false
   end
   return '.. id .. '&CON_LNG=ENG ' .. id .. '' 

end

local function ndlLink( id ) return '.. id .. ' ' .. id .. '' end

local function sudocLink( id )

   if not string.match( id, '^%d%d%d%d%d%d%d%d[%dxX]$' ) then
       return false
   end
   return '.. id .. ' ' .. id .. '' 

end

local function hlsLink( id )

   if not string.match( id, '^%d+$' ) then
       return false
   end
   return '.. id .. '.php ' .. id .. ''

end

local function lirLink( id )

   if not string.match( id, '^%d+$' ) then
       return false
   end
   return '.. id .. '.450.0.html ' .. id .. ''

end

local function splitLccn( id )

   if id:match( '^%l%l?%l?%d%d%d%d%d%d%d%d%d?%d?$' ) then
       id = id:gsub( '^(%l+)(%d+)(%d%d%d%d%d%d)$', '%1/%2/%3' )
   end
   if id:match( '^%l%l?%l?/%d%d%d?%d?/%d+$' ) then
        return mw.text.split( id, '/' )
   end
   return false

end

local function append(str, c, length)

   while str:len() < length do
       str = c .. str
   end
   return str

end

local function lccnLink( id )

   local parts = splitLccn( id )
   if not parts then
       return false
   end
   local lccnType = parts[1] ~= 'sh' and 'names' or 'subjects'
   id = parts[1] .. parts[2] .. append( parts[3], '0', 6 )
   return '.. lccnType .. '/' .. id .. ' ' .. id .. '' .. getCatForId( 'LCCN' )

end

local function mbLink( id )

   -- TODO Implement some sanity checking regex
   return '.. id .. ' ' .. id .. '' .. getCatForId( 'MusicBrainz' )

end

--Returns the ISNI check digit isni must be a string where the 15 first elements are digits local function getIsniCheckDigit( isni )

   local total = 0
   for i = 1, 15 do
       local digit = isni:byte( i ) - 48 --Get integer value
       total = (total + digit) * 2
   end
   local remainder = total % 11
   local result = (12 - remainder) % 11
   if result == 10 then
       return "X"
   end
   return tostring( result )

end

--Validate ISNI (and ORCID) and retuns it as a 16 characters string or returns false if it's invalid --See http://support.orcid.org/knowledgebase/articles/116780-structure-of-the-orcid-identifier local function validateIsni( id )

   id = id:gsub( '[ %-]', ):upper()
   if not id:match( '^%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d[%dX]$' ) then
       return false
   end
   if getIsniCheckDigit( id ) ~= string.char( id:byte( 16 ) ) then
       return false
   end
   return id

end

local function isniLink( id )

   id = validateIsni( id )
   if not id then
       return false
   end
   return '.. id .. ' ' .. id:sub( 1, 4 ) .. ' ' .. id:sub( 5, 8 ) .. ' '  .. id:sub( 9, 12 ) .. ' '  .. id:sub( 13, 16 ) .. '' .. getCatForId( 'ISNI' )

end

local function orcidLink( id )

   id = validateIsni( id )
   if not id then
       return false
   end
   id = id:sub( 1, 4 ) .. '-' .. id:sub( 5, 8 ) .. '-'  .. id:sub( 9, 12 ) .. '-'  .. id:sub( 13, 16 )
   return '.. id .. ' ' .. id .. '' .. getCatForId( 'ORCID' )

end

local function gndLink( id )

   return '.. id .. ' ' .. id .. '' .. getCatForId( 'GND' )

end

local function selibrLink( id ) if not string.match( id, '^%d+$' ) then

       return false
   end
   return '.. id .. ' ' .. id .. '' .. getCatForId( 'SELIBR' )

end

local function bnfLink( id )

   --Add cb prefix if it has been removed
   if not string.match( id, '^cb.+$' ) then
       id = 'cb' .. id
   end
   return '.. id .. ' ' .. id .. ' .. id .. ' (data)' .. getCatForId( 'BNF' )

end

local function bpnLink( id )

   if not string.match( id, '^%d+$' ) then
       return false
   end
   return '.. id .. ' ' .. id .. '' .. getCatForId( 'BPN' )

end

local function ridLink( id )

   return '.. id .. ' ' .. id .. '' .. getCatForId( 'RID' )

end

local function bibsysLink( id )

   return '.. id .. '&feltselect=bs.autid ' .. id .. '' .. getCatForId( 'BIBSYS' )

end

local function ulanLink( id )

   return '.. id .. ' ' .. id .. '' .. getCatForId( 'ULAN' )

end

local function nlaLink( id ) return '.. id .. ' ' .. id .. '' .. getCatForId( 'NLA' ) end

local function rkdartistsLink( id ) return '.. id .. ' ' .. id .. '' .. getCatForId( 'RKDartists' ) end

local function getIdsFromWikidata( item, property )

   local ids = {}
   if not item.claims[property] then
       return ids
   end
   for _, statement in pairs( item.claims[property] ) do
         if statement.mainsnak.datavalue then
          table.insert( ids, statement.mainsnak.datavalue.value )
         end
   end
   return ids

end

local function matchesWikidataRequirements( item, reqs )

   for _, group in pairs( reqs ) do
       local property = 'p' .. group[1]
       local qid = group[2]
       if item.claims[property] ~= nil then
           for _, statement in pairs ( item.claims[property] ) do
                if statement.mainsnak.datavalue ~= nil then
                        if statement.mainsnak.datavalue.value['numeric-id'] == qid then
                        return true
                end
            end
           end
       end
   end
   return false

end

local function createRow( id, label, rawValue, link, withUid )

   if link then
       if withUid then
           return '* ' .. label .. ' ' .. link .. '\n'
       else
           return '* ' .. label .. ' ' .. link .. '\n'
       end
   else

return '* \n'

   end

end

--In this order: name of the parameter, label, propertyId in Wikidata, formatting function local conf = {

   { 'VIAF', 'VIAF', 214, viafLink },
   { 'LCCN', 'LCCN', 244, lccnLink },
   { 'ISNI', 'ISNI', 213, isniLink },
   { 'ORCID', 'ORCID', 496, orcidLink },
   { 'GND', 'GND', 227, gndLink },
   { 'SELIBR', 'SELIBR', 906, selibrLink },
   { 'SUDOC', 'SUDOC', 269, sudocLink },    
   { 'BNF', 'BNF', 268, bnfLink },
   { 'BPN', 'BPN', 651, bpnLink },
   { 'RID', 'ResearcherID', 1053, ridLink },
   { 'BIBSYS', 'BIBSYS', 1015, bibsysLink },
   { 'ULAN', 'ULAN', 245, ulanLink },
   { 'HDS', 'HDS', 902, hlsLink },
   { 'LIR', 'LIR', 886, lirLink },
   { 'MBA', 'MusicBrainz', 434, mbLink },
   { 'MGP', 'MGP', 549, mgpLink },    
   { 'NLA', 'NLA', 409, nlaLink },
   { 'NDL', 'NDL', 349, ndlLink },
   { 'NCL', 'NCL', 1048, nclLink },
   { 'NKC', 'NKC', 691, nkcLink },
   { 'Léonore', 'Léonore', 640, leonoreLink }, 
   { 'SBN', 'ICCU', 396, sbnLink },     
   { 'RLS', 'RLS', 947, rslLink },
   { 'Botanist', '[[Author ci 
  • require('Module:No globals') local function getCatForId( id ) local title = mw.title.getCurrentTitle() local namespace = title.namespace if namespace == 0 then return '' elseif namespace == 2 and not title.isSubpage then return '' else return '' end end local function viafLink( id ) if not string.match( id, '^%d+$' ) then return false end return '.. id .. ' ' .. id .. '' .. getCatForId( 'VIAF' ) end local function kulturnavLink( id ) return '.. id .. ' id' end local function sikartLink( id ) return '.. id .. '&lng=en ' .. id .. '' end local function tlsLink( id ) local id2 = mw.ustring.gsub(id, '%s', function(s) return mw.uri.encode(s, 'WIKI') end) return '.. id2 .. ' ' .. id .. '' end local function ciniiLink( id ) return '.. id .. '?l=en ' .. id .. '' end local function bneLink( id ) return '.. id .. ' ' .. id .. '' end local function uscongressLink( id ) return '.. id .. ' ' .. id .. '' end local function narapersonLink( id ) return '.. id .. ' ' .. id .. '' end local function naraorganizationLink( id ) return '.. id .. ' ' .. id .. '' end local function botanistLink( id ) local id2 = mw.ustring.gsub(id, '%s', function(s) return mw.uri.encode(s, 'PATH') end) return '.. id2 .. ' ' .. id .. '' end local function mgpLink( id ) -- TODO Implement some sanity checking regex return '.. id .. ' ' .. id .. '' end local function rslLink( id ) -- TODO Implement some sanity checking regex return '.. id .. '&CON_LNG=ENG ' .. id .. '' end local function leonoreLink( id ) -- Identifiants allant de LH/1/1 à LH/2794/54 (légionnaires) -- Identifiants allant de C/0/1 à C/0/84 (84 légionnaires célèbres) -- Identifiants allant de 19800035/1/1 à 19800035/385/51670 (légionnaires décédés entre 1954 et 1977, et quelques dossiers de légionnaires décédés avant 1954) if not string.match( id, '^LH/%d%d?%d?%d?/%d%d?%d?$' ) and not string.match( id, '^C/0/%d%d?$' ) and not string.match( id, '^19800035/%d%d?%d?%d?/%d%d?%d?%d?%d?$' ) then return false end return '.. id .. ' ' .. id .. '' end local function sbnLink( id ) if not string.match( id, '^IT\\ICCU\\%d%d%d%d%d%d%d%d%d%d$' ) and not string.match( id, '^IT\\ICCU\\%u%u[%d%u]%u\\%d%d%d%d%d%d$' ) then return false end return '.. id .. ' ' .. id .. '' .. getCatForId( 'SBN' ) end local function nkcLink( id ) return '.. id .. '&CON_LNG=ENG ' .. id .. '' end local function nclLink( id ) if not string.match( id, '^%d+$' ) then return false end return '.. id .. '&CON_LNG=ENG ' .. id .. '' end local function ndlLink( id ) return '.. id .. ' ' .. id .. '' end local function sudocLink( id ) if not string.match( id, '^%d%d%d%d%d%d%d%d[%dxX]$' ) then return false end return '.. id .. ' ' .. id .. '' end local function hlsLink( id ) if not string.match( id, '^%d+$' ) then return false end return '.. id .. '.php ' .. id .. '' end local function lirLink( id ) if not string.match( id, '^%d+$' ) then return false end return '.. id .. '.450.0.html ' .. id .. '' end local function splitLccn( id ) if id:match( '^%l%l?%l?%d%d%d%d%d%d%d%d%d?%d?$' ) then id = id:gsub( '^(%l+)(%d+)(%d%d%d%d%d%d)$', '%1/%2/%3' ) end if id:match( '^%l%l?%l?/%d%d%d?%d?/%d+$' ) then return mw.text.split( id, '/' ) end return false end local function append(str, c, length) while str:len() < length do str = c .. str end return str end local function lccnLink( id ) local parts = splitLccn( id ) if not parts then return false end local lccnType = parts[1] ~= 'sh' and 'names' or 'subjects' id = parts[1] .. parts[2] .. append( parts[3], '0', 6 ) return '.. lccnType .. '/' .. id .. ' ' .. id .. '' .. getCatForId( 'LCCN' ) end local function mbLink( id ) -- TODO Implement some sanity checking regex return '.. id .. ' ' .. id .. '' .. getCatForId( 'MusicBrainz' ) end --Returns the ISNI check digit isni must be a string where the 15 first elements are digits local function getIsniCheckDigit( isni ) local total = 0 for i = 1, 15 do local digit = isni:byte( i ) - 48 --Get integer value total = (total + digit) * 2 end local remainder = total % 11 local result = (12 - remainder) % 11 if result == 10 then return "X" end return tostring( result ) end --Validate ISNI (and ORCID) and retuns it as a 16 characters string or returns false if it's invalid --See http://support.orcid.org/knowledgebase/articles/eng/116780-structure-of-the-orcid-identifier local function validateIsni( id ) id = id:gsub( '[ %-]', ):upper() if not id:match( '^%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d[%dX]$' ) then return false end if getIsniCheckDigit( id ) ~= string.char( id:byte( 16 ) ) then return false end return id end local function isniLink( id ) id = validateIsni( id ) if not id then return false end return '.. id .. ' ' .. id:sub( 1, 4 ) .. ' ' .. id:sub( 5, 8 ) .. ' ' .. id:sub( 9, 12 ) .. ' ' .. id:sub( 13, 16 ) .. '' .. getCatForId( 'ISNI' ) end local function orcidLink( id ) id = validateIsni( id ) if not id then return false end id = id:sub( 1, 4 ) .. '-' .. id:sub( 5, 8 ) .. '-' .. id:sub( 9, 12 ) .. '-' .. id:sub( 13, 16 ) return '.. id .. ' ' .. id .. '' .. getCatForId( 'ORCID' ) end local function gndLink( id ) return '.. id .. ' ' .. id .. '' .. getCatForId( 'GND' ) end local function selibrLink( id ) if not string.match( id, '^%d+$' ) then return false end return '.. id .. ' ' .. id .. '' .. getCatForId( 'SELIBR' ) end local function bnfLink( id ) --Add cb prefix if it has been removed if not string.match( id, '^cb.+$' ) then id = 'cb' .. id end return '.. id .. ' ' .. id .. ' .. id .. ' (data)' .. getCatForId( 'BNF' ) end local function bpnLink( id ) if not string.match( id, '^%d+$' ) then return false end return '.. id .. ' ' .. id .. '' .. getCatForId( 'BPN' ) end local function ridLink( id ) return '.. id .. ' ' .. id .. '' .. getCatForId( 'RID' ) end local function bibsysLink( id ) return '.. id .. '&feltselect=bs.autid ' .. id .. '' .. getCatForId( 'BIBSYS' ) end local function ulanLink( id ) return '.. id .. ' ' .. id .. '' .. getCatForId( 'ULAN' ) end local function nlaLink( id ) return '.. id .. ' ' .. id .. '' .. getCatForId( 'NLA' ) end local function rkdartistsLink( id ) return '.. id .. ' ' .. id .. '' .. getCatForId( 'RKDartists' ) end local function getIdsFromWikidata( item, property ) local ids = {} if not item.claims[property] then return ids end for _, statement in pairs( item.claims[property] ) do if statement.mainsnak.datavalue then table.insert( ids, statement.mainsnak.datavalue.value ) end end return ids end local function matchesWikidataRequirements( item, reqs ) for _, group in pairs( reqs ) do local property = 'p' .. group[1] local qid = group[2] if item.claims[property] ~= nil then for _, statement in pairs ( item.claims[property] ) do if statement.mainsnak.datavalue ~= nil then if statement.mainsnak.datavalue.value['numeric-id'] == qid then return true end end end end end return false end local function createRow( id, label, rawValue, link, withUid ) if link then if withUid then return '* ' .. label .. ' ' .. link .. '\n' else return '* ' .. label .. ' ' .. link .. '\n' end else return '* \n' end end --In this order: name of the parameter, label, propertyId in Wikidata, formatting function local conf = { { 'VIAF', 'VIAF', 214, viafLink }, { 'LCCN', 'LCCN', 244, lccnLink }, { 'ISNI', 'ISNI', 213, isniLink }, { 'ORCID', 'ORCID', 496, orcidLink }, { 'GND', 'GND', 227, gndLink }, { 'SELIBR', 'SELIBR', 906, selibrLink }, { 'SUDOC', 'SUDOC', 269, sudocLink }, { 'BNF', 'BNF', 268, bnfLink }, { 'BPN', 'BPN', 651, bpnLink }, { 'RID', 'ResearcherID', 1053, ridLink }, { 'BIBSYS', 'BIBSYS', 1015, bibsysLink }, { 'ULAN', 'ULAN', 245, ulanLink }, { 'HDS', 'HDS', 902, hlsLink }, { 'LIR', 'LIR', 886, lirLink }, { 'MBA', 'MusicBrainz', 434, mbLink }, { 'MGP', 'MGP', 549, mgpLink }, { 'NLA', 'NLA', 409, nlaLink }, { 'NDL', 'NDL', 349, ndlLink }, { 'NCL', 'NCL', 1048, nclLink }, { 'NKC', 'NKC', 691, nkcLink }, { 'Léonore', 'Léonore', 640, leonoreLink }, { 'SBN', 'ICCU', 396, sbnLink }, { 'RLS', 'RLS', 947, rslLink }, { 'Botanist', '[[Author ci
  • Roads, Curtis (2001). Microsound. MIT. ISBN 0-262-18215-7.
  • Sandow, Greg (2004). "A Fine Madness". In The Pleasure of Modernist Music. ISBN 1-58046-143-3.
  • Scholes, Percy (1977a). "Form", in The Oxford Companion to Music, 6th corrected reprint of the 10th ed. (1970), revised and reset, edited by John Owen Ward. London and New York: Oxford University Press. ISBN 0-19-311306-6.
  • Scholes, Percy (1977b). "Metre", in The Oxford Companion to Music, 6th corrected reprint of the 10th ed. (1970), revised and reset, edited by John Owen Ward. London and New York: Oxford University Press. ISBN 0-19-311306-6.
  • Scholes, Percy (1977c). "Rhythm", in The Oxford Companion to Music, 6th corrected reprint of the 10th ed. (1970), revised and reset, edited by John Owen Ward. London and New York: Oxford University Press. ISBN 0-19-311306-6.
  • Slatkin, Leonard. n.d. "Discovering Music: Rhythm with Leonard Slatkin"
  • Toussaint, Godfried T., “The Geometry of Musical Rhythm,” In J. Akiyama, M. Kano, and X. Tan, editors, Proceedings of the Japan Conference on Discrete and Computational Geometry, Vol. 3742, Lecture Notes in Computer Science, Springer, Berlin/Heidelberg, 2005, pp. 198–212.
  • White, John D. (1976). The Analysis of Music. ISBN 0-13-033233-X.
  • Winold, Allen (1975). "Rhythm in Twentieth-Century Music". In Aspects of Twentieth-Century Music, edited by Gary Wittlich, Chapter 3. Englewood Cliffs, New Jersey: Prentice-Hall. ISBN 0-13-049346-5.
  • Woodrow, Herbert. "Time Perception". In A Handbook of Experimental Psychology, edited by Stanley Smith Stevens,. New York: Wiley, 1951.
  • Yeston, Maury. 1976. The Stratification of Musical Rhythm. New Haven and London: Yale University Press. ISBN 0-300-01884-3.

Further reading

  • Honing, H. (2002). "Structure and interpretation of rhythm and timing." Tijdschrift voor Muziektheorie [Dutch Journal of Music Theory] 7(3): 227–232.
  • Humble, M. (2002). The Development of Rhythmic Organization in Indian Classical Music, MA dissertation, School of Oriental and African Studies, University of London.
  • Lewis, Andrew (2005). Rhythm—What it is and How to Improve Your Sense of It. San Francisco: RhythmSource Press. ISBN 978-0-9754667-0-4.
  • Williams, C. F. A., The Aristoxenian Theory of Musical Rhythm, (Cambridge Library Collection—Music), Cambridge University Press; first edition, 2009.

External links

  • Melodyhound has a "Query by Tapping" search that allows users to identify music based on rhythm
  • SignoLouis Hébert, "A Little Semiotics of Rhythm. Elements of Rhythmology", in