Skip to content

Commit

Permalink
Poly section good
Browse files Browse the repository at this point in the history
  • Loading branch information
sevagh committed Nov 3, 2019
1 parent b380211 commit b53e674
Show file tree
Hide file tree
Showing 16 changed files with 324 additions and 82 deletions.
Expand Up @@ -89,7 +89,8 @@
<div class="title">Simple, odd, compound </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>These examples are simple, so I don't cover exhaustive cases. E.g., going from 5/4 to 7/4 just means adding 2 more weakbeats. The metronome files used to generate the clips can be viewed <a href="https://github.com/sevagh/libmetro/tree/master/sample_metronomes">here</a>. Tutorials used:</p>
<div class="textblock"><p>These examples are simple, so I don't cover exhaustive cases. E.g., going from 5/4 to 7/4 just means adding 2 more weakbeats. The metronome files used to generate the clips can be viewed <a href="https://github.com/sevagh/libmetro/tree/master/sample_metronomes">here</a>.</p>
<p>Resources, tutorials:</p>
<ul>
<li><a href="https://www.dummies.com/art-center/music/piano/understanding-simple-and-compound-time-signatures/">https://www.dummies.com/art-center/music/piano/understanding-simple-and-compound-time-signatures/</a></li>
<li><a href="https://www.studybass.com/lessons/reading-music/time-signatures/">https://www.studybass.com/lessons/reading-music/time-signatures/</a></li>
Expand Down
160 changes: 160 additions & 0 deletions docs/md__home_sevagh_repos_libmetro_doxygen_4_polyrhythms.html
@@ -0,0 +1,160 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libmetro: Polyrhythm</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libmetro
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('md__home_sevagh_repos_libmetro_doxygen_4_polyrhythms.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">Polyrhythm </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Polyrhythm is the original motivator of libmetro. Polyrhythm as defined by britannica.com is:</p>
<p>&gt;Polyrhythm, also called Cross-rhythm, the simultaneous combination of contrasting rhythms in a musical composition. Rhythmic conflicts, or cross-rhythms, may occur within a single metre (e.g., two eighth notes against triplet eighths) or may be reinforced by simultaneous combinations of conflicting metres.</p>
<p>I first learned of polyrhythm through metal bands (Meshuggah, Animals as Leaders, Periphery, Plini, etc.):</p>
<p>
<iframe width="434" height="192" src="https://www.youtube.com/embed/T4gTgM0UepQ?start=130" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</p>
<p>Polyrhythm features in African music (and may have even originated there):</p>
<p>
<iframe width="434" height="192" src="https://www.youtube.com/embed/haGWi5lTibI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</p>
<p>EDM example (not 100% certain on this one):</p>
<p>
<iframe width="434" height="192" src="https://www.youtube.com/embed/V31kBcV3k38" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</p>
<h3>libmetro representation</h3>
<p>Polyrhythms are expressed rather simply. They need to be manually constructed using the least common multiple of both rhythms, which is a familiar exercise to anyone studying polyrythms or following basic tutorials (as I did - linked right below).</p>
<p>Resources, tutorials:</p>
<ul>
<li><a href="https://bouncemetronome.com/video-resources/polyrhythms">https://bouncemetronome.com/video-resources/polyrhythms</a></li>
<li><a href="https://blog.landr.com/use-polyrhythms-get-perfect-beat/">https://blog.landr.com/use-polyrhythms-get-perfect-beat/</a></li>
<li><a href="https://www.youtube.com/watch?v=_37pioTK_gA">https://www.youtube.com/watch?v=_37pioTK_gA</a></li>
<li><a href="https://www.youtube.com/watch?v=b29H5RLcijs">https://www.youtube.com/watch?v=b29H5RLcijs</a></li>
</ul>
<p>As before, the metronome files below can be viewed <a href="https://github.com/sevagh/libmetro/tree/master/sample_metronomes">here</a>.</p>
<h4>3:2 example</h4>
<p>To create a 3:2, we need to find the LCM of 3 and 2, which is 6, spread the triple at indices 0,2,4, and the duple at indices 0,3:</p>
<p>poly_32.txt:</p>
<div class="fragment"><div class="line">measure_length 6</div><div class="line"></div><div class="line">0 sine,440.0,10.0 drum,73.42,100.0 drum,92.5,100.0 drum,207.65,100.0 drum,185.0,100.0</div><div class="line">1 sine,440.0,10.0</div><div class="line">2 sine,440.0,10.0 drum,73.42,50.0</div><div class="line">3 sine,440.0,10.0 drum,207.65,50.0</div><div class="line">4 sine,440.0,10.0 drum,73.42,50.0</div><div class="line">5 sine,440.0,10.0</div></div><!-- fragment --><p>You'll see see I added sine wave beeps/clicks to make clear how the triples and duples are overlaid on 6 beats:</p>
<p>3:2, 250bpm:</p>
<p>
<audio controls="1">
<source src="./static/poly_32.wav"
type="audio/wav">
</source>
</audio>
</p>
<p>2:3 (inverted timbres of 3:2), 250bpm:</p>
<p>
<audio controls="1">
<source src="./static/poly_23.wav"
type="audio/wav">
</source>
</audio>
</p>
<h4>4:3 with a pedagogical twist</h4>
<p>There's a fully-fledged <a href="https://github.com/sevagh/libmetro/blob/master/examples/poly_43.cpp">pure-C++ 4:3 example</a>. where one can specify how many measures of 4, 3, 4:3, and only clicks (no beats) to play.</p>
<p>The idea is that you could practice X measures of 4, Y measures of 3, Z measures of 4:3, and W measures of only clicks (on which you're expected to correctly play the 4:3), repeated over and over. This can perhaps be of value to drummers.</p>
<p>Note that this concept is expressible with the text file method, but requires one to copy/paste blocks of measures (and change the indices manually), which is tedious.</p>
<p>Test run with parameters 2 2 2 2 300, i.e. 2 measures of 4, 2 measures of 3, 2 measures of 4:3, and 2 "blank" measures of just clicks, at 300bpm:</p>
<p>
<audio controls="1">
<source src="./static/poly_43.wav"
type="audio/wav">
</source>
</audio>
</p>
</div></div><!-- PageDoc -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
</ul>
</div>
</body>
</html>
1 change: 1 addition & 0 deletions docs/navtreedata.js
Expand Up @@ -28,6 +28,7 @@ var NAVTREE =
[ "Getting started", "md__home_sevagh_repos_libmetro_doxygen_1_gettingstarted.html", null ],
[ "libmetro txt file format", "md__home_sevagh_repos_libmetro_doxygen_2_txt_file_format.html", null ],
[ "Simple, odd, compound", "md__home_sevagh_repos_libmetro_doxygen_3_simple_odd_compound.html", null ],
[ "Polyrhythm", "md__home_sevagh_repos_libmetro_doxygen_4_polyrhythms.html", null ],
[ "MUMT-306 project report", "md__home_sevagh_repos_libmetro_doxygen_5_mumt306.html", null ],
[ "Namespaces", "namespaces.html", [
[ "Namespace List", "namespaces.html", "namespaces_dup" ],
Expand Down
79 changes: 40 additions & 39 deletions docs/navtreeindex0.js
@@ -1,49 +1,50 @@
var NAVTREEINDEX0 =
{
"annotated.html":[6,0],
"classes.html":[6,1],
"classmetro_1_1Measure.html":[6,0,0,0],
"classmetro_1_1Measure.html#a54b103c89dd56b4ac71a978bab21aab7":[6,0,0,0,2],
"classmetro_1_1Measure.html#a54e05353ac5c950c8ad5daf89d028feb":[6,0,0,0,1],
"classmetro_1_1Measure.html#a5f5c329bbda3fa8db3f773c0e521e681":[6,0,0,0,3],
"classmetro_1_1Measure.html#aa4ff4c22d0c4bdb091f27099a9a0a3ef":[6,0,0,0,5],
"classmetro_1_1Measure.html#ac3798661271bc6abd49cf3ec0b725b0a":[6,0,0,0,0],
"classmetro_1_1Measure.html#ae3bc83f7653fdf9aa342f69a2721639d":[6,0,0,0,4],
"classmetro_1_1Metronome.html":[6,0,0,1],
"classmetro_1_1Metronome.html#a4b9f8c10666eb8f6571e78db06c32499":[6,0,0,1,2],
"classmetro_1_1Metronome.html#a82621d4d5af78e8e75748434e75dea1c":[6,0,0,1,4],
"classmetro_1_1Metronome.html#a829a3c747fa9a61cb10575b5a2631132":[6,0,0,1,3],
"classmetro_1_1Metronome.html#a98e533716b5331cc85f674d57b88ba40":[6,0,0,1,1],
"classmetro_1_1Metronome.html#af0fcd002afd6c5a87e6a7aaf1ab6ae5f":[6,0,0,1,0],
"classmetro_1_1Note.html":[6,0,0,2],
"classmetro_1_1Note.html#a63607ed4bc314076db55296b0a237aa0":[6,0,0,2,1],
"classmetro_1_1Note.html#a757af438166e24fe16e80a8a09d3cc3a":[6,0,0,2,6],
"classmetro_1_1Note.html#a77d47d67aa72f47f2c187a573f8b02e9":[6,0,0,2,3],
"classmetro_1_1Note.html#a805875ea408b485a3b9b131893d0b031":[6,0,0,2,4],
"classmetro_1_1Note.html#abee528c29d868d8b70b85f9707820eb8":[6,0,0,2,2],
"classmetro_1_1Note.html#ac56a7a9dd84fe603c1650e154cb9e939":[6,0,0,2,0],
"classmetro_1_1Note.html#ac56a7a9dd84fe603c1650e154cb9e939a305b0c28c79d7dda339b977d433edd2c":[6,0,0,2,0,0],
"classmetro_1_1Note.html#ac56a7a9dd84fe603c1650e154cb9e939ad7d0d9df672c5fac07da6595dfd38362":[6,0,0,2,0,1],
"classmetro_1_1Note.html#ae11a8f59cf152f737234ccbce0fca9e3":[6,0,0,2,5],
"classmetro_1_1Note.html#af947fd8a25889b82dee37373b27d418f":[6,0,0,2,7],
"classmetro_1_1Note.html#afe6cd1f8f7d228b4879d964571bc64b1":[6,0,0,2,8],
"dir_d44c64559bbebec7f509842c48db8b23.html":[7,0,0],
"files.html":[7,0],
"functions.html":[6,2,0],
"functions_enum.html":[6,2,2],
"functions_eval.html":[6,2,3],
"functions_func.html":[6,2,1],
"annotated.html":[7,0],
"classes.html":[7,1],
"classmetro_1_1Measure.html":[7,0,0,0],
"classmetro_1_1Measure.html#a54b103c89dd56b4ac71a978bab21aab7":[7,0,0,0,2],
"classmetro_1_1Measure.html#a54e05353ac5c950c8ad5daf89d028feb":[7,0,0,0,1],
"classmetro_1_1Measure.html#a5f5c329bbda3fa8db3f773c0e521e681":[7,0,0,0,3],
"classmetro_1_1Measure.html#aa4ff4c22d0c4bdb091f27099a9a0a3ef":[7,0,0,0,5],
"classmetro_1_1Measure.html#ac3798661271bc6abd49cf3ec0b725b0a":[7,0,0,0,0],
"classmetro_1_1Measure.html#ae3bc83f7653fdf9aa342f69a2721639d":[7,0,0,0,4],
"classmetro_1_1Metronome.html":[7,0,0,1],
"classmetro_1_1Metronome.html#a4b9f8c10666eb8f6571e78db06c32499":[7,0,0,1,2],
"classmetro_1_1Metronome.html#a82621d4d5af78e8e75748434e75dea1c":[7,0,0,1,4],
"classmetro_1_1Metronome.html#a829a3c747fa9a61cb10575b5a2631132":[7,0,0,1,3],
"classmetro_1_1Metronome.html#a98e533716b5331cc85f674d57b88ba40":[7,0,0,1,1],
"classmetro_1_1Metronome.html#af0fcd002afd6c5a87e6a7aaf1ab6ae5f":[7,0,0,1,0],
"classmetro_1_1Note.html":[7,0,0,2],
"classmetro_1_1Note.html#a63607ed4bc314076db55296b0a237aa0":[7,0,0,2,1],
"classmetro_1_1Note.html#a757af438166e24fe16e80a8a09d3cc3a":[7,0,0,2,6],
"classmetro_1_1Note.html#a77d47d67aa72f47f2c187a573f8b02e9":[7,0,0,2,3],
"classmetro_1_1Note.html#a805875ea408b485a3b9b131893d0b031":[7,0,0,2,4],
"classmetro_1_1Note.html#abee528c29d868d8b70b85f9707820eb8":[7,0,0,2,2],
"classmetro_1_1Note.html#ac56a7a9dd84fe603c1650e154cb9e939":[7,0,0,2,0],
"classmetro_1_1Note.html#ac56a7a9dd84fe603c1650e154cb9e939a305b0c28c79d7dda339b977d433edd2c":[7,0,0,2,0,0],
"classmetro_1_1Note.html#ac56a7a9dd84fe603c1650e154cb9e939ad7d0d9df672c5fac07da6595dfd38362":[7,0,0,2,0,1],
"classmetro_1_1Note.html#ae11a8f59cf152f737234ccbce0fca9e3":[7,0,0,2,5],
"classmetro_1_1Note.html#af947fd8a25889b82dee37373b27d418f":[7,0,0,2,7],
"classmetro_1_1Note.html#afe6cd1f8f7d228b4879d964571bc64b1":[7,0,0,2,8],
"dir_d44c64559bbebec7f509842c48db8b23.html":[8,0,0],
"files.html":[8,0],
"functions.html":[7,2,0],
"functions_enum.html":[7,2,2],
"functions_eval.html":[7,2,3],
"functions_func.html":[7,2,1],
"index.html":[],
"index.html#intro_sec":[0],
"libmetro_8h_source.html":[7,0,0,0],
"libmetro_8h_source.html":[8,0,0,0],
"md__home_sevagh_repos_libmetro_doxygen_1_gettingstarted.html":[1],
"md__home_sevagh_repos_libmetro_doxygen_2_txt_file_format.html":[2],
"md__home_sevagh_repos_libmetro_doxygen_3_simple_odd_compound.html":[3],
"md__home_sevagh_repos_libmetro_doxygen_5_mumt306.html":[4],
"namespacemembers.html":[5,1,0],
"namespacemembers_vars.html":[5,1,1],
"namespacemetro.html":[5,0,0],
"md__home_sevagh_repos_libmetro_doxygen_4_polyrhythms.html":[4],
"md__home_sevagh_repos_libmetro_doxygen_5_mumt306.html":[5],
"namespacemembers.html":[6,1,0],
"namespacemembers_vars.html":[6,1,1],
"namespacemetro.html":[6,0,0],
"namespaces.html":[5,0],
"namespacemetro.html":[7,0,0],
"namespaces.html":[6,0],
"pages.html":[]
};
3 changes: 2 additions & 1 deletion docs/pages.html
Expand Up @@ -94,7 +94,8 @@
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md__home_sevagh_repos_libmetro_doxygen_1_gettingstarted.html" target="_self">Getting started</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md__home_sevagh_repos_libmetro_doxygen_2_txt_file_format.html" target="_self">libmetro txt file format</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md__home_sevagh_repos_libmetro_doxygen_3_simple_odd_compound.html" target="_self">Simple, odd, compound</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md__home_sevagh_repos_libmetro_doxygen_5_mumt306.html" target="_self">MUMT-306 project report</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md__home_sevagh_repos_libmetro_doxygen_4_polyrhythms.html" target="_self">Polyrhythm</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md__home_sevagh_repos_libmetro_doxygen_5_mumt306.html" target="_self">MUMT-306 project report</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
Expand Down
7 changes: 1 addition & 6 deletions docs/search/all_7.js
@@ -1,9 +1,4 @@
var searchData=
[
['simple_2c_20odd_2c_20compound',['Simple, odd, compound',['../md__home_sevagh_repos_libmetro_doxygen_3_simple_odd_compound.html',1,'']]],
['sampleratehz',['SampleRateHz',['../namespacemetro.html#af1c023e8a966d89296f44221ec6fa862',1,'metro']]],
['sine',['Sine',['../classmetro_1_1Note.html#ac56a7a9dd84fe603c1650e154cb9e939a305b0c28c79d7dda339b977d433edd2c',1,'metro::Note']]],
['size',['size',['../classmetro_1_1Note.html#afe6cd1f8f7d228b4879d964571bc64b1',1,'metro::Note::size()'],['../classmetro_1_1Measure.html#aa4ff4c22d0c4bdb091f27099a9a0a3ef',1,'metro::Measure::size()']]],
['start',['start',['../classmetro_1_1Metronome.html#a829a3c747fa9a61cb10575b5a2631132',1,'metro::Metronome']]],
['start_5fand_5floop',['start_and_loop',['../classmetro_1_1Metronome.html#a82621d4d5af78e8e75748434e75dea1c',1,'metro::Metronome']]]
['polyrhythm',['Polyrhythm',['../md__home_sevagh_repos_libmetro_doxygen_4_polyrhythms.html',1,'']]]
];
7 changes: 6 additions & 1 deletion docs/search/all_8.js
@@ -1,4 +1,9 @@
var searchData=
[
['timbre',['Timbre',['../classmetro_1_1Note.html#ac56a7a9dd84fe603c1650e154cb9e939',1,'metro::Note']]]
['simple_2c_20odd_2c_20compound',['Simple, odd, compound',['../md__home_sevagh_repos_libmetro_doxygen_3_simple_odd_compound.html',1,'']]],
['sampleratehz',['SampleRateHz',['../namespacemetro.html#af1c023e8a966d89296f44221ec6fa862',1,'metro']]],
['sine',['Sine',['../classmetro_1_1Note.html#ac56a7a9dd84fe603c1650e154cb9e939a305b0c28c79d7dda339b977d433edd2c',1,'metro::Note']]],
['size',['size',['../classmetro_1_1Note.html#afe6cd1f8f7d228b4879d964571bc64b1',1,'metro::Note::size()'],['../classmetro_1_1Measure.html#aa4ff4c22d0c4bdb091f27099a9a0a3ef',1,'metro::Measure::size()']]],
['start',['start',['../classmetro_1_1Metronome.html#a829a3c747fa9a61cb10575b5a2631132',1,'metro::Metronome']]],
['start_5fand_5floop',['start_and_loop',['../classmetro_1_1Metronome.html#a82621d4d5af78e8e75748434e75dea1c',1,'metro::Metronome']]]
];
2 changes: 1 addition & 1 deletion docs/search/pages_3.js
@@ -1,4 +1,4 @@
var searchData=
[
['simple_2c_20odd_2c_20compound',['Simple, odd, compound',['../md__home_sevagh_repos_libmetro_doxygen_3_simple_odd_compound.html',1,'']]]
['polyrhythm',['Polyrhythm',['../md__home_sevagh_repos_libmetro_doxygen_4_polyrhythms.html',1,'']]]
];
2 changes: 1 addition & 1 deletion docs/search/pages_4.js
@@ -1,4 +1,4 @@
var searchData=
[
['mumt_2d306_20project_20report',['MUMT-306 project report',['../md__home_sevagh_repos_libmetro_doxygen_4_mumt306.html',1,'']]]
['simple_2c_20odd_2c_20compound',['Simple, odd, compound',['../md__home_sevagh_repos_libmetro_doxygen_3_simple_odd_compound.html',1,'']]]
];
4 changes: 2 additions & 2 deletions docs/search/searchdata.js
@@ -1,13 +1,13 @@
var indexSectionsWithContent =
{
0: "adglmnost",
0: "adglmnopst",
1: "mn",
2: "m",
3: "agmnos",
4: "s",
5: "t",
6: "ds",
7: "glms"
7: "glmps"
};

var indexSectionNames =
Expand Down
Binary file added docs/static/poly_23.wav
Binary file not shown.
Binary file added docs/static/poly_32.wav
Binary file not shown.
Binary file added docs/static/poly_43.wav
Binary file not shown.
2 changes: 1 addition & 1 deletion doxygen/3_simple_odd_compound.md
Expand Up @@ -2,7 +2,7 @@

These examples are simple, so I don't cover exhaustive cases. E.g., going from 5/4 to 7/4 just means adding 2 more weakbeats. The metronome files used to generate the clips can be viewed [here](https://github.com/sevagh/libmetro/tree/master/sample_metronomes).

Tutorials used:
Resources, tutorials:

* https://www.dummies.com/art-center/music/piano/understanding-simple-and-compound-time-signatures/
* https://www.studybass.com/lessons/reading-music/time-signatures/
Expand Down

0 comments on commit b53e674

Please sign in to comment.