<commit_before>C_Quencer 仕様

input:
  knob1: eucrid fill (A) / sequence length (B) / cv slide (C)
  knob2: pattern rotation (A) / pattern rotation random (B) / trigger swing (C)
  knob3: scale select (A) / transpose (B) / scale select random (C)
   * scale select はプリセットからスケール選択
      (eucrid fill のように値が大きいほど取りうるキーの音が増える)
  knob4: scale pattern (A) / scale range (B) / scale pattern random (C)
   * scale patternはシーケンス位置毎の上昇／加工量を決めるシーケンス一周分の周期のLFOのプリセットパターン

  btn 1(FUNC):  各コントロールのサブ機能にアクセス
    ・ダブルタップでFUNC押しっぱなしと同じ状態
      -> もう一度ダブルタップで解除
  btn 2(START): 
    A: 内部クロックでシーケンスをスタート/ストップ
    B: シーケンスポジションをリセット
  btn 3(TAP):
    A: 内部クロックのテンポをタップで設定
    B: 連続タップした回数でクロックディバイド(1/1, 1/2, 1/3, 1/4, 1/6, 1/8, 1/12, 1/24, 1/48)
        -> ディバイドは内部クロック＆外部トリガーの両方に効く。
          -> 内部クロックのトリガーと外部トリガーは内部的にマージされるので、そのあとにディバイド
  btn 4(REC):
    A: タップすると4つのノブの数値をモーションレコーディングする。もう一度タップでレコード終了
          -> レコーディングの長さは内部クロックの1/16単位にクオンタイズされる
            -> 最大64step分(可能なら128step?)記録可能。記録できるステップ数を超えた場合は、ループして先頭から値を上書き
      ※4つのノブの値の読み取りは、レコーディングしていない場合でも必ず1/16単位にクオンタイズされている
    B: モーションレコーディングをクリアする。クリア後、新しいモーションレコーディングがなければ最後に記録したモーションを再生する
  
  btn 1+3 press:
    FUNC+TAPを押しながらノブを操作すると、各ノブの隠し機能(C)が有効になる

output:
  gate: シーケンスに対応するゲート信号(0-5V)
  V/Oct: シーケンスに対応するCV信号(0-10V)
  osc: シーケンスによって鳴らされる音源(矩形波)<commit_msg>fix spec.txt<commit_after>C_Quencer 仕様

input:
  knob1: eucrid fill (A) / sequence length (B) / cv slide (C)
  knob2: pattern rotation (A) / pattern rotation random (B) / trigger swing (C)
  knob3: scale select (A) / transpose (B) / scale select random (C)
   * scale select はプリセットからスケール選択
  knob4: scale pattern (A) / scale range (B) / scale pattern random (C)
   * scale patternはシーケンス位置毎の上昇／下降量を決めるシーケンス一周分の周期のLFOのプリセットパターン

  btn 1(FUNC): 
    press: 各コントロールのサブ機能(B)にアクセス
  btn 2(START): 
    A: 内部クロックでシーケンスをスタート/ストップ
    B: シーケンスポジションをリセット
  btn 3(TAP):
    press: 各コントロールの隠し機能(C)にアクセス
    A: 内部クロックのテンポをタップで設定
    B: 連続タップした回数でクロックディバイド(1/1, 1/2, 1/3, 1/4, 1/6, 1/8, 1/12, 1/24, 1/48)
        -> ディバイドは内部クロック＆外部トリガーの両方に効く。
          -> 内部クロックのトリガーと外部トリガーは内部的にマージされるので、そのあとにディバイド
  btn 4(REC):
    A: タップすると4つのノブの数値をモーションレコーディングする。もう一度タップでレコード終了
          -> レコーディングの長さは内部クロックの1/16単位にクオンタイズされる
            -> 最大64step分記録可能。記録できるステップ数を超えた場合は、ループして先頭から値を上書き
      ※4つのノブの値の読み取りは、レコーディングしていない場合でも必ず1/16単位にクオンタイズされている
    B: モーションレコーディングをクリアする。クリア後、新しいモーションレコーディングがなければ最後に記録したモーションを再生する

output:
  gate: シーケンスに対応するゲート信号(0-5V)
  V/Oct: シーケンスに対応するCV信号(0-10V)
  osc: シーケンスによって鳴らされる音源(ノコギリ波)
{'fraction_non_alphanumeric': 0.09948062325209749, 'fraction_numerical': 0.03715541350379545, 'mean_word_length': 3.833976833976834, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '430565', 'n_tokens_mistral': 1800, 'n_tokens_neox': 1723, 'n_words': 194}