// Generated by tracker_compiler. Do not edit. #include "audio/tracker.h" #include "generated/assets.h" const NoteParams g_tracker_samples[] = { {0}, // ASSET_KICK_1 (ASSET) {0}, // ASSET_KICK_2 (ASSET) {0}, // ASSET_KICK_3 (ASSET) {0}, // ASSET_SNARE_1 (ASSET) {0}, // ASSET_SNARE_2 (ASSET) {0}, // ASSET_SNARE_3 (ASSET) {0}, // ASSET_SNARE_4 (ASSET) {0}, // ASSET_HIHAT_1 (ASSET) {0}, // ASSET_HIHAT_2 (ASSET) {0}, // ASSET_HIHAT_3 (ASSET) {0}, // ASSET_HIHAT_4 (ASSET) {0}, // ASSET_CRASH_1 (ASSET) {0}, // ASSET_RIDE_1 (ASSET) {0}, // ASSET_SPLASH_1 (ASSET) {0}, // ASSET_BASS_1 (ASSET) {82.4f, 0.50f, 1.0f, 0.01f, 0.0f, 0.0f, 0.0f, 3, 0.6f, 0.0f, 0.0f}, // NOTE_E2 {98.0f, 0.50f, 1.0f, 0.01f, 0.0f, 0.0f, 0.0f, 3, 0.6f, 0.0f, 0.0f}, // NOTE_G2 {73.4f, 0.50f, 1.0f, 0.01f, 0.0f, 0.0f, 0.0f, 3, 0.6f, 0.0f, 0.0f}, // NOTE_D2 {65.4f, 0.50f, 1.0f, 0.01f, 0.0f, 0.0f, 0.0f, 3, 0.6f, 0.0f, 0.0f}, // NOTE_C2 }; const uint32_t g_tracker_samples_count = 19; const AssetId g_tracker_sample_assets[] = { AssetId::ASSET_KICK_1, AssetId::ASSET_KICK_2, AssetId::ASSET_KICK_3, AssetId::ASSET_SNARE_1, AssetId::ASSET_SNARE_2, AssetId::ASSET_SNARE_3, AssetId::ASSET_SNARE_4, AssetId::ASSET_HIHAT_1, AssetId::ASSET_HIHAT_2, AssetId::ASSET_HIHAT_3, AssetId::ASSET_HIHAT_4, AssetId::ASSET_CRASH_1, AssetId::ASSET_RIDE_1, AssetId::ASSET_SPLASH_1, AssetId::ASSET_BASS_1, AssetId::ASSET_LAST_ID, AssetId::ASSET_LAST_ID, AssetId::ASSET_LAST_ID, AssetId::ASSET_LAST_ID, }; static const TrackerEvent PATTERN_EVENTS_kick_basic[] = { {0.0f, 0, 1.0f, 0.0f}, {2.0f, 0, 1.0f, 0.0f}, {2.5f, 1, 0.7f, -0.2f}, }; static const TrackerEvent PATTERN_EVENTS_kick_varied[] = { {0.0f, 1, 1.0f, 0.0f}, {2.0f, 2, 0.9f, 0.0f}, {2.5f, 0, 0.7f, 0.2f}, }; static const TrackerEvent PATTERN_EVENTS_kick_dense[] = { {0.0f, 0, 1.0f, 0.0f}, {0.5f, 1, 0.6f, -0.2f}, {1.0f, 2, 0.9f, 0.0f}, {1.5f, 1, 0.6f, 0.2f}, {2.0f, 0, 1.0f, 0.0f}, {2.5f, 1, 0.6f, -0.2f}, {3.0f, 2, 0.9f, 0.0f}, {3.5f, 1, 0.6f, 0.2f}, }; static const TrackerEvent PATTERN_EVENTS_snare_basic[] = { {1.0f, 3, 1.1f, 0.1f}, {3.0f, 3, 1.1f, 0.1f}, }; static const TrackerEvent PATTERN_EVENTS_snare_varied[] = { {1.0f, 4, 1.0f, -0.1f}, {3.0f, 6, 1.1f, 0.1f}, }; static const TrackerEvent PATTERN_EVENTS_snare_dense[] = { {0.5f, 5, 0.9f, 0.0f}, {1.0f, 3, 1.1f, 0.1f}, {1.5f, 6, 0.9f, 0.0f}, {2.5f, 5, 0.9f, 0.0f}, {3.0f, 4, 1.0f, 0.1f}, {3.5f, 6, 0.9f, 0.0f}, }; static const TrackerEvent PATTERN_EVENTS_hihat_basic[] = { {0.0f, 8, 0.7f, -0.3f}, {0.5f, 7, 0.3f, 0.3f}, {1.0f, 8, 0.7f, -0.3f}, {1.5f, 7, 0.3f, 0.3f}, {2.0f, 8, 0.7f, -0.3f}, {2.5f, 7, 0.3f, 0.3f}, {3.0f, 8, 0.7f, -0.3f}, {3.5f, 7, 0.3f, 0.3f}, }; static const TrackerEvent PATTERN_EVENTS_hihat_varied[] = { {0.0f, 9, 0.7f, -0.3f}, {0.5f, 7, 0.3f, 0.3f}, {1.0f, 10, 0.6f, -0.2f}, {1.5f, 7, 0.3f, 0.3f}, {2.0f, 9, 0.7f, -0.3f}, {2.5f, 7, 0.3f, 0.3f}, {3.0f, 10, 0.6f, -0.2f}, {3.5f, 7, 0.3f, 0.3f}, }; static const TrackerEvent PATTERN_EVENTS_crash[] = { {0.0f, 11, 0.9f, 0.0f}, }; static const TrackerEvent PATTERN_EVENTS_ride[] = { {0.0f, 12, 0.8f, 0.2f}, }; static const TrackerEvent PATTERN_EVENTS_ride_fast[] = { {0.0f, 12, 0.8f, 0.2f}, {0.5f, 12, 0.6f, 0.2f}, {1.0f, 12, 0.8f, 0.2f}, {1.5f, 12, 0.6f, 0.2f}, {2.0f, 12, 0.8f, 0.2f}, {2.5f, 12, 0.6f, 0.2f}, {3.0f, 12, 0.8f, 0.2f}, {3.5f, 12, 0.6f, 0.2f}, }; static const TrackerEvent PATTERN_EVENTS_splash[] = { {0.0f, 13, 0.7f, -0.2f}, }; static const TrackerEvent PATTERN_EVENTS_bass_e_soft[] = { {0.0f, 15, 0.4f, 0.0f}, {2.0f, 15, 0.3f, 0.0f}, }; static const TrackerEvent PATTERN_EVENTS_bass_e[] = { {0.0f, 15, 0.5f, 0.0f}, {1.0f, 15, 0.4f, 0.0f}, {2.0f, 15, 0.5f, 0.0f}, {2.5f, 15, 0.3f, 0.0f}, {3.0f, 15, 0.4f, 0.0f}, }; static const TrackerEvent PATTERN_EVENTS_bass_eg[] = { {0.0f, 15, 0.5f, 0.0f}, {1.0f, 15, 0.4f, 0.0f}, {2.0f, 16, 0.5f, 0.0f}, {3.0f, 16, 0.4f, 0.0f}, }; static const TrackerEvent PATTERN_EVENTS_bass_progression[] = { {0.0f, 15, 0.5f, 0.0f}, {1.0f, 17, 0.4f, 0.0f}, {2.0f, 18, 0.5f, 0.0f}, {3.0f, 16, 0.4f, 0.0f}, }; static const TrackerEvent PATTERN_EVENTS_bass_synco_1[] = { {0.0f, 15, 0.6f, 0.0f}, {0.2f, 15, 0.5f, 0.1f}, {0.8f, 15, 0.6f, -0.1f}, {1.5f, 15, 0.5f, 0.0f}, {2.0f, 15, 0.6f, 0.0f}, {2.8f, 16, 0.6f, 0.1f}, {3.2f, 15, 0.5f, 0.0f}, }; static const TrackerEvent PATTERN_EVENTS_bass_synco_2[] = { {0.0f, 15, 0.6f, 0.0f}, {0.5f, 17, 0.6f, -0.1f}, {1.2f, 15, 0.5f, 0.1f}, {1.8f, 17, 0.5f, 0.0f}, {2.0f, 18, 0.6f, 0.0f}, {2.5f, 15, 0.5f, 0.1f}, {3.0f, 16, 0.6f, 0.0f}, {3.5f, 15, 0.5f, -0.1f}, }; static const TrackerEvent PATTERN_EVENTS_bass_synco_3[] = { {0.0f, 15, 0.6f, 0.0f}, {0.2f, 15, 0.5f, 0.0f}, {0.5f, 15, 0.6f, 0.1f}, {1.0f, 16, 0.6f, 0.0f}, {1.5f, 15, 0.5f, -0.1f}, {2.2f, 17, 0.6f, 0.0f}, {2.8f, 15, 0.5f, 0.1f}, {3.5f, 15, 0.6f, 0.0f}, }; const TrackerPattern g_tracker_patterns[] = { {PATTERN_EVENTS_kick_basic, 3, 4.0f}, // kick_basic {PATTERN_EVENTS_kick_varied, 3, 4.0f}, // kick_varied {PATTERN_EVENTS_kick_dense, 8, 4.0f}, // kick_dense {PATTERN_EVENTS_snare_basic, 2, 4.0f}, // snare_basic {PATTERN_EVENTS_snare_varied, 2, 4.0f}, // snare_varied {PATTERN_EVENTS_snare_dense, 6, 4.0f}, // snare_dense {PATTERN_EVENTS_hihat_basic, 8, 4.0f}, // hihat_basic {PATTERN_EVENTS_hihat_varied, 8, 4.0f}, // hihat_varied {PATTERN_EVENTS_crash, 1, 4.0f}, // crash {PATTERN_EVENTS_ride, 1, 4.0f}, // ride {PATTERN_EVENTS_ride_fast, 8, 4.0f}, // ride_fast {PATTERN_EVENTS_splash, 1, 4.0f}, // splash {PATTERN_EVENTS_bass_e_soft, 2, 4.0f}, // bass_e_soft {PATTERN_EVENTS_bass_e, 5, 4.0f}, // bass_e {PATTERN_EVENTS_bass_eg, 4, 4.0f}, // bass_eg {PATTERN_EVENTS_bass_progression, 4, 4.0f}, // bass_progression {PATTERN_EVENTS_bass_synco_1, 7, 4.0f}, // bass_synco_1 {PATTERN_EVENTS_bass_synco_2, 8, 4.0f}, // bass_synco_2 {PATTERN_EVENTS_bass_synco_3, 8, 4.0f}, // bass_synco_3 }; const uint32_t g_tracker_patterns_count = 19; static const TrackerPatternTrigger SCORE_TRIGGERS[] = { {0.0f, 8}, {0.0f, 0}, {0.0f, 6}, {2.0f, 0}, {2.0f, 3}, {2.0f, 6}, {4.0f, 9}, {4.0f, 1}, {4.0f, 3}, {4.0f, 7}, {6.0f, 1}, {6.0f, 4}, {6.0f, 7}, {8.0f, 11}, {8.0f, 0}, {8.0f, 3}, {8.0f, 6}, {8.0f, 12}, {10.0f, 1}, {10.0f, 4}, {10.0f, 7}, {10.0f, 12}, {12.0f, 9}, {12.0f, 0}, {12.0f, 3}, {12.0f, 6}, {12.0f, 13}, {14.0f, 1}, {14.0f, 4}, {14.0f, 7}, {14.0f, 14}, {16.0f, 8}, {16.0f, 2}, {16.0f, 5}, {16.0f, 7}, {16.0f, 13}, {18.0f, 2}, {18.0f, 5}, {18.0f, 6}, {18.0f, 15}, {20.0f, 9}, {20.0f, 2}, {20.0f, 5}, {20.0f, 7}, {20.0f, 13}, {22.0f, 2}, {22.0f, 5}, {22.0f, 6}, {22.0f, 14}, {24.0f, 11}, {24.0f, 2}, {24.0f, 5}, {24.0f, 7}, {24.0f, 15}, {26.0f, 2}, {26.0f, 5}, {26.0f, 6}, {26.0f, 13}, {28.0f, 10}, {28.0f, 0}, {28.0f, 4}, {28.0f, 7}, {28.0f, 14}, {30.0f, 1}, {30.0f, 3}, {30.0f, 6}, {30.0f, 15}, {31.0f, 6}, {32.0f, 8}, {32.0f, 10}, {32.0f, 2}, {32.0f, 5}, {32.0f, 7}, {32.0f, 16}, {34.0f, 10}, {34.0f, 2}, {34.0f, 5}, {34.0f, 6}, {34.0f, 17}, {36.0f, 10}, {36.0f, 2}, {36.0f, 5}, {36.0f, 7}, {36.0f, 18}, {38.0f, 8}, }; const TrackerScore g_tracker_score = {SCORE_TRIGGERS, 85, 120.0f}; // ============================================================ // RESOURCE USAGE ANALYSIS (for synth.h configuration) // ============================================================ // Total samples: 19 (15 assets + 4 generated notes) // Max simultaneous pattern triggers: 6 // Estimated max polyphony: 24 voices // // REQUIRED (minimum to avoid pool exhaustion): // MAX_VOICES: 24 // MAX_SPECTROGRAMS: 111 (no caching) // // RECOMMENDED (with 50% safety margin): // MAX_VOICES: 48 // MAX_SPECTROGRAMS: 166 (no caching) // // NOTE: With spectrogram caching by note parameters, // MAX_SPECTROGRAMS could be reduced to ~19 // ============================================================