// Here "depth" is the base 2 logarithm of the number of units in the rhythm.
 public HierarchicalRhythm(double _interval, int _depth)
 {
     interval = _interval;
     Root     = new HierarchicalRhythmNode();
     Root.Deepen(_depth);
     depth = _depth;
 }
 public void Deepen(int depth)
 {
     if (depth == 0)
     {
         return;
     }
     else
     {
         Left = new HierarchicalRhythmNode();
         Left.Deepen(depth - 1);
         Right = new HierarchicalRhythmNode();
         Right.Deepen(depth - 1);
     }
 }