From 7e01196a8a7dbc4c952fea34d5e15fb25e0a4f90 Mon Sep 17 00:00:00 2001 From: akasaka Date: Fri, 26 Jul 2024 09:12:17 +0900 Subject: [PATCH 01/26] Hunting down a floating bug --- include/views/common/view.h | 5 +++++ src/app/menu.cpp | 2 +- src/service/owm/weather.cpp | 1 - src/service/wordnik.cpp | 1 - 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/include/views/common/view.h b/include/views/common/view.h index 917041d..a83145c 100644 --- a/include/views/common/view.h +++ b/include/views/common/view.h @@ -31,6 +31,11 @@ class ClipView: public Composable { delete content; } + void prepare() { content->prepare(); } + void render(FantaManipulator*fb) { content->render(fb); } + void step() { content->step(); } + void cleanup() { content->cleanup(); } + protected: Renderable * content; }; diff --git a/src/app/menu.cpp b/src/app/menu.cpp index e234d11..4ae76eb 100644 --- a/src/app/menu.cpp +++ b/src/app/menu.cpp @@ -14,7 +14,7 @@ class UptimeView: public MenuInfoItemView { void step() { tk_time_of_day_t uptime = get_uptime(); - snprintf(buf, 16, "%d:%d:%d", uptime.hour, uptime.minute, uptime.second, uptime.millisecond); + snprintf(buf, 16, "%02d:%02d:%02d", uptime.hour, uptime.minute, uptime.second, uptime.millisecond); bottom_label->set_string(buf); MenuInfoItemView::step(); } diff --git a/src/service/owm/weather.cpp b/src/service/owm/weather.cpp index b3aa821..4850837 100644 --- a/src/service/owm/weather.cpp +++ b/src/service/owm/weather.cpp @@ -88,7 +88,6 @@ void WeatherTaskFunction( void * pvParameter ) } } else { ESP_LOGE(LOG_TAG, "Unexpected response code %i when refreshing", response); - ESP_LOGE(LOG_TAG, "%s", http.getString()); isFailure = true; } vTaskDelay(isFailure ? pdMS_TO_TICKS(5000) : interval); diff --git a/src/service/wordnik.cpp b/src/service/wordnik.cpp index 9d0989c..7dfeda3 100644 --- a/src/service/wordnik.cpp +++ b/src/service/wordnik.cpp @@ -87,7 +87,6 @@ void WordnikTaskFunction( void * pvParameter ) } } else { ESP_LOGE(LOG_TAG, "Unexpected response code %i when refreshing", response); - ESP_LOGE(LOG_TAG, "%s", http.getString()); isFailure = true; } vTaskDelay(isFailure ? pdMS_TO_TICKS(10000) : interval); From 31408933a50816c1e5961d90d8e09d2b12d5748c Mon Sep 17 00:00:00 2001 From: akasaka Date: Fri, 26 Jul 2024 09:12:26 +0900 Subject: [PATCH 02/26] Remote via wifi --- src/input/keypad.cpp | 10 ++++++++-- src/network/admin_panel.cpp | 38 +++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/src/input/keypad.cpp b/src/input/keypad.cpp index 1fb535b..04299a3 100644 --- a/src/input/keypad.cpp +++ b/src/input/keypad.cpp @@ -1,17 +1,22 @@ #include #include #include +#include static char LOG_TAG[] = "KEYP"; static TaskHandle_t hTask; +static std::map oldStates = {}; static void keypad_task(void*) { #if HAS(KEYPAD) while(1) { for(auto i: HWCONF_KEYPAD) { - int lvl = gpio_get_level(i.first); - hid_set_key_state(i.second, lvl > 0); + bool lvl = gpio_get_level(i.first) > 0; + if(oldStates[i.first] != lvl) { + oldStates[i.first] = lvl; + hid_set_key_state(i.second, lvl); + } } vTaskDelay(pdMS_TO_TICKS(10)); @@ -29,6 +34,7 @@ void keypad_start() { for(auto i: HWCONF_KEYPAD) { io_conf.pin_bit_mask |= 1ULL << i.first; + oldStates[i.first] = false; } ESP_ERROR_CHECK(gpio_config(&io_conf)); diff --git a/src/network/admin_panel.cpp b/src/network/admin_panel.cpp index 001b4cb..0f7fa93 100644 --- a/src/network/admin_panel.cpp +++ b/src/network/admin_panel.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -184,7 +185,25 @@ static void save_alarms() { set_alarm(i, a); } beeper->beep_blocking(CHANNEL_NOTICE, 1000, 50); +} +static inline void _rmc_key(const char * key, key_id_t id) { + if(ui.clickDown(key)) { + hid_set_key_state(id, true); + } + else if(ui.clickUp(key)) { + hid_set_key_state(id, false); + } +} + +static void process_remote() { + if(ui.hold()) { + _rmc_key("rmc_up", KEY_UP); + _rmc_key("rmc_down", KEY_DOWN); + _rmc_key("rmc_left", KEY_LEFT); + _rmc_key("rmc_right", KEY_RIGHT); + _rmc_key("rmc_headpat", KEY_HEADPAT); + } } void build() { @@ -195,6 +214,18 @@ void build() { GP.TITLE(PRODUCT_NAME " Admin Panel " PRODUCT_VERSION); + GP.SPOILER_BEGIN("Remote", GP_BLUE); + GP.BUTTON("rmc_up", "↑"); + GP.BREAK(); + GP.BUTTON("rmc_left", "←"); + GP.BUTTON("rmc_right", "→"); + GP.BREAK(); + GP.BUTTON("rmc_down", "↓"); + GP.HR(); + GP.BUTTON("rmc_headpat", "Headpat"); + GP.SPOILER_END(); + GP.BREAK(); + GP.SPOILER_BEGIN("WiFi", GP_BLUE); render_string("SSID", PREFS_KEY_WIFI_SSID); render_string("Password", PREFS_KEY_WIFI_PASS, true); @@ -290,6 +321,12 @@ void build() { GP.LABEL(buf, "rssi_val"); GP.BREAK(); + GP.LABEL("Uptime: "); + tk_time_of_day_t uptime = get_uptime(); + snprintf(buf, 16, "%02d:%02d:%02d", uptime.hour, uptime.minute, uptime.second, uptime.millisecond); + GP.LABEL(buf, "uptime_val"); + GP.BREAK(); + #if HAS(LIGHT_SENSOR) GP.LABEL("Light sensor: "); sens = sensors->get_info(SENSOR_ID_AMBIENT_LIGHT); @@ -465,6 +502,7 @@ void action() { } save_alarms(); + process_remote(); if(ui.click()) { save_int(PREFS_KEY_ALARM_SNOOZE_MINUTES, 0, 30); save_int(PREFS_KEY_ALARM_MAX_DURATION_MINUTES, 0, 120); From 631635c74a875be15ad5f7a6b38e47ca40d64430 Mon Sep 17 00:00:00 2001 From: akasaka Date: Fri, 26 Jul 2024 22:42:44 +0900 Subject: [PATCH 03/26] Screenshotting, more agressive PSRAM usage --- include/graphics/screenshooter.h | 9 +++ include/network/admin_panel.h | 3 +- lib/Wiimote/Wiimote.cpp | 1 - platformio.ini | 1 + src/graphics/screenshooter.cpp | 86 +++++++++++++++++++++ src/main.cpp | 4 +- src/network/admin_panel.cpp | 125 ++++++++++++++++++++----------- src/service/wordnik.cpp | 4 + 8 files changed, 185 insertions(+), 48 deletions(-) create mode 100644 include/graphics/screenshooter.h create mode 100644 src/graphics/screenshooter.cpp diff --git a/include/graphics/screenshooter.h b/include/graphics/screenshooter.h new file mode 100644 index 0000000..927e4ea --- /dev/null +++ b/include/graphics/screenshooter.h @@ -0,0 +1,9 @@ +#pragma once +#include "fanta_manipulator.h" +#include + +class Screenshooter { +public: + Screenshooter(); + bool capture(FantaManipulator*, const uint8_t ** pngDataBufOut, size_t * pngDataLenOut); +}; \ No newline at end of file diff --git a/include/network/admin_panel.h b/include/network/admin_panel.h index 0ce6c51..eb933f5 100644 --- a/include/network/admin_panel.h +++ b/include/network/admin_panel.h @@ -1,6 +1,7 @@ #pragma once #include #include +#include /// Set up and start the web admin service. -void admin_panel_prepare(SensorPool*, Beeper*); \ No newline at end of file +void admin_panel_prepare(SensorPool*, Beeper*, FantaManipulator*); \ No newline at end of file diff --git a/lib/Wiimote/Wiimote.cpp b/lib/Wiimote/Wiimote.cpp index 456d498..091634e 100644 --- a/lib/Wiimote/Wiimote.cpp +++ b/lib/Wiimote/Wiimote.cpp @@ -21,7 +21,6 @@ static Wiimote *_singleton = NULL; static uint8_t tmp_data[256]; -static bool wiimoteConnected = false; static uint8_t _g_identifier = 1; static uint16_t _g_local_cid = 0x0040; diff --git a/platformio.ini b/platformio.ini index b8af2c1..0e25259 100644 --- a/platformio.ini +++ b/platformio.ini @@ -24,6 +24,7 @@ lib_deps = bblanchon/ArduinoJson@^7.0.4 gyverlibs/GyverPortal@^3.6.6 h2zero/NimBLE-Arduino@^1.4.2 + bitbank2/PNGenc@^1.2.0 extra_scripts = pre:helper/env-extra.py diff --git a/src/graphics/screenshooter.cpp b/src/graphics/screenshooter.cpp new file mode 100644 index 0000000..3a6a0a1 --- /dev/null +++ b/src/graphics/screenshooter.cpp @@ -0,0 +1,86 @@ +#include +#include +#include + +static char LOG_TAG[] = "SCAP"; + +Screenshooter::Screenshooter() { +} + +bool Screenshooter::capture(FantaManipulator * fb, const uint8_t **outBufAddr, size_t* outBufLen) { + const size_t scratch_size = 4096; + uint8_t * scratch = nullptr; + uint8_t * line_scratch = nullptr; + uint16_t * src_buf; + static uint8_t ucPal[768] = {0,0,0,255,255,255}; + static PNG encoder; + int rslt, y, x, w, h; + size_t dataLen; + + scratch = (uint8_t*) malloc(scratch_size); // not gralloc here as this won't be rendered! + if(scratch == nullptr) { + ESP_LOGE(LOG_TAG, "Failure when allocating PNG scratch buffer"); + goto free_shit_and_bail; + } + + line_scratch = (uint8_t*) malloc(fb->get_width()); + if(line_scratch == nullptr) { + ESP_LOGE(LOG_TAG, "Failure when allocating line scratch buffer"); + goto free_shit_and_bail; + } + + rslt = encoder.open(scratch, scratch_size); + if(rslt != PNG_SUCCESS) { + ESP_LOGE(LOG_TAG, "Error %i initializing PNG encoder", rslt); + goto free_shit_and_bail; + } + + w = fb->get_width(); + h = fb->get_height(); + + rslt = encoder.encodeBegin(w, h, PNG_PIXEL_INDEXED, 8, ucPal, 3); + if(rslt != PNG_SUCCESS) { + ESP_LOGE(LOG_TAG, "Error %i initializing PNG encoder", rslt); + goto free_shit_and_bail; + } + + if(!fb->lock()) { + ESP_LOGE(LOG_TAG, "Could not lock source buffer"); + goto free_shit_and_bail; + } + + src_buf = (uint16_t*) fb->get_fanta(); + + for(y = 0; y < h && rslt == PNG_SUCCESS; y++) { + for(x = 0; x < w; x++) { + line_scratch[x] = ((src_buf[x] & (1 << y)) != 0) ? 1 : 0; + } + rslt = encoder.addLine(line_scratch); + } + + fb->unlock(); + + if(rslt != PNG_SUCCESS) { + ESP_LOGE(LOG_TAG, "Encoder failed"); + goto free_shit_and_bail; + } + + dataLen = encoder.close(); + ESP_LOGI(LOG_TAG, "Encoded %i bytes", dataLen); + + if(dataLen < scratch_size) { + scratch = (uint8_t*) realloc(scratch, dataLen); + } + + *outBufAddr = scratch; + *outBufLen = dataLen; + free(line_scratch); + + return true; + +free_shit_and_bail: + if(scratch != nullptr) free(scratch); + if(line_scratch != nullptr) free(line_scratch); + *outBufLen = 0; + return false; +} \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index d0ab821..968b581 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -171,7 +171,7 @@ void setup() { Serial.begin(115200); #ifdef BOARD_HAS_PSRAM - heap_caps_malloc_extmem_enable(16); + heap_caps_malloc_extmem_enable(0); #endif display_driver.reset(); @@ -234,7 +234,7 @@ void setup() { wotd_start(); foo_client_begin(); power_mgmt_start(sensors, &display_driver, beepola); - admin_panel_prepare(sensors, beepola); + admin_panel_prepare(sensors, beepola, graph); vTaskPrioritySet(NULL, configMAX_PRIORITIES - 1); diff --git a/src/network/admin_panel.cpp b/src/network/admin_panel.cpp index 0f7fa93..2d45797 100644 --- a/src/network/admin_panel.cpp +++ b/src/network/admin_panel.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -17,6 +18,9 @@ static TaskHandle_t hTask = NULL; static GyverPortal ui; static SensorPool *sensors; static Beeper *beeper; +static FantaManipulator *disp; + +Screenshooter screenshooter; extern "C" void AdminTaskFunction( void * pvParameter ); @@ -160,8 +164,8 @@ static void render_alarms() { GP.FORM_END(); } -static void save_alarms() { - if(!ui.form("/alarms")) return; +static bool save_alarms() { + if(!ui.form("/alarms")) return false; ESP_LOGI(LOG_TAG, "Save alarms"); for(int i = 0; i < ALARM_LIST_SIZE; i++) { alarm_setting_t a = {0}; @@ -185,28 +189,35 @@ static void save_alarms() { set_alarm(i, a); } beeper->beep_blocking(CHANNEL_NOTICE, 1000, 50); + return true; } -static inline void _rmc_key(const char * key, key_id_t id) { +static inline bool _rmc_key(const char * key, key_id_t id) { if(ui.clickDown(key)) { hid_set_key_state(id, true); + return true; } else if(ui.clickUp(key)) { hid_set_key_state(id, false); + return true; } + return false; } -static void process_remote() { +static bool process_remote() { if(ui.hold()) { - _rmc_key("rmc_up", KEY_UP); - _rmc_key("rmc_down", KEY_DOWN); - _rmc_key("rmc_left", KEY_LEFT); - _rmc_key("rmc_right", KEY_RIGHT); - _rmc_key("rmc_headpat", KEY_HEADPAT); + bool rslt = false; + rslt |= _rmc_key("rmc_up", KEY_UP); + rslt |= _rmc_key("rmc_down", KEY_DOWN); + rslt |= _rmc_key("rmc_left", KEY_LEFT); + rslt |= _rmc_key("rmc_right", KEY_RIGHT); + rslt |= _rmc_key("rmc_headpat", KEY_HEADPAT); + return rslt; } + return false; } -void build() { +static void build() { GP.BUILD_BEGIN(); GP.PAGE_TITLE(PRODUCT_NAME " Admin Panel " PRODUCT_VERSION); GP.THEME(GP_DARK); @@ -215,14 +226,28 @@ void build() { GP.TITLE(PRODUCT_NAME " Admin Panel " PRODUCT_VERSION); GP.SPOILER_BEGIN("Remote", GP_BLUE); - GP.BUTTON("rmc_up", "↑"); - GP.BREAK(); - GP.BUTTON("rmc_left", "←"); - GP.BUTTON("rmc_right", "→"); - GP.BREAK(); - GP.BUTTON("rmc_down", "↓"); - GP.HR(); GP.BUTTON("rmc_headpat", "Headpat"); + GP.HR(); + GP.TABLE_BEGIN(); + GP.TR(); + GP.TD(); + GP.TD(); + GP.BUTTON("rmc_up", "↑"); + GP.TD(); + GP.TR(); + GP.TD(); + GP.BUTTON("rmc_left", "←"); + GP.TD(); + GP.TD(); + GP.BUTTON("rmc_right", "→"); + GP.TR(); + GP.TD(); + GP.TD(); + GP.BUTTON("rmc_down", "↓"); + GP.TD(); + GP.TABLE_END(); + GP.HR(); + GP.BUTTON_DOWNLOAD("screen.png", "Screenshot", GP_BLUE); GP.SPOILER_END(); GP.BREAK(); @@ -311,7 +336,7 @@ void build() { GP.BREAK(); GP.SPOILER_BEGIN("Sensors", GP_BLUE); - GP.JQ_UPDATE_BEGIN(1000); + GP.JQ_UPDATE_BEGIN(10000); sensor_info_t* sens; GP.LABEL("WiFi: "); @@ -475,34 +500,13 @@ void build() { } static char binary_mime[] = "application/octet-stream"; +static char png_mime[] = "image/png"; void downloadPartition(const void * partition, size_t size) { ui.server.send_P(200, binary_mime, (const char*) partition, size); } void action() { - if(ui.download()) { - const void * ptrPart; - partition_handle_t hPart; - size_t szPart; - - if(ui.uri().endsWith("prefs_backup.bin")) { - if(mount_settings(&ptrPart, &hPart, &szPart)) { - downloadPartition(ptrPart, szPart); - unmount_partition(hPart); - } - } - else if(ui.uri().endsWith("crashdump.elf")) { - // MEMO: read with - // python %IDF_PATH%\components\espcoredump\espcoredump.py info_corefile --core R:\crashdump.elf .pio\build\bigclock-nodemcu-32s\firmware.elf - if(mount_crash(&ptrPart, &hPart, &szPart)) { - downloadPartition(ptrPart, szPart); - unmount_partition(hPart); - } - } - return; - } - - save_alarms(); - process_remote(); + if(process_remote()) return; + if(save_alarms()) return; if(ui.click()) { save_int(PREFS_KEY_ALARM_SNOOZE_MINUTES, 0, 30); save_int(PREFS_KEY_ALARM_MAX_DURATION_MINUTES, 0, 120); @@ -568,14 +572,47 @@ void action() { s->wait_end_play(); ESP.restart(); } + return; + } + + if(ui.download()) { + const void * ptrPart; + partition_handle_t hPart; + size_t szPart; + + if(ui.uri().endsWith("prefs_backup.bin")) { + if(mount_settings(&ptrPart, &hPart, &szPart)) { + downloadPartition(ptrPart, szPart); + unmount_partition(hPart); + } + } + else if(ui.uri().endsWith("crashdump.elf")) { + // MEMO: read with + // python %IDF_PATH%\components\espcoredump\espcoredump.py info_corefile --core R:\crashdump.elf .pio\build\bigclock-nodemcu-32s\firmware.elf + if(mount_crash(&ptrPart, &hPart, &szPart)) { + downloadPartition(ptrPart, szPart); + unmount_partition(hPart); + } + } + else if(ui.uri().endsWith("screen.png")) { + const uint8_t * outBuf = nullptr; + size_t outLen = 0; + if(screenshooter.capture(disp, &outBuf, &outLen)) { + ui.server.send_P(200, png_mime, (const char*) outBuf, outLen); + free((void*)outBuf); + } else { + ui.server.send(500, "", ""); + } + } } } bool prefs_uploading = false; -void admin_panel_prepare(SensorPool* s, Beeper* b) { +void admin_panel_prepare(SensorPool* s, Beeper* b, FantaManipulator * g) { sensors = s; beeper = b; + disp = g; ui.attachBuild(build); ui.attach(action); ui.downloadAuto(false); @@ -630,7 +667,7 @@ void admin_panel_prepare(SensorPool* s, Beeper* b) { "ADM", 4096, nullptr, - 2, + 4, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/service/wordnik.cpp b/src/service/wordnik.cpp index 7dfeda3..3ae9afd 100644 --- a/src/service/wordnik.cpp +++ b/src/service/wordnik.cpp @@ -46,6 +46,9 @@ void WordnikTaskFunction( void * pvParameter ) EXT_RAM_ATTR static WiFiClientSecure client; EXT_RAM_ATTR static HTTPClient http; +#ifdef BOARD_HAS_PSRAM + mbedtls_platform_set_calloc_free(ps_calloc, free); +#endif EXT_RAM_ATTR static char url[128]; snprintf(url, 150, currentApi, apiKey.c_str()); @@ -89,6 +92,7 @@ void WordnikTaskFunction( void * pvParameter ) ESP_LOGE(LOG_TAG, "Unexpected response code %i when refreshing", response); isFailure = true; } + client.stop(); vTaskDelay(isFailure ? pdMS_TO_TICKS(10000) : interval); } } From cb8afbb0f4ef7f9c4e9f51f79fbc32b2b0b2a182 Mon Sep 17 00:00:00 2001 From: akasaka Date: Fri, 26 Jul 2024 23:37:58 +0900 Subject: [PATCH 04/26] Add screenshots in readme --- README.md | 35 +++++++++++++++++++++++++++ docs/img/app/alarm2_pretty.png | Bin 0 -> 2274 bytes docs/img/app/alarm_pretty.png | Bin 0 -> 2563 bytes docs/img/app/setting0_pretty.png | Bin 0 -> 2046 bytes docs/img/app/setting1_pretty.png | Bin 0 -> 1886 bytes docs/img/app/setting2_pretty.png | Bin 0 -> 2406 bytes docs/img/app/stopwatch_pretty.png | Bin 0 -> 1628 bytes docs/img/app/timer_melo_pretty.png | Bin 0 -> 2659 bytes docs/img/app/timer_pretty.png | Bin 0 -> 1817 bytes docs/img/widget/clock_pretty.png | Bin 0 -> 1557 bytes docs/img/widget/foo_pretty.png | Bin 0 -> 2652 bytes docs/img/widget/indoor_pretty.png | Bin 0 -> 2221 bytes docs/img/widget/rainclock_pretty.png | Bin 0 -> 1962 bytes docs/img/widget/sleep_pretty.png | Bin 0 -> 1853 bytes docs/img/widget/weather_pretty.png | Bin 0 -> 2730 bytes docs/img/widget/word_pretty.png | Bin 0 -> 2344 bytes helper/pretty-screenshot.py | 33 +++++++++++++++++++++++++ include/service/prefs.h | 1 + src/app/idle.cpp | 6 +++-- src/app/menu.cpp | 1 + src/network/admin_panel.cpp | 2 ++ 21 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 docs/img/app/alarm2_pretty.png create mode 100644 docs/img/app/alarm_pretty.png create mode 100644 docs/img/app/setting0_pretty.png create mode 100644 docs/img/app/setting1_pretty.png create mode 100644 docs/img/app/setting2_pretty.png create mode 100644 docs/img/app/stopwatch_pretty.png create mode 100644 docs/img/app/timer_melo_pretty.png create mode 100644 docs/img/app/timer_pretty.png create mode 100644 docs/img/widget/clock_pretty.png create mode 100644 docs/img/widget/foo_pretty.png create mode 100644 docs/img/widget/indoor_pretty.png create mode 100644 docs/img/widget/rainclock_pretty.png create mode 100644 docs/img/widget/sleep_pretty.png create mode 100644 docs/img/widget/weather_pretty.png create mode 100644 docs/img/widget/word_pretty.png create mode 100644 helper/pretty-screenshot.py diff --git a/README.md b/README.md index f529834..04e2a0d 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,41 @@ Personal Information System OS (formerly Plasma Information Screen OS). A somewhat portable relatively-stylish pixel-art clock/weather station. +## Available widgets + +* Clock + ![](docs/img/widget/clock_pretty.png) +* Indoor temperature + ![](docs/img/widget/indoor_pretty.png) +* Switchbot Meter temperature +* Weather (via [OpenWeatherMap](https://openweathermap.org/)) + ![](docs/img/widget/weather_pretty.png) +* Weather Effect (raining and thunder on idle screen when rain/thunderstorm outside) + ![](docs/img/widget/rainclock_pretty.png) +* Word of the Day (via [Wordnik](https://wordnik.com/)) + ![](docs/img/widget/word_pretty.png) +* Foobar2000 (via [foo_controlverver](https://github.com/vladkorotnev/foo_controlserver/tree/fix-streams)) + ![](docs/img/widget/foo_pretty.png) +* Remaining sleep time (when using alarm app) + ![](docs/img/widget/sleep_pretty.png) + +## Available apps + +* Idle (home screen) +* Timer + ![](docs/img/app/timer_pretty.png) + ![](docs/img/app/timer_melo_pretty.png) +* Stopwatch + ![](docs/img/app/stopwatch_pretty.png) +* Alarm (Smart Wake Up on devices with motion sensor) + ![](docs/img/app/alarm_pretty.png) + ![](docs/img/app/alarm2_pretty.png) +* Weighing Scale (via Wii Balance Board) +* Settings + ![](docs/img/app/setting0_pretty.png) + ![](docs/img/app/setting1_pretty.png) + ![](docs/img/app/setting2_pretty.png) + ## System Requirements The basic configuration without any bluetooth functionality (no Switchbot or Balance Board integration) seems to work just fine on an ESP32 WROOM. However to be less limited by RAM size in further features I've decided to make WROVER the requirement, so further versions are not guaranteed to run on WROOM. diff --git a/docs/img/app/alarm2_pretty.png b/docs/img/app/alarm2_pretty.png new file mode 100644 index 0000000000000000000000000000000000000000..90a6adef9fbda0916b5439a5b1782b4b633a884b GIT binary patch literal 2274 zcmXw5c{J4BAO4ymjmS>CN|wgH46=-nWh{etFk_j>G6t_Ddz3=ivJ_rRwmFO`%P`2> zB5h`oB*^XCEpcdfPgMO19r3LX}LMf0a#ay=!DIE!Qih=S^Yh`#@7(jjS5CgZRo zsaR4XvYE>i3-U#Dot|E2jxDVx_c9RQ{=pMa*?MuEtqg2EFNFcXQQvPVPc`5Fx-_YbapxDfVDz^9%o2^BSw7@BG}ZpmhWC4; z@nY$>%RhElZ%4*#sj6Ddm<6>BG2o`Xr^HUkQ{ByYO5_*;m*rbJ$s;v zH%kaC_2KdvS))R?5WfBGCh4}P74#A{UGu1|xQ_bT>bRx-s`Gsa!bQjRBHFKzqFlN` z%p)qWxc>W{v zyd&C|y`~Qum}_1f{QSAn+J4~L(C?69(v^4i9R|cR8Qw^0eI)B*n|UtJTJG!^&DB zt2I3ulg@HZNj1uSyOI zwmsxsmP^fiHfeZTgjaU|{&ZC(*||#9-z+kLV=+UJP%`Rcd$HQol%h=zqO{X8E?&S2 zOZEkG5}|f6zHHBazzImZ0L`unr{e@0-tG#)nEN70*LxM7WRHX4xRS+J0c;-dp{G^^ zB)ZN;Q4SS7<$*Q7@}-FEg{s0yt=#)4Hth+t$;hMZm}t^*Iy}Zj_(U;PuhNum#!L5g z8xiGEYM}yAJ@rUReO|2~fi#*=ymw<1Id~eK&7KRVA|cQj;-qYfCM&8-ZPybpP||6( zr_p~bQzS46_I}}(3-8-Rb`I?tdui*Cb^3sa=e)~oJ9 zm0lKF4fl?;dwf*~Mgt!HCO72upLy#ljIKL(9xa244)&!Pj6HDPVE3eFqR9yLz}xO6 z_Ey$lbRN};5J+CKwcdDTIDgwnb_H zpm6Mv`-KuJh3U(_vJ{djsU#%cc4n?_drvjhTQa1}*$aP5D>kSGJkpP%U7IWdjX{Wm zW8iu%*0E4t^sOdGN?FT_V%SaS#0~N@gCqVXH6Xym#5b_!`)L21yk^Su+L(_sLPtZlzxb^?@~+QMM1x4F z5w{{ar-*K56q5b9gsI@mByTYDIZ`K|r%d^iksw(wPez3PRHt!jLr0PLau9aI%eX6?6^SdroKnOGS%cA;2F0qT1#Te! zxF#QLu)y0_?q)i1U4eG}np>>{q55#@St~G_Xi!`>U--y&vE!&3v=`2Cw@e3xn6Den z|0}7y?sZ}Jk4a;G5&-b$JV5G@^2TLQgK}Z%+6a~4?xKZ9n7=4hbK<|%*Bh*?%E>T?;o5PwSYbxDx29)l0+lPCnT(%poZ*OMD$ z!v|SM!(8qiZMLBbc#{bO+|^`gAW2@qL9JrA|MM#y`Lw)k5?)yy-5OsaD8HiI*KvcN>J2?!(5z8 zq3;`K+ilWR`1T!bM!C>xmNl5bQKuI?Xu(XmDCMqH0~gI?=7&>>Vxvd+dmW*yFLFCGsy+@;^+G1U^OnNdc>0N`qsKGZDgiEu|6OO6a+LXK^ieZ|1#A-2g4F egL>rIvjnoAn@_vZ$jHGD!rH>#yusA#_WuB{|27E# literal 0 HcmV?d00001 diff --git a/docs/img/app/alarm_pretty.png b/docs/img/app/alarm_pretty.png new file mode 100644 index 0000000000000000000000000000000000000000..81027bcd7a89fb382d67c65b4b1b77afc50bee1b GIT binary patch literal 2563 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 VR-UuICSs)pqa4u=OyrrA{{jkV;+Fsb literal 0 HcmV?d00001 diff --git a/docs/img/app/setting1_pretty.png b/docs/img/app/setting1_pretty.png new file mode 100644 index 0000000000000000000000000000000000000000..6a72ee231bf7cd915317fae4e6bd9214ca782805 GIT binary patch literal 1886 zcmV-k2ch_hP)002-30ssI2U``N`000LiNklN0VzCmu_%p_e(W~NIuT~xLtN(2ew z;o$-L|5jEkf_NmQq4@=XNWf|>_mA?SlMkIdJj&}g@-Xo7{!v!zP*Y*kca*go`2-4# z?XzN2uwnK&0*-uBx&r_JeSEnCK!a{ae&20n@%+PXC*4NAiipUUjqG;PZ4YltG_s@c zOTBL7(=Tv)`1gWM!A7^){}8^OU)}~JTlD{7x!&K+|10uOCqKNF#f^x_*PVR+DBmup z{&w^-joMN8WlA?}+}xaW^6yXb{f{So-t7uB1v9;?J#alcxnfbj(=YecT7LUemTM7_ zFB^IHtGxe1mMamFr>)%mB-_pDoBxtmD-n@yEAM`h_rJ?`YY~xdBX@64-rN(lqp*~2 zn7PnN#d_y91)yDLk7btYeO|v1xw(<$N?xr+WdCPl|IN?8mH*$oKD-Q-7woxGv^n>2vh-}LAUbs{6~;+(3cX%*2qbqYBmx$>imuj;EdUCzvba$ zHNE`w2f=}(QRzr;C+8Q#7V`Sd{zv1WPjQ5*|3Ic-pjv7qu*3bHAFEPHH$#_+scba`*G? zNt97C=o<)Qjf1azN(HJ;Mgp5{J5;ZD%I!5ThATV22za>|M1(*U0Gd=TQ0;F!ZBEpB z0~y5tIc^lO&mcEy+n5o^X3=E|CnrU*sZ!hG*zu7p8L0N8jI667keNN2H)Y$=lQR1_ zN1fk%*G4UY>M=jVm9?5GwJnbIj^yW$J_6MgH3l+TA>o{)x)(4;1=n-KNk`Yltnzg) zBqzg_6`LxxEsh-@$)~N{y>%0)rl>KHQ3(m>B-JUwwPIji>e`r9zFDuze&|Y_U!S3O zjZP08fhqtr==Shek8#kasK!7hZh&9HfmIoznLdEC)H#X^>W_MrwUbU#P{pPQR6Xbi zszs*!J>PbAcvWd2W3yJRZlF3lZ!CC@qJsMA$13H1#YqaP*c5@P2Nwd>W2Qmh@2k1Ho+)_B{M%eW9RbgUY2PvpxQv|9WTnJQq?1H|SDMLq^sy~n!3Hp2lZYi8} zBWz;&nr}x0s&221DiEjwK=aPmP&Ets>JM@ijf|^IsL09G%2kAB6T@eP8G!RGAe_=v zp4>j`wm9~3rn-%YEc(B;3HoAp)W8VUu#{+8tL3a~Y}#a%qunSKsOCEw9zI6|s!sH$ z{0+z#^hNJz+Q`W^5}1B4qF0gG)XLMR-px9wIC@RdJo5va9gR|-BLY>I&K}G3&?*(h5X#A-l%Dr6}QE(;4^oL$)j`^nQUwg)mW#&NUoN% z9_QIRsScr~05pg@cK}5VO*I_5>}@Tq>gAa`09ziWDYjIo zUcTG`7)n`t`9f2Z*L*IeT)jM&0bna-?d5(`R&z(EC{!#ers8OwNSl$xdW)vwXMGzSuc-e095PR)?baOmp~N&8pNGDfNBkm_VhD? zNmoq0JaY%&Sa^cmDn_VA(W{p)cK}|EPmtSIf~s0Ck7WQjHZnnOa|x-&I z0XQ~sg4{}I2ViUVnxg05cUrUQj&?GoUT1s?CWb0&r?{A<#g;7#`25xQ43Y>a6AJ z<;xv_p}<0*`a$(|00000000000JtLm Y0r9d6x%)VCivR!s07*qoM6N<$f@qzTm;e9( literal 0 HcmV?d00001 diff --git a/docs/img/app/setting2_pretty.png b/docs/img/app/setting2_pretty.png new file mode 100644 index 0000000000000000000000000000000000000000..1d769801dd4e08dffd93e75c47cbdd28ddc6a316 GIT binary patch literal 2406 zcmY+Gdpy(oAIHBE$7YcV%`r*jy16CyE~A86TWu55!BJ!`b1Apg+*^t{L~>j0R6lDN zqnX+oz2A>dIvVA&4XgnM z0AQQz3Fk8aAoF>1k5<^Sx%#5EX9EBT?&^FL8(X|k(wZZ3-hM&PW4}bncRm>HYJc3WOiBR`N<34m))SmF>i|R^XKLn9gY-yt*m>mvOu5Y1o zvUxme{+fN4h(V4C#oGUY~ zZ?;|MryLrg)-It34ABAQ#Rz)a|?5O7#W)%78*{06%@jrdl878P?FK=3T(6s8>JhW#qM)J0? z05%;&NU*xO!3rOW_(vk0QWj{o*wz8}b)PyIY;l>Ax5*n8Iq67dzSfGI2m(KWcK_vE zR_L@Kyc5&u$;Npz0}c@SCn;8zyJP$&)vEL&Q>>tlEgIWd0AQ?}iH7kUZx2SV4h&*y zYG*A$J*0!hm0%ZGz9rVOuwoY3a+`q-K4YCx)g(;cX>yM=Rv2Q{qTz48lwX6q^* zi7}$=$|@TtAOEqLt2i65pqPQ|GHZDrEC@L-H_b=g^Zj^r-V}xD*uTC`ldl(-sI#a} zc?P?=xGqhXYFrOT4G)Q!+5#&wdgdP`v%>3MEzwvEuL$->o;X1_{CtpRH50$x#*KlLXr?Ep| z0s5oBy>42S1=98F+u0jeaa$tD z*AeZQFj|D2#&LSE)vv?xh$jMwe;V?NHN{U^P#aR2MjKOJQbr_3Q-- z!${H7gP%$qXs8~$kO8fyeImz^nehtNosuFP!Ga!CW&~}xcQRIS{G$0R69tJ3LX-*P z+4ovsx2WIn^l+sN`Id-piJSyZb+#FvT)hV_UFeq{d#>otGCNYd={-aq-8isH`iETG zYh2DAtGhG#j#wGM7jata>sjB^`4)LbTm@dD`LHv-wZ9)I3ql%h zLo60H+}ige4m?dtFYiJ7DTTK>ymtiZAbl6lA6JY@beCg*fhy!*GfJnht zy5HpJkyCmHP%ZWOG{RfI&IHEo7bE!as2{dxXH}4JtcQ=xDvz0(u2fwN`=rp5`#kMt zYNrJtyQjQzj&C`rbSgfsi+YW7($kx1_Pvu+NsEB&D?%8mNyw>NoKvpX&6mx@1}^Nx{HgLn#IH6Ec(oAdU@iJ%^Sy0yL9@c9kDK6tV{UW@h}!3R&NxlOQ_ zt4OqnzV3EE?ad0}6~tpQ^3@6g&-aa^3xQ;*C_6qY6qF}V|0bltAPRpu%iRd6q(p&n zc|KNP0bV#dHYVe&OGQfs5z?7j&z8q&M6M6Fui1qXdCbTp>mnfEpoois4fjONe9p83 zm5&}4RxgBN*``QUz&GtrKFs%sJ{E2tUOTE9?eLH3ERx)^F%;NC(S%fCwv9 z5|EVzP-zmpfJ2L&0qx;(>pbC;XYUs7`W}m62(B`xg};RUZ7ajBEhqA1mro-7*)+~> zrrB=!M;?`RHk;tGn$ABX@^owZx!2*2%j&)at=lmv4sfYkrG?;G$&vu=nyr~Vm*48mc;$Umxg8&B5_saS8u zJYOnoa!NVDp(DmRA2~FU)u1 vJ^tX2D%sQ@R>-D4-cj!o{-Ujs_kEF_&cTMxe-UqNeqI3AV<=}f(l`0vj(UnM literal 0 HcmV?d00001 diff --git a/docs/img/app/stopwatch_pretty.png b/docs/img/app/stopwatch_pretty.png new file mode 100644 index 0000000000000000000000000000000000000000..2a72d81200b0f3ad0921789a40628781577a92b3 GIT binary patch literal 1628 zcmZ9MeKZql9LHyqYP0UjCK|Z`lmn-WURDz z&y9O&E)YUPdrF{D>j__~Krh5*3#H7gbuR94{+c(Jr+!aLr~ z#ANQ=^qEUl>MK^FQq+*wA0o;NQYL1sFVUgJO8D381{38c)6t|{b`rB{+)88~Kat{J zHW%t8&hlU@I3k1YC=JKa$P@iDn(ExOdLU~ylEJOp^`303TJ_Iqgg^^G+ddFGB9p(& zVvU&=WUzKBH<*~L-nl6ZE6O9HQ`mwnv$JpNU|=_z7x z&i^%CAOT?Tq9b->tepY}HN9#Vm;7 z?_jsvX$HdRN09Hyaqn%qy*NaeTk3T(0~1prVlaknnmstbf018wcwj5j-8;qF+rZEs-TKR-fWXY0Kd+)BT_U_W+(30hhlV4VGdAVvTQ*I`^>1I-^KR@fsg z3DuQ;5ZO~h%X_IP8RAY7gU5R@Q>V>)AhN_=71WyYGk9g<$CI~JT^ILrh`YH@-R|`R zJB8(HX{Y|3y6HQRyHLEVuxkxJgR5De`B3nUP*t#T07-E7L-nVI+9v}m_j6)6M=nbj zX-vW=Tfr+rYyLzjuF1;_#Omk=cqzmbw}__IrNb+oOzO8n;O)T)BiL8t)OJ#7lf)i7 zQTVz|Fl|kx^P;0qbifvB>JE~yN%9LWAQKveRBWT~qY9|>BZl7B*T0aBphHJLCS)7= zv>DF?Y>spgl#BK_Dr=ysTIXGz&cCr6b#fs?y&)~fP6uCbLjZJ|a)dD)k#sGNvik#2 zFZC{^aN5xtim$lT-ECtoC&w+pLs#h(2BqRDAv2C9xR^DxYntwR5eCsjM9Wfq$h0O4 zN*Gy2=OG%yUtY&~N!KT3FTrbtyJ_<@=)-0>N};6u;IAyo)bxFMbLSAaWU+S@_$El) zWdU`h(NK^-|W=Or2Z9L{aY^U@=@kNYS#=~(#`koEs1(~X70HFg2E_C zKcXlH!vO<8L|yz$a`FKfoKSOUAUB{xHomDK`c9f6%i`6I+|fkI>Xn~ar^@r|WtPXi zgYDwa4npqd7$!U7mk~h1Por-5cT4LRyI@3U8e-OXd3{w+%&_6kuOM8rxD>Gnna>O2xDtJ7zHOq`^ zQ|Ai9wQ?#k)}&aq*St<2-0WZ&91hoZ-$fatM#9#1$PoN)B0Ejkn3!h?ANRG6N?bXt zB)4vl+Xw-(bReOMgQG2KdA90`#>(9UtGtF#7e1vq1{gfqw=CSpADDKvZ`hVzUcUtt zjt^mLXFD}^MFFoYxFB`}fIjQ{w!Q7xV39M;-JD)+e;CP~x_X$^l;%uZZcZ~wtPyQEGWDt}9 literal 0 HcmV?d00001 diff --git a/docs/img/app/timer_melo_pretty.png b/docs/img/app/timer_melo_pretty.png new file mode 100644 index 0000000000000000000000000000000000000000..9b925019fe1adafeec611ad0d4672cc9770775f9 GIT binary patch literal 2659 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 p%)LR@&I002-30ssI2U``N`000UjNkl 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 aLC1{Qs}nt;8>~RP!;sA-dn65xiTxYX=sAD@ literal 0 HcmV?d00001 diff --git a/docs/img/widget/rainclock_pretty.png b/docs/img/widget/rainclock_pretty.png new file mode 100644 index 0000000000000000000000000000000000000000..502731bb47419eef427d9415947faa0fe5bf6613 GIT binary patch literal 1962 zcmZuyeLT}^8y}H~IVH#2K@UATUg9GWW1Uv05r%1HW|N|*ePm~{7E3R(QtBM9>Bl6Q zpSR?Ynb)&Y^4ejon2A$f#;CCkYn-X)`Fx%~o`3Gob=}|Zb$zeTeP7po(^3A1bhM1M zAP|TS@~~$R1fsI2v{9Q>l`FyjhkFo+#(AVC0-g9kG!hWc_uTgKOLRBXu+J_9tcd^N zPffx+8Jb0w#%*AJ+{i)%c^$jBJEg?&);lv~q-2WR%3E7hR8$=Cu1pRr%Uor#y)HY{ zyHggz1*RWI5Q3&0QPrY4_u9Ct(T`FQl_Cuj1Vx+RvsxgK%W$(fNPkhaFCG#T|E}u= zM>p4%e}s0KK8CwMr8dbLGzY>mTOjDa#X-r5Rt7m178jn0zg*=DvRfYCKbs(1d!xvh zWCNWznG7#hWbm(9B{uxsp0KleEwj8b?Nw=W*xC-NSwx&m(+reKS-#b@f^)%cA^wTh z?jjIsv&w{4{rV8t^L+P>ue9%(r+~U0{Hv)(L#-OiQF;_+ z($Tm5#NJ7&j-uy1(OO@cv!AP@E29hpO{)i8+_&88+bb4hD3bh3rN4OaUr9E5*`vXc zASTI-{Ef=ljmRHSs7>8+2<)5NCk!-o86;W{x@ExRz6{~j@50pnJwg_XmcMkV_Cp-a z18FPDJ^(Ci^2|~HMsk$ZAjkLQ)s$&5R7c@G#XfadEpo4A|LDNf)5A1P^vLHp^F)jD zH+vEa(&!Tl%%Jb#ix?B!ie$Z9&hE&8=hpuk&g<}O_W;rC64a!}#ER|8oO~VDNU?$Z znzmO~^YRS``FNWn$h=8cO8C^khV@IQVTUqDs$2cgPZ5(Hd|rL`8G=?JC?CpYD${J6 zu8uelW7dMR*0NerUd^%3WBasE3hDIwC>yI#tVfAZi8B}SU=GQ|ipt-N0F!Kr_DM#_ z|9~WB@BPV+A)CC->s3tg^WF1fylwUMDt8rFpn5DDd+Vb+PP98-aN(vOwXupn$Fos) z9z4YuIu3BS+fiha3+hyG&(8{VFhxCbbE-&b09?1IIolNQc5RByn0LjhDwm}m*(G#9 ziOPB%NqEY{yX`3T%TPcE{T}V~mLLCAkhK{5toMU2cXT?vNAYDxmBO}Wgv;Bye>2sx8yGvU2sF#nyS*};`WrFz9F#=m3S1u3FNtju* z!lmMXN&mXvV7z$z7G@)%8=iu{VoYQX3JOZ1{EgqTR`*L5Efm5qPLdZxn0kY1*Q(|$ z0m0GX;1{k4+<+OF`tD#ILc43nXJ6FsRp9kzc!-_eV3w#TCJm0p9%N`iOviiRh%z^3 zWBHKzT2tU1P2uX&q7O zw{wzeV0wde=(zPLtA*>Zj4iE`V7%bGy+V|En3G*`VDuH(8-&LvSKhPh|EA6SQNIdK zO{{pE3b!y-_uoh)@t95sU~2nR>Hiro)c=cwFBnG7MV4$umm@D$cJHtYnmno+(hB2I@MHo72pHfYr-N2I zJFq-)ocYgLjEzwZXG%+!)$tt$$H88%2G~Nbnr{*IJ((>fL!%#!%?pPVc@cRvL7GCo z_OskzmO4Irow-X5yhE-ME18k+3s?6XYy5n{S+w>0d6?T~8T(=2ey4M$fuaQ7(a9fI zh704gjG<_~t%IF;MkI6BeBjAT@rcA&p7ZL46}{$eQ)oW{|i8h>OGo+ znYFQK>?s<1uWV++c)f`T*t9->bmc3+68)s3YtR!>+n_C<2AnYZzkglgQr7yPb94nc zfh547fOVF}Hb|>eJWN#Omib5z{Lz>WD}9q1kd?>`wWyQB9DX6SuO{@x?UN=#g;SQQ zA&YkB=;$`w>s?^J+=p?q_pZDs9@$D~Fi&i6o5=XNhYe3(gPn8Jb?f`%ZP6UUrrefnsf? z^Jxs)h9>Y(S49aXeHe1l>DQ%7vF;v`amM`Mt5+A+bjF!{^SoDQI`o}P1a9}BNuV!N3o2kpz$2?(J_WcafQvgx%AsN}kZ7JQ2G4~8JU L{5`7<5U%_K85;0} literal 0 HcmV?d00001 diff --git a/docs/img/widget/sleep_pretty.png b/docs/img/widget/sleep_pretty.png new file mode 100644 index 0000000000000000000000000000000000000000..8cd0cbd3e9095f97021d122f2f884c0d36ba45c3 GIT binary patch literal 1853 zcmV-D2g3M?P)002-30ssI2U``N`000LBNkl>2R6oBCei(L|mER)Q*%0cWKB)w}NDz*FM2FWBRv1j6xg6O1Fl!g*1kl4jr?CyID z{9k3rGyqZ{hlAg{D*^xj0000000466tWRK??OtAqh{%5;{~qM4?bOY~oy`dYfTpYH%xXJdT=(`@&$+lz>FA~!d(-OKHS zO#oP{SJo#00LZVAZ|={x&cEEr!-E{|{4TdU5s~{|-o2rq z8pw5RM1T7}FT!f7z0OXKiy4%+WzxcC=?c2t9sliP;tr5OmTRNhf!a;+)m~>O$3-fF zDgZ2y@|*jiKi8q?q~8k z8y**#1V7xbRFq$3yAu&P^z#14BAd}DdVW^)87qNnLz}hFllbvs81HXa9-MmICRo1C z7RNXNYqI)c~uYn$g;RWj=JL z|1fS?P}eZd5M%NNRVSBEu{nKnw<@UDH;JNak|n5$r>SViCdf_M6+sm#2&w?EKpVM#o-fy~pyr(c7|j_5 zw_p-atLv4gqV-upy#!VM%R>#Fy#C?%N5g`ev9EHuIH6i{bIw$>bJ}~Msc4-HE7i`H zoH1-pA5zX6wwO--difb#iZIHAj){nNkdhx;je zlEng}hxw3a?rIJSssq8GdRa16g9EJ|%z!r!$_3S2iUvjx^C8!qEt!Jq&v;OsIoqm} z2g5(BH8z{LkdogTHQzWCRF}qs>ipSOoje%+S&dI_;zCM$YgB&YP*D9Lr~<$O1%v7( zRVLDfpkjN5e_lpT);g|A+WV;T8;64Gk20tx5C5yVXM$>5n2I*Q?Fdy0s(aB9s*}@} zdi~V`d#2vBh^c4;d`|gGL2W^FgsLWO>DFH@uxIK`qnL^|z~_{|6jb*JssOM+nkj#y z0=cHzp3x$LYCy)5EVwHQsymt~f1?#NdHvOldv?;nFdacPz|R`06x7yer~I8ZaqFaA z71%Q|r$q$S04G6}g4!VMl)uv^Zk@EN0(&OrG>V`a;3TM0P+LP#1%L%=VGUIlTwOeZ zYJiiVNvSSgYfvomGZZTkH8|IZ)-79cM}g)j%~0=Nf`)ivnXZixxJk<0hZg z%mY<>zPS!WP&GnO1%L%2r~<$O5mW(Sfi|a`7pb7vBbn(qSFu$myO$sUigml9n z1m+j@vq~xj6##-RKHSe08b?Y&1%SdXZp#dqFN-P^Q~*#Tr~<$O#lE?F>8lh}08j|t za~B_dm4XTYO0f_3b0&S2f(ih7vD-2O6jT6c0YMc27D)Ncy~47Jtg;9IvuW rx=uvo@lpOc$k*E%oA-Ra1Axx|xTS?9Y3fO_00000NkvXXu0mjf^(B2Q literal 0 HcmV?d00001 diff --git a/docs/img/widget/weather_pretty.png b/docs/img/widget/weather_pretty.png new file mode 100644 index 0000000000000000000000000000000000000000..bd072f156fb623fbf4d48e028bc47e3227443a39 GIT binary patch literal 2730 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 literal 0 HcmV?d00001 diff --git a/helper/pretty-screenshot.py b/helper/pretty-screenshot.py new file mode 100644 index 0000000..048a5b4 --- /dev/null +++ b/helper/pretty-screenshot.py @@ -0,0 +1,33 @@ +#!/bin/env python +# -*- coding: utf-8 -*- + +import sys +from pathlib import Path + +IMG_IN=sys.argv[1] +IMG_OUT=sys.argv[2] if len(sys.argv) > 2 else str(Path(IMG_IN).with_suffix(''))+"_pretty.png" + +PIX_COLOR=(0, 210, 242) +PIX_SIZE=4 +PIX_PITCH_H=1 +PIX_PITCH_W=1 + +from PIL import Image, ImageFilter +im = Image.open(IMG_IN, 'r') +src = im.load() + +width, height = im.size + +out_img = Image.new(mode="RGB", size=(width * (PIX_SIZE + PIX_PITCH_H), height * (PIX_SIZE + PIX_PITCH_H))) + +for y in range(height): + for x in range(width): + v = src[x, y] + for dy in range(PIX_SIZE): + for dx in range(PIX_SIZE): + out_x = x * (PIX_SIZE + PIX_PITCH_W) + dx + out_y = y * (PIX_SIZE + PIX_PITCH_H) + dy + if out_x < out_img.width and out_y < out_img.height: + out_img.putpixel((out_x, out_y), PIX_COLOR if v > 0 else (0, 0, 0)) + +out_img.filter(ImageFilter.GaussianBlur(radius=PIX_SIZE/10)).save(IMG_OUT) \ No newline at end of file diff --git a/include/service/prefs.h b/include/service/prefs.h index d22d9ed..262e468 100644 --- a/include/service/prefs.h +++ b/include/service/prefs.h @@ -28,6 +28,7 @@ static constexpr prefs_key_t PREFS_KEY_MOTIONLESS_TIME_HV_OFF_SECONDS = "mot_hv_ static constexpr prefs_key_t PREFS_KEY_WEATHER_LAT = "w_lat"; static constexpr prefs_key_t PREFS_KEY_WEATHER_LON = "w_lon"; +static constexpr prefs_key_t PREFS_KEY_WEATHER_OVERLAY = "w_ovl"; static constexpr prefs_key_t PREFS_KEY_WEATHER_APIKEY = "w_apikey"; static constexpr prefs_key_t PREFS_KEY_WEATHER_INTERVAL_MINUTES = "w_interval_m"; diff --git a/src/app/idle.cpp b/src/app/idle.cpp index 229ff2d..e2d7129 100644 --- a/src/app/idle.cpp +++ b/src/app/idle.cpp @@ -222,7 +222,8 @@ void app_idle_prepare(SensorPool* s, Beeper* b) { // thunder hurts readability on other views, so keep it on clock only ScreenCompositor * thunderClock = new ScreenCompositor(clockView); - thunderClock->add_layer(thunder); + if(prefs_get_bool(PREFS_KEY_WEATHER_OVERLAY)) + thunderClock->add_layer(thunder); slideShow = new ViewMultiplexor(); slideShow->add_view(thunderClock, VIEW_CLOCK); @@ -247,7 +248,8 @@ void app_idle_prepare(SensorPool* s, Beeper* b) { ViewCompositor * rainyClock = new ViewCompositor(); rainyClock->add_layer(slideShow); rainyClock->add_layer(signalIndicator); - rainyClock->add_layer(rain); + if(prefs_get_bool(PREFS_KEY_WEATHER_OVERLAY)) + rainyClock->add_layer(rain); rainyClock->add_layer(touchArrows); mainView = rainyClock; diff --git a/src/app/menu.cpp b/src/app/menu.cpp index 4ae76eb..3b0c4e2 100644 --- a/src/app/menu.cpp +++ b/src/app/menu.cpp @@ -100,6 +100,7 @@ AppShimMenu::AppShimMenu(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { normalActivationFunction )); display_menu->add_view(new MenuBooleanSettingView("FPS counter", PREFS_KEY_FPS_COUNTER)); + display_menu->add_view(new MenuBooleanSettingView("Weather effect", PREFS_KEY_WEATHER_OVERLAY)); display_menu->add_view(new MenuListSelectorPreferenceView( "WiFi signal", {"Off", "Disconnected", "Display power on", "Always"}, diff --git a/src/network/admin_panel.cpp b/src/network/admin_panel.cpp index 2d45797..ace4d57 100644 --- a/src/network/admin_panel.cpp +++ b/src/network/admin_panel.cpp @@ -436,6 +436,7 @@ static void build() { render_string("Longitude", PREFS_KEY_WEATHER_LON); render_string("API Key", PREFS_KEY_WEATHER_APIKEY, true); render_int("Update interval [m]:", PREFS_KEY_WEATHER_INTERVAL_MINUTES); + render_bool("Weather effects on display:", PREFS_KEY_WEATHER_OVERLAY); current_weather_t weather; if(weather_get_current(&weather)) { @@ -541,6 +542,7 @@ void action() { save_string(PREFS_KEY_WEATHER_APIKEY); save_string(PREFS_KEY_WEATHER_LAT); save_string(PREFS_KEY_WEATHER_LON); + save_bool(PREFS_KEY_WEATHER_OVERLAY); save_int(PREFS_KEY_WEATHER_INTERVAL_MINUTES, 30, 24 * 60); save_string(PREFS_KEY_WORDNIK_APIKEY); save_int(PREFS_KEY_WORDNIK_INTERVAL_MINUTES, 60, 3600); From df5f5dcef2d81f12d2b6a6a2e3f1780491430c69 Mon Sep 17 00:00:00 2001 From: akasaka Date: Fri, 26 Jul 2024 23:39:32 +0900 Subject: [PATCH 05/26] Line breaks --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index 04e2a0d..ecace8e 100644 --- a/README.md +++ b/README.md @@ -8,34 +8,51 @@ A somewhat portable relatively-stylish pixel-art clock/weather station. ## Available widgets * Clock + ![](docs/img/widget/clock_pretty.png) + * Indoor temperature + ![](docs/img/widget/indoor_pretty.png) + * Switchbot Meter temperature * Weather (via [OpenWeatherMap](https://openweathermap.org/)) + ![](docs/img/widget/weather_pretty.png) + * Weather Effect (raining and thunder on idle screen when rain/thunderstorm outside) + ![](docs/img/widget/rainclock_pretty.png) + * Word of the Day (via [Wordnik](https://wordnik.com/)) + ![](docs/img/widget/word_pretty.png) + * Foobar2000 (via [foo_controlverver](https://github.com/vladkorotnev/foo_controlserver/tree/fix-streams)) + ![](docs/img/widget/foo_pretty.png) + * Remaining sleep time (when using alarm app) + ![](docs/img/widget/sleep_pretty.png) ## Available apps * Idle (home screen) * Timer + ![](docs/img/app/timer_pretty.png) ![](docs/img/app/timer_melo_pretty.png) * Stopwatch + ![](docs/img/app/stopwatch_pretty.png) * Alarm (Smart Wake Up on devices with motion sensor) + ![](docs/img/app/alarm_pretty.png) ![](docs/img/app/alarm2_pretty.png) * Weighing Scale (via Wii Balance Board) * Settings + ![](docs/img/app/setting0_pretty.png) ![](docs/img/app/setting1_pretty.png) ![](docs/img/app/setting2_pretty.png) From 41a4b31c996875b069f7e61c05292fd61cddd39b Mon Sep 17 00:00:00 2001 From: akasaka Date: Fri, 26 Jul 2024 23:55:06 +0900 Subject: [PATCH 06/26] List all ringtones in readme --- README.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/README.md b/README.md index ecace8e..311843a 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,36 @@ A somewhat portable relatively-stylish pixel-art clock/weather station. ![](docs/img/app/setting1_pretty.png) ![](docs/img/app/setting2_pretty.png) +## Available chime tones + +**(All chime tones are covers adapted for single channel beeper by DJ AKASAKA)** + +* Simple beep +* PC-98 Boot Chime +* Russ28 (Русь 28) Hourly Chime (poorly timed Beethoven's 5th Symphony) +* Some mid-2000s Shtrikh-M (Штрих-М) POS Boot chime +* [A.M. - Arise](https://youtu.be/cuOVP6pJ9Ww?t=264): [MIDI](helper/chimes/arise.mid) +* [Caramell - Caramelldansen](https://youtu.be/o6Zp4cW8w8A?t=51): [MIDI](helper/chimes/caramelldansen.mid) +* [BôA - Duvet](https://youtu.be/Uoox9fpmDP0) (simple version): [MIDI](helper/chimes/duvet.mid) +* [T-Square - Truth](https://youtu.be/FZaUPGjjA4c?t=77): [MIDI](helper/chimes/truth.mid) +* [Kosaki Satoru - Haruhi no Omoi](https://www.youtube.com/watch?v=KMKoyHKYSNk): [MIDI](helper/chimes/haruhi_no_omoi.mid) +* [WAVE and DRAX - When Present Is Past](https://modarchive.org/index.php?request=view_by_moduleid&query=140039): [MIDI](helper/chimes/when_present_is_past.mid) +* [Kawada Mami - Hishoku no Sora](https://www.youtube.com/watch?v=FNl1ud7KxtI): [MIDI](helper/chimes/hishoku.mid) +* [Hirano Aya - Bouken Desho Desho](https://www.youtube.com/watch?v=C337shIT9LI): [MIDI](helper/chimes/bouken.mid) +* [Magome Togoshi, Shinji Orito - Gentle Jena](https://www.youtube.com/watch?v=lR4dw_B423E): [MIDI](helper/chimes/gentlejena.mid) +* [OMEGA - Gammapolisz](https://www.youtube.com/watch?v=XCqdrQxMrxI): [MIDI](helper/chimes/gammapolisz.mid) +* [? - Like The Wind (TMMS)](https://www.youtube.com/watch?v=uYpkri8Kv2E): [MIDI](helper/chimes/like_the_wind.mid) +* [NightRadio - Waiting Freqs](https://www.youtube.com/watch?v=_0MBreuq94Y): [MIDI](helper/chimes/waiting_freqs.mid) +* [NightRadio - The Way](https://nightradio.bandcamp.com/track/the-way): [MIDI](helper/chimes/the_way.mid) +* [Dougal & Gammer — Guitar Hero](https://youtu.be/ID4pO9epHPA?t=89): [MIDI](helper/chimes/gtrhero.mid) +* [蜂屋ななし — シャボン](https://youtu.be/UHRlXm_tV8o?t=41): [MIDI](helper/chimes/syabon.mid) +* [Takeshi Abo — Gate of Steiner](https://www.youtube.com/watch?v=2Q9MqL83FeE): [MIDI](helper/chimes/steiner.mid) +* [deadballP — 永遠に続く五線譜](https://www.youtube.com/watch?v=p1sh68qk4Nk): [MIDI](helper/chimes/towa.mid) +* [Cream puff — Mermaid girl](https://youtu.be/AaUMvgfHpUo?t=16): [MIDI](helper/chimes/mermgrl.mid) +* [Brisk & Trixxy — Eye Opener](https://youtu.be/81QqHUpyBhg?t=83): [MIDI](helper/chimes/eye_opener.mid) + +MIDI to sequencer conversion tool (supports note events in one track only, track end event, and comment event): [midi_to_chime](helper/midi_to_chime.py) + ## System Requirements The basic configuration without any bluetooth functionality (no Switchbot or Balance Board integration) seems to work just fine on an ESP32 WROOM. However to be less limited by RAM size in further features I've decided to make WROVER the requirement, so further versions are not guaranteed to run on WROOM. From c94da30b31965806eb7c8620ba35d87af83c92d9 Mon Sep 17 00:00:00 2001 From: akasaka Date: Sat, 27 Jul 2024 08:34:50 +0900 Subject: [PATCH 07/26] Avoid doing a crapshoot of allocations on the heap every frame or something --- include/graphics/fanta_manipulator.h | 1 + include/graphics/sprite.h | 22 ++++--- include/rsrc/common_icons.h | 10 +-- include/views/overlays/touch_arrows_ovl.h | 12 ++-- src/app/menu.cpp | 12 ++-- src/graphics/fanta_manipulator.cpp | 71 +++++++++++++++++++--- src/graphics/font.cpp | 3 +- src/graphics/sprite.cpp | 39 +----------- src/service/owm/weather_icons.cpp | 27 +++++--- src/views/idle_screens/fb2k.cpp | 2 +- src/views/idle_screens/next_alarm.cpp | 3 +- src/views/idle_screens/word_of_the_day.cpp | 3 +- 12 files changed, 124 insertions(+), 81 deletions(-) diff --git a/include/graphics/fanta_manipulator.h b/include/graphics/fanta_manipulator.h index 516db29..777ec43 100644 --- a/include/graphics/fanta_manipulator.h +++ b/include/graphics/fanta_manipulator.h @@ -73,4 +73,5 @@ class FantaManipulator { bool * dirty; int width; int height; + void put_horizontal_data(const uint8_t* data, int x, int y, int width, int height, const uint8_t* mask, bool invert); }; \ No newline at end of file diff --git a/include/graphics/sprite.h b/include/graphics/sprite.h index 65470dc..52f4022 100644 --- a/include/graphics/sprite.h +++ b/include/graphics/sprite.h @@ -2,13 +2,23 @@ #include #include -/// @brief A piece of graphics, laid out horizontally. -/// @details I.e. a 14x2 spritewill consist of 4 bytes. 0th one will contain the leftmost 6 pixels of the top row aligned towards LSB, -/// 1st one will contain the rightmost 8 pixels, 2nd one will contain the leftmost 6px of the bottom row, and so forth. +typedef enum sprite_fmt { + /// A horizontally laid out sprite + /// @details I.e. a 14x2 sprite will consist of 4 bytes. 0th one will contain the leftmost 6 pixels of the top row aligned towards LSB, + /// 1st one will contain the rightmost 8 pixels, 2nd one will contain the leftmost 6px of the bottom row, and so forth. + SPRFMT_HORIZONTAL, + /// A vertically laid out sprite + /// @details I.e. a 14x2 sprite will consist of 4 bytes. 0th one will contain the 8 pixels of the leftmost column with top left being MSB, + /// 1st one will contain the next 6 pixels of the lefrmost column aligned towards MSB, 2nd one will contain the top 8px of the second column and so on. + SPRFMT_NATIVE +} sprite_fmt_t; + +/// @brief A piece of graphics with a size and optional mask typedef struct sprite { uint8_t width, height; const uint8_t* data; const uint8_t* mask; + sprite_fmt_t format; } sprite_t; /// @brief An animated sprite. @@ -22,6 +32,7 @@ typedef struct ani_sprite { /// @brief How many display frames should the first frame be shown before the animation loops uint8_t holdoff_frames; const uint8_t* data; + sprite_fmt_t format; } ani_sprite_t; /// @brief A context of a playing animated sprite @@ -38,11 +49,6 @@ typedef struct ani_sprite_state { typedef uint8_t* fanta_buffer_t; -/// @brief Convert a horizontally laid out, LSB aligned sprite bitmap of an arbitrary size, to a vertically aligned 16-bit-per-column Fanta buffer. -/// @note Unused pixels are filled with 0's. Transparency et al. should be handled by the drawing code. -extern fanta_buffer_t sprite_to_fanta(const sprite_t*); -extern fanta_buffer_t mask_to_fanta(const sprite_t*); - /// @brief Initialize a playback context for an animated sprite extern ani_sprite_state_t ani_sprite_prepare(const ani_sprite*); /// @brief Get the current animation frame to be drawn for an animated sprite diff --git a/include/rsrc/common_icons.h b/include/rsrc/common_icons.h index b84527e..ada4569 100644 --- a/include/rsrc/common_icons.h +++ b/include/rsrc/common_icons.h @@ -18,7 +18,8 @@ static const sprite_t alarm_icns = { .width = 16, .height = 16, .data = alarm_icns_data, - .mask = nullptr + .mask = nullptr, + .format = SPRFMT_HORIZONTAL }; static const uint8_t good_icns_data[] = { @@ -26,14 +27,14 @@ static const uint8_t good_icns_data[] = { 0x7f, 0xfe, 0x7f, 0xfa, 0x7f, 0xfc, 0x7f, 0xfc, 0x7f, 0xf4, 0x7f, 0xf8, 0x7f, 0xe8, 0x0f, 0xf0 }; -static const sprite_t good_icns = { .width = 16, .height = 16, .data = good_icns_data, .mask = nullptr }; +static const sprite_t good_icns = { .width = 16, .height = 16, .data = good_icns_data, .mask = nullptr, .format = SPRFMT_HORIZONTAL }; static const uint8_t hourglass_icns_data[] = { 0x3f, 0xfe, 0x00, 0x00, 0x10, 0x04, 0x10, 0x04, 0x10, 0x04, 0x0b, 0xe8, 0x05, 0xd0, 0x02, 0xa0, 0x02, 0x20, 0x04, 0x10, 0x08, 0x88, 0x11, 0xc4, 0x12, 0xe4, 0x15, 0x74, 0x00, 0x00, 0x3f, 0xfe }; -static const sprite_t hourglass_icns = { .width = 16, .height = 16, .data = hourglass_icns_data, .mask = nullptr }; +static const sprite_t hourglass_icns = { .width = 16, .height = 16, .data = hourglass_icns_data, .mask = nullptr, .format = SPRFMT_HORIZONTAL }; static const uint8_t icon_thermo_data[] = { // By PiiXL @@ -46,5 +47,6 @@ static const sprite_t icon_thermo_1616 = { .width = 16, .height = 16, .data = icon_thermo_data, - .mask = nullptr + .mask = nullptr, + .format = SPRFMT_HORIZONTAL }; \ No newline at end of file diff --git a/include/views/overlays/touch_arrows_ovl.h b/include/views/overlays/touch_arrows_ovl.h index 31312de..be4a21e 100644 --- a/include/views/overlays/touch_arrows_ovl.h +++ b/include/views/overlays/touch_arrows_ovl.h @@ -47,7 +47,8 @@ class TouchArrowOverlay: public Renderable { .width = 7, .height = 8, .data = arrow_top_data, - .mask = arrow_top_mask_data + .mask = arrow_top_mask_data, + .format = SPRFMT_HORIZONTAL }; static const uint8_t arrow_bottom_data[] = { @@ -74,7 +75,8 @@ class TouchArrowOverlay: public Renderable { .width = 7, .height = 8, .data = arrow_bottom_data, - .mask = arrow_bottom_mask_data + .mask = arrow_bottom_mask_data, + .format = SPRFMT_HORIZONTAL }; static const uint8_t arrow_right_data[] = { @@ -99,7 +101,8 @@ class TouchArrowOverlay: public Renderable { .width = 8, .height = 7, .data = arrow_right_data, - .mask = arrow_right_mask_data + .mask = arrow_right_mask_data, + .format = SPRFMT_HORIZONTAL }; static const uint8_t arrow_left_data[] = { @@ -124,7 +127,8 @@ class TouchArrowOverlay: public Renderable { .width = 8, .height = 7, .data = arrow_left_data, - .mask = arrow_left_mask_data + .mask = arrow_left_mask_data, + .format = SPRFMT_HORIZONTAL }; if(!active) return; diff --git a/src/app/menu.cpp b/src/app/menu.cpp index 3b0c4e2..053edca 100644 --- a/src/app/menu.cpp +++ b/src/app/menu.cpp @@ -128,7 +128,7 @@ AppShimMenu::AppShimMenu(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { 0x7f, 0xfe, 0x6e, 0x3e, 0x57, 0xfe, 0x50, 0x3e, 0x3f, 0xdc, 0x7c, 0x38, 0x7d, 0xf0, 0x3c, 0x00 }; - static const sprite_t status_icns = { .width = 16, .height = 16, .data = status_icns_data, .mask = nullptr }; + static const sprite_t status_icns = { .width = 16, .height = 16, .data = status_icns_data, .mask = nullptr, .format = SPRFMT_HORIZONTAL }; static const uint8_t clock_icns_data[] = { // By PiiXL @@ -136,7 +136,7 @@ AppShimMenu::AppShimMenu(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { 0x4f, 0x09, 0x5f, 0xfd, 0x5f, 0xfd, 0x5f, 0xfd, 0x6f, 0xfb, 0x37, 0x76, 0x18, 0x0c, 0x0f, 0xf8 }; - static const sprite_t clock_icns = { .width = 16, .height = 16, .data = clock_icns_data, .mask = nullptr }; + static const sprite_t clock_icns = { .width = 16, .height = 16, .data = clock_icns_data, .mask = nullptr, .format = SPRFMT_HORIZONTAL }; static const uint8_t display_icns_data[] = { // By PiiXL @@ -144,7 +144,7 @@ AppShimMenu::AppShimMenu(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { 0x40, 0x09, 0x40, 0x0f, 0x40, 0x09, 0x40, 0x0f, 0x60, 0x19, 0x7f, 0xff, 0x00, 0x00, 0x18, 0x0c }; - static const sprite_t display_icns = { .width = 16, .height = 16, .data = display_icns_data, .mask = nullptr }; + static const sprite_t display_icns = { .width = 16, .height = 16, .data = display_icns_data, .mask = nullptr, .format = SPRFMT_HORIZONTAL }; static const uint8_t wrench_icns_data[] = { // By PiiXL @@ -152,7 +152,7 @@ AppShimMenu::AppShimMenu(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { 0x0f, 0xc7, 0x1f, 0xff, 0x3f, 0xff, 0x6f, 0xfe, 0x5f, 0xfc, 0x3b, 0x00, 0x76, 0x00, 0x6c, 0x00 }; - static const sprite_t wrench_icns = { .width = 16, .height = 16, .data = wrench_icns_data, .mask = nullptr }; + static const sprite_t wrench_icns = { .width = 16, .height = 16, .data = wrench_icns_data, .mask = nullptr, .format = SPRFMT_HORIZONTAL }; static const uint8_t stopwatch_icns_data[] = { // By PiiXL @@ -160,7 +160,7 @@ AppShimMenu::AppShimMenu(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { 0xd7, 0x7a, 0xd7, 0x7a, 0xd7, 0x0a, 0xd7, 0xfa, 0xd7, 0xfa, 0xdb, 0xf6, 0x6c, 0x0c, 0x37, 0xf8 }; - static const sprite_t stopwatch_icns = { .width = 16, .height = 16, .data = stopwatch_icns_data, .mask = nullptr }; + static const sprite_t stopwatch_icns = { .width = 16, .height = 16, .data = stopwatch_icns_data, .mask = nullptr, .format = SPRFMT_HORIZONTAL }; #if HAS(BALANCE_BOARD_INTEGRATION) static const uint8_t weight_icns_data[] = { @@ -169,7 +169,7 @@ AppShimMenu::AppShimMenu(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { 0xab, 0xd5, 0xab, 0xd5, 0x28, 0x14, 0x28, 0x14, 0x08, 0x10, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00 }; - static const sprite_t weight_icns = { .width = 16, .height = 16, .data = weight_icns_data, .mask = nullptr }; + static const sprite_t weight_icns = { .width = 16, .height = 16, .data = weight_icns_data, .mask = nullptr, .format = SPRFMT_HORIZONTAL }; #endif static ListView * settings_menu = new ListView(); diff --git a/src/graphics/fanta_manipulator.cpp b/src/graphics/fanta_manipulator.cpp index d18a701..16f4a95 100644 --- a/src/graphics/fanta_manipulator.cpp +++ b/src/graphics/fanta_manipulator.cpp @@ -70,7 +70,7 @@ void FantaManipulator::plot_pixel(int x, int y, bool state) { } // NB: This still relies too much on the fact our displays are 16 bits tall. Someday when porting to another display this will bite us in the ass. -void FantaManipulator::put_fanta(fanta_buffer_t fanta, int x, int y, int w, int h, fanta_buffer_t mask, bool invert) { +void FantaManipulator::put_fanta(const fanta_buffer_t fanta, int x, int y, int w, int h, fanta_buffer_t mask, bool invert) { if(w <= 0 || h <= 0) return; uint16_t fanta_column_mask = 0x0; @@ -102,16 +102,67 @@ void FantaManipulator::put_fanta(fanta_buffer_t fanta, int x, int y, int w, int *dirty = true; } +void FantaManipulator::put_horizontal_data(const uint8_t* data, int x, int y, int w, int h, const uint8_t* mask, bool invert) { + if(w <= 0 || h <= 0) return; + + uint16_t fanta_column_mask = 0x0; + for(int i = std::max(y, 0); i < std::min(y + h, 16); i++) { + fanta_column_mask |= (1 << i); + } + + uint8_t * mask_data = (uint8_t*) &fanta_column_mask; + + int target_idx = x * 2; + for(int i = std::max(0, -target_idx); i < w*2; i++) { + if(target_idx + i > buffer_size - 1) break; + int i_spr = i / 2; + uint8_t current_halfcolumn_mask = mask_data[i % 2]; + + if(mask) { + uint16_t buf_mask_column = 0; + + for(int j = std::min(h, 16) - 1; j >= 0; j--) { + buf_mask_column <<= 1; + uint8_t cur_byte = mask[j*std::max((w/8), 1) + i_spr / 8]; + if(w < 8) cur_byte <<= (8 - w); + buf_mask_column |= (cur_byte >> (7 - (i_spr % 8))) & 0x1; + } + + if(y > 0) buf_mask_column <<= y; + else if(y < 0) buf_mask_column >>= abs(y); + + current_halfcolumn_mask &= ((uint8_t*)&buf_mask_column)[i % 2]; + } + + uint16_t buf_column = 0; + for(int j = std::min(h, 16) - 1; j >= 0; j--) { + buf_column <<= 1; + uint8_t cur_byte = data[j*std::max((w/8), 1) + i_spr / 8]; + if(w < 8) cur_byte <<= (8 - w); + buf_column |= (cur_byte >> (7 - (i_spr % 8))) & 0x1; + } + if(y > 0) buf_column <<= y; + else if(y < 0) buf_column >>= abs(y); + uint8_t buf_halfcolumn = ((uint8_t*)&buf_column)[i % 2]; + buffer[target_idx + i] = ((uint8_t) (invert ? ~buf_halfcolumn : buf_halfcolumn) & current_halfcolumn_mask) | (buffer[target_idx + i] & ~current_halfcolumn_mask); + } + + *dirty = true; +} + void FantaManipulator::put_sprite(const sprite_t * sprite, int x, int y, bool invert) { - fanta_buffer_t fanta = sprite_to_fanta(sprite); - fanta_buffer_t mask = nullptr; - if(sprite->mask) { - mask = mask_to_fanta(sprite); - } - put_fanta(fanta, x, y, sprite->width, sprite->height, mask, invert); - free(fanta); - if(mask) { - free(mask); + switch(sprite->format) { + case SPRFMT_NATIVE: + put_fanta((const fanta_buffer_t) sprite->data, x, y, sprite->width, sprite->height, (const fanta_buffer_t) sprite->mask, invert); + break; + + case SPRFMT_HORIZONTAL: + put_horizontal_data(sprite->data, x, y, sprite->width, sprite->height, sprite->mask, invert); + break; + + default: + ESP_LOGE(LOG_TAG, "Unsupported sprfmt=%i !!", sprite->format); + break; } } diff --git a/src/graphics/font.cpp b/src/graphics/font.cpp index 0ced663..b66d97a 100644 --- a/src/graphics/font.cpp +++ b/src/graphics/font.cpp @@ -15,7 +15,8 @@ sprite_t sprite_from_glyph(const font_definition_t* font, char16_t glyph) { .width = font->width, .height = font->height, .data = &font->data[start_idx], - .mask = nullptr + .mask = nullptr, + .format = SPRFMT_HORIZONTAL }; return rslt; diff --git a/src/graphics/sprite.cpp b/src/graphics/sprite.cpp index 4b9e9e2..04a2291 100644 --- a/src/graphics/sprite.cpp +++ b/src/graphics/sprite.cpp @@ -2,6 +2,7 @@ #include #include #include +#include static char LOG_TAG[] = "FB_SPR"; @@ -13,41 +14,6 @@ void* gralloc(const size_t size) { #endif } -fanta_buffer_t _convert_to_fanta(uint8_t width, uint8_t height, const uint8_t* data) { - size_t required_size = width; - - uint16_t * columns = (uint16_t*) gralloc(required_size * sizeof(uint16_t)); - if(columns == nullptr) { - ESP_LOGE(LOG_TAG, "Allocation failed"); - return nullptr; - } - - memset(columns, 0, required_size * sizeof(uint16_t)); - - for(int i = 0; i < width; i++) { - for(int j = std::min(height, (uint8_t) 16) - 1; j >= 0; j--) { - columns[i] <<= 1; - uint8_t cur_byte = data[j*(std::max((width/8), 1)) + i / 8]; - if(width < 8) { - // move the bits towards MSB - cur_byte <<= (8 - width); - } - columns[i] |= (cur_byte >> (7 - (i % 8)) & 1); - } - } - - return (uint8_t*) columns; -} - -fanta_buffer_t mask_to_fanta(const sprite_t* sprite) { - if(sprite->mask == nullptr) return nullptr; - return _convert_to_fanta(sprite->width, sprite->height, sprite->mask); -} - -fanta_buffer_t sprite_to_fanta(const sprite_t* sprite) { - return _convert_to_fanta(sprite->width, sprite->height, sprite->data); -} - ani_sprite_state_t ani_sprite_prepare(const ani_sprite* as) { return ani_sprite_state_t { .ani_sprite = as, @@ -82,6 +48,7 @@ sprite_t ani_sprite_frame(ani_sprite_state_t* as) { .width = as->ani_sprite->width, .height = as->ani_sprite->height, .data = cur_frame, - .mask = nullptr + .mask = nullptr, + .format = as->ani_sprite->format }; } \ No newline at end of file diff --git a/src/service/owm/weather_icons.cpp b/src/service/owm/weather_icons.cpp index 28d6bfc..8f661b3 100644 --- a/src/service/owm/weather_icons.cpp +++ b/src/service/owm/weather_icons.cpp @@ -42,7 +42,8 @@ const ani_sprite_t thunderstorm_icon = { .frames = 9, .screen_frames_per_frame = 7, .holdoff_frames = 0, - .data = thunderstorm_data + .data = thunderstorm_data, + .format = SPRFMT_HORIZONTAL }; const uint8_t drizzle_data[] = { @@ -71,7 +72,8 @@ const ani_sprite_t drizzle_icon = { .frames = 9, .screen_frames_per_frame = 7, .holdoff_frames = 0, - .data = drizzle_data + .data = drizzle_data, + .format = SPRFMT_HORIZONTAL }; @@ -102,7 +104,8 @@ const ani_sprite_t rain_icon = { .frames = 10, .screen_frames_per_frame = 7, .holdoff_frames = 0, - .data = rain_data + .data = rain_data, + .format = SPRFMT_HORIZONTAL }; const uint8_t sun_data[] = { @@ -132,7 +135,8 @@ const ani_sprite_t sun_icon = { .frames = 10, .screen_frames_per_frame = 7, .holdoff_frames = 0, - .data = sun_data + .data = sun_data, + .format = SPRFMT_HORIZONTAL }; const uint8_t clouds_data[] = { @@ -184,7 +188,8 @@ const ani_sprite_t clouds_icon = { .frames = 21, .screen_frames_per_frame = 7, .holdoff_frames = 2, - .data = clouds_data + .data = clouds_data, + .format = SPRFMT_HORIZONTAL }; const uint8_t broken_clouds_data[] = { @@ -220,7 +225,8 @@ const ani_sprite_t broken_clouds_icon = { .frames = 13, .screen_frames_per_frame = 7, .holdoff_frames = 0, - .data = broken_clouds_data + .data = broken_clouds_data, + .format = SPRFMT_HORIZONTAL }; const uint8_t overcast_data[] = { @@ -238,7 +244,8 @@ const ani_sprite_t overcast_icon = { .frames = 4, .screen_frames_per_frame = 14, .holdoff_frames = 4, - .data = overcast_data + .data = overcast_data, + .format = SPRFMT_HORIZONTAL }; const uint8_t snow_data[] = { @@ -251,7 +258,8 @@ const ani_sprite_t snow_icon = { .frames = 1, .screen_frames_per_frame = 60, .holdoff_frames = 0, - .data = snow_data + .data = snow_data, + .format = SPRFMT_HORIZONTAL }; const uint8_t mist_data[] = { @@ -264,5 +272,6 @@ const ani_sprite_t mist_icon = { .frames = 1, .screen_frames_per_frame = 60, .holdoff_frames = 0, - .data = mist_data + .data = mist_data, + .format = SPRFMT_HORIZONTAL }; \ No newline at end of file diff --git a/src/views/idle_screens/fb2k.cpp b/src/views/idle_screens/fb2k.cpp index 2a5ec17..0e8c52e 100644 --- a/src/views/idle_screens/fb2k.cpp +++ b/src/views/idle_screens/fb2k.cpp @@ -13,7 +13,7 @@ static const uint8_t icn_music_data[] = { }; static const sprite_t icn_music = { - .width = 16, .height = 16, .data = icn_music_data, .mask = nullptr + .width = 16, .height = 16, .data = icn_music_data, .mask = nullptr, .format = SPRFMT_HORIZONTAL }; Fb2kView::Fb2kView() { diff --git a/src/views/idle_screens/next_alarm.cpp b/src/views/idle_screens/next_alarm.cpp index b977f63..4e0e4c7 100644 --- a/src/views/idle_screens/next_alarm.cpp +++ b/src/views/idle_screens/next_alarm.cpp @@ -12,7 +12,8 @@ static const uint8_t sleep_icns_data[] = { static const sprite_t sleep_icns = { .width = 16, .height = 16, .data = sleep_icns_data, - .mask = nullptr + .mask = nullptr, + .format = SPRFMT_HORIZONTAL }; diff --git a/src/views/idle_screens/word_of_the_day.cpp b/src/views/idle_screens/word_of_the_day.cpp index 737f582..14ad19f 100644 --- a/src/views/idle_screens/word_of_the_day.cpp +++ b/src/views/idle_screens/word_of_the_day.cpp @@ -35,7 +35,8 @@ static const ani_sprite_t book_icon = { .frames = 8, .screen_frames_per_frame = 4, .holdoff_frames = 8, - .data = spr_book_data + .data = spr_book_data, + .format = SPRFMT_HORIZONTAL }; WordOfTheDayView::WordOfTheDayView() { From 9c502f07276e79ee464645f0ee90569972ecb25c Mon Sep 17 00:00:00 2001 From: akasaka Date: Sat, 27 Jul 2024 12:31:49 +0900 Subject: [PATCH 08/26] Pretty readme and remote control for some reason --- README.md | 98 +++++++++++---- docs/img/app/alarm.gif | Bin 0 -> 129889 bytes docs/img/app/setting0_pretty.png | Bin 2046 -> 0 bytes docs/img/app/setting1_pretty.png | Bin 1886 -> 0 bytes docs/img/app/setting2_pretty.png | Bin 2406 -> 0 bytes docs/img/app/settings.gif | Bin 0 -> 209731 bytes docs/img/app/stopwatch.gif | Bin 0 -> 78687 bytes docs/img/app/stopwatch_pretty.png | Bin 1628 -> 0 bytes docs/img/app/timer.gif | Bin 0 -> 22287 bytes docs/img/app/timer_pretty.png | Bin 1817 -> 0 bytes docs/img/hero.jpg | Bin 0 -> 245456 bytes docs/img/pisosremote.mp4 | Bin 0 -> 190925 bytes docs/img/widget/rain.gif | Bin 0 -> 59599 bytes docs/img/widget/rainclock_pretty.png | Bin 1962 -> 0 bytes docs/img/widget/weather.gif | Bin 0 -> 388683 bytes docs/img/widget/weather_pretty.png | Bin 2730 -> 0 bytes helper/remote-control.py | 182 +++++++++++++++++++++++++++ include/device_config.h | 9 +- include/graphics/screenshooter.h | 10 +- include/input/keys.h | 10 +- include/network/admin_panel.h | 4 +- include/service/prefs.h | 2 + src/app/menu.cpp | 3 +- src/console.cpp | 8 +- src/graphics/framebuffer.cpp | 2 +- src/graphics/screenshooter.cpp | 158 +++++++++++++++++++++-- src/main.cpp | 15 ++- src/network/admin_panel.cpp | 11 +- 28 files changed, 453 insertions(+), 59 deletions(-) create mode 100644 docs/img/app/alarm.gif delete mode 100644 docs/img/app/setting0_pretty.png delete mode 100644 docs/img/app/setting1_pretty.png delete mode 100644 docs/img/app/setting2_pretty.png create mode 100644 docs/img/app/settings.gif create mode 100644 docs/img/app/stopwatch.gif delete mode 100644 docs/img/app/stopwatch_pretty.png create mode 100644 docs/img/app/timer.gif delete mode 100644 docs/img/app/timer_pretty.png create mode 100644 docs/img/hero.jpg create mode 100644 docs/img/pisosremote.mp4 create mode 100644 docs/img/widget/rain.gif delete mode 100644 docs/img/widget/rainclock_pretty.png create mode 100644 docs/img/widget/weather.gif delete mode 100644 docs/img/widget/weather_pretty.png create mode 100644 helper/remote-control.py diff --git a/README.md b/README.md index 311843a..7cf094b 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,30 @@ Personal Information System OS (formerly Plasma Information Screen OS). A somewhat portable relatively-stylish pixel-art clock/weather station. +![](docs/img/hero.jpg) + +## A remark on the Morio Denki Plasma Display + +**This display uses high voltage, which could be lethal!!** + +The display comes from a bus or a train, supposedly. + +It has the following labels on the PCBs: + +* Morio Denki 6M06056 (the 8085-based control board I wasn't able to get running) +* MD 16101DS-CONT82 06 (the actual framebuffer/drive board) +* MD-24T-ADT (2) 8201 (the boards on the plasma tube itself) + +Despite using a standard "HDD" Molex 4-pin connector for the drive board power, it expects +160V on the pin where normally +12V would be supplied. Take care not to mix up the power supplies. (Plugging in +12V into the plasma board doesn't seem to damage it. Plugging in +160V into an HDD, on the other hand...) + +More detailed info is available in the following articles: + +* На русском: https://habr.com/ru/companies/timeweb/articles/808805/ +* 日本語で: https://elchika.com/article/b9f39c29-64aa-42ab-8f73-e6e27a72bd0e/ +* Demo video: https://youtu.be/D4MiHmhhjeQ + +You can also read the quest I went through trying to get it to run "in real time" at [EEVBlog Forums](https://www.eevblog.com/forum/repair/trying-to-figure-out-if-a-vfd-displaydriver-is-broken-(74-series-logic)/). + ## Available widgets * Clock @@ -18,11 +42,11 @@ A somewhat portable relatively-stylish pixel-art clock/weather station. * Switchbot Meter temperature * Weather (via [OpenWeatherMap](https://openweathermap.org/)) - ![](docs/img/widget/weather_pretty.png) + ![](docs/img/widget/weather.gif) * Weather Effect (raining and thunder on idle screen when rain/thunderstorm outside) - ![](docs/img/widget/rainclock_pretty.png) + ![](docs/img/widget/rain.gif) * Word of the Day (via [Wordnik](https://wordnik.com/)) @@ -41,21 +65,20 @@ A somewhat portable relatively-stylish pixel-art clock/weather station. * Idle (home screen) * Timer - ![](docs/img/app/timer_pretty.png) + ![](docs/img/app/timer.gif) ![](docs/img/app/timer_melo_pretty.png) * Stopwatch - ![](docs/img/app/stopwatch_pretty.png) + ![](docs/img/app/stopwatch.gif) * Alarm (Smart Wake Up on devices with motion sensor) ![](docs/img/app/alarm_pretty.png) ![](docs/img/app/alarm2_pretty.png) + [Alarm Animation](docs/img/app/alarm.gif) *(blinking lights warning!)* * Weighing Scale (via Wii Balance Board) * Settings - ![](docs/img/app/setting0_pretty.png) - ![](docs/img/app/setting1_pretty.png) - ![](docs/img/app/setting2_pretty.png) + ![](docs/img/app/settings.gif) ## Available chime tones @@ -87,6 +110,45 @@ A somewhat portable relatively-stylish pixel-art clock/weather station. MIDI to sequencer conversion tool (supports note events in one track only, track end event, and comment event): [midi_to_chime](helper/midi_to_chime.py) +## Remote Control Server + +There is a remote control server you can enable in settings for debugging remotely when uploading firmware via OTA, or using an emulator without any screen and buttons. + +Also included is a [primitive client](helper/remote-control.py) that has pretty poor performance, but allows recording GIFs and taking screenshots. All of the screenshots and GIFs in this readme were made that way. + +![](docs/img/pisosremote.mp4) + +### Usage + +1. Enable "Remote Control Server" under Settings → Display. +2. Save and Restart PIS-OS +3. Run `python ./helper/remote-control.py ` on your computer. Port 3939 must be accessible. + +### Protocol + +The protocol is very simple. + +The control client sends a control packet to the clock via UDP: + +``` +{ + uint16_t magic = 0x3939; + key_id_t pressed = (set bits of those keys that were pressed since last transaction); + key_id_t released = (set bits of those keys that were released since last transaction); +} +``` + +After that the client should expect a UDP packet from the clock with the format: + +``` +{ + uint16_t magic = 0x8888; + uint16_t display_width; + uint16_t display_height; + ... remainder: bitmap data in fanta buffer format +} +``` + ## System Requirements The basic configuration without any bluetooth functionality (no Switchbot or Balance Board integration) seems to work just fine on an ESP32 WROOM. However to be less limited by RAM size in further features I've decided to make WROVER the requirement, so further versions are not guaranteed to run on WROOM. @@ -139,24 +201,6 @@ The basic configuration without any bluetooth functionality (no Switchbot or Bal * Wii Balance Board. Set feature flag `HAS_BALANCE_BOARD_INTEGRATION`. [Driver](src/service/balance_board.cpp), based upon [code by Sasaki Takeru](https://github.com/takeru/Wiimote/tree/d81319c62ac5931da868cc289386a6d4880a4b15), requires WROVER module -## Morio Denki Plasma Display Info - -**This display uses high voltage, which could be lethal!!** - -The display comes from a bus or a train, supposedly. - -It has the following labels on the PCBs: - -* Morio Denki 6M06056 (the 8085-based control board I wasn't able to get running) -* MD 16101DS-CONT82 06 (the actual framebuffer/drive board) -* MD-24T-ADT (2) 8201 (the boards on the plasma tube itself) - -Despite using a standard "HDD" Molex 4-pin connector for the drive board power, it expects +160V on the pin where normally +12V would be supplied. Take care not to mix up the power supplies. (Plugging in +12V into the plasma board doesn't seem to damage it. Plugging in +160V into an HDD, on the other hand...) - -More detailed info is available in the following articles: - -* На русском: https://habr.com/ru/companies/timeweb/articles/808805/ -* 日本語で: https://elchika.com/article/b9f39c29-64aa-42ab-8f73-e6e27a72bd0e/ -* Demo video: https://youtu.be/D4MiHmhhjeQ +---- -You can also read the quest I went through trying to get it to run "in real time" at [EEVBlog Forums](https://www.eevblog.com/forum/repair/trying-to-figure-out-if-a-vfd-displaydriver-is-broken-(74-series-logic)/). \ No newline at end of file +by Genjitsu Labs / akasaka, 2024. \ No newline at end of file diff --git a/docs/img/app/alarm.gif b/docs/img/app/alarm.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ffe1d49842f15ca286f8a8daccbe2228eee5753 GIT binary patch literal 129889 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 E0-jxfdjJ3c literal 0 HcmV?d00001 diff --git a/docs/img/app/setting0_pretty.png b/docs/img/app/setting0_pretty.png deleted file mode 100644 index a328c049d88dc247a7c845a03d1988fa9650baa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2046 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 VR-UuICSs)pqa4u=OyrrA{{jkV;+Fsb diff --git a/docs/img/app/setting1_pretty.png b/docs/img/app/setting1_pretty.png deleted file mode 100644 index 6a72ee231bf7cd915317fae4e6bd9214ca782805..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1886 zcmV-k2ch_hP)002-30ssI2U``N`000LiNklN0VzCmu_%p_e(W~NIuT~xLtN(2ew z;o$-L|5jEkf_NmQq4@=XNWf|>_mA?SlMkIdJj&}g@-Xo7{!v!zP*Y*kca*go`2-4# z?XzN2uwnK&0*-uBx&r_JeSEnCK!a{ae&20n@%+PXC*4NAiipUUjqG;PZ4YltG_s@c zOTBL7(=Tv)`1gWM!A7^){}8^OU)}~JTlD{7x!&K+|10uOCqKNF#f^x_*PVR+DBmup z{&w^-joMN8WlA?}+}xaW^6yXb{f{So-t7uB1v9;?J#alcxnfbj(=YecT7LUemTM7_ zFB^IHtGxe1mMamFr>)%mB-_pDoBxtmD-n@yEAM`h_rJ?`YY~xdBX@64-rN(lqp*~2 zn7PnN#d_y91)yDLk7btYeO|v1xw(<$N?xr+WdCPl|IN?8mH*$oKD-Q-7woxGv^n>2vh-}LAUbs{6~;+(3cX%*2qbqYBmx$>imuj;EdUCzvba$ zHNE`w2f=}(QRzr;C+8Q#7V`Sd{zv1WPjQ5*|3Ic-pjv7qu*3bHAFEPHH$#_+scba`*G? zNt97C=o<)Qjf1azN(HJ;Mgp5{J5;ZD%I!5ThATV22za>|M1(*U0Gd=TQ0;F!ZBEpB z0~y5tIc^lO&mcEy+n5o^X3=E|CnrU*sZ!hG*zu7p8L0N8jI667keNN2H)Y$=lQR1_ zN1fk%*G4UY>M=jVm9?5GwJnbIj^yW$J_6MgH3l+TA>o{)x)(4;1=n-KNk`Yltnzg) zBqzg_6`LxxEsh-@$)~N{y>%0)rl>KHQ3(m>B-JUwwPIji>e`r9zFDuze&|Y_U!S3O zjZP08fhqtr==Shek8#kasK!7hZh&9HfmIoznLdEC)H#X^>W_MrwUbU#P{pPQR6Xbi zszs*!J>PbAcvWd2W3yJRZlF3lZ!CC@qJsMA$13H1#YqaP*c5@P2Nwd>W2Qmh@2k1Ho+)_B{M%eW9RbgUY2PvpxQv|9WTnJQq?1H|SDMLq^sy~n!3Hp2lZYi8} zBWz;&nr}x0s&221DiEjwK=aPmP&Ets>JM@ijf|^IsL09G%2kAB6T@eP8G!RGAe_=v zp4>j`wm9~3rn-%YEc(B;3HoAp)W8VUu#{+8tL3a~Y}#a%qunSKsOCEw9zI6|s!sH$ z{0+z#^hNJz+Q`W^5}1B4qF0gG)XLMR-px9wIC@RdJo5va9gR|-BLY>I&K}G3&?*(h5X#A-l%Dr6}QE(;4^oL$)j`^nQUwg)mW#&NUoN% z9_QIRsScr~05pg@cK}5VO*I_5>}@Tq>gAa`09ziWDYjIo zUcTG`7)n`t`9f2Z*L*IeT)jM&0bna-?d5(`R&z(EC{!#ers8OwNSl$xdW)vwXMGzSuc-e095PR)?baOmp~N&8pNGDfNBkm_VhD? zNmoq0JaY%&Sa^cmDn_VA(W{p)cK}|EPmtSIf~s0Ck7WQjHZnnOa|x-&I z0XQ~sg4{}I2ViUVnxg05cUrUQj&?GoUT1s?CWb0&r?{A<#g;7#`25xQ43Y>a6AJ z<;xv_p}<0*`a$(|00000000000JtLm Y0r9d6x%)VCivR!s07*qoM6N<$f@qzTm;e9( diff --git a/docs/img/app/setting2_pretty.png b/docs/img/app/setting2_pretty.png deleted file mode 100644 index 1d769801dd4e08dffd93e75c47cbdd28ddc6a316..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2406 zcmY+Gdpy(oAIHBE$7YcV%`r*jy16CyE~A86TWu55!BJ!`b1Apg+*^t{L~>j0R6lDN zqnX+oz2A>dIvVA&4XgnM z0AQQz3Fk8aAoF>1k5<^Sx%#5EX9EBT?&^FL8(X|k(wZZ3-hM&PW4}bncRm>HYJc3WOiBR`N<34m))SmF>i|R^XKLn9gY-yt*m>mvOu5Y1o zvUxme{+fN4h(V4C#oGUY~ zZ?;|MryLrg)-It34ABAQ#Rz)a|?5O7#W)%78*{06%@jrdl878P?FK=3T(6s8>JhW#qM)J0? z05%;&NU*xO!3rOW_(vk0QWj{o*wz8}b)PyIY;l>Ax5*n8Iq67dzSfGI2m(KWcK_vE zR_L@Kyc5&u$;Npz0}c@SCn;8zyJP$&)vEL&Q>>tlEgIWd0AQ?}iH7kUZx2SV4h&*y zYG*A$J*0!hm0%ZGz9rVOuwoY3a+`q-K4YCx)g(;cX>yM=Rv2Q{qTz48lwX6q^* zi7}$=$|@TtAOEqLt2i65pqPQ|GHZDrEC@L-H_b=g^Zj^r-V}xD*uTC`ldl(-sI#a} zc?P?=xGqhXYFrOT4G)Q!+5#&wdgdP`v%>3MEzwvEuL$->o;X1_{CtpRH50$x#*KlLXr?Ep| z0s5oBy>42S1=98F+u0jeaa$tD z*AeZQFj|D2#&LSE)vv?xh$jMwe;V?NHN{U^P#aR2MjKOJQbr_3Q-- z!${H7gP%$qXs8~$kO8fyeImz^nehtNosuFP!Ga!CW&~}xcQRIS{G$0R69tJ3LX-*P z+4ovsx2WIn^l+sN`Id-piJSyZb+#FvT)hV_UFeq{d#>otGCNYd={-aq-8isH`iETG zYh2DAtGhG#j#wGM7jata>sjB^`4)LbTm@dD`LHv-wZ9)I3ql%h zLo60H+}ige4m?dtFYiJ7DTTK>ymtiZAbl6lA6JY@beCg*fhy!*GfJnht zy5HpJkyCmHP%ZWOG{RfI&IHEo7bE!as2{dxXH}4JtcQ=xDvz0(u2fwN`=rp5`#kMt zYNrJtyQjQzj&C`rbSgfsi+YW7($kx1_Pvu+NsEB&D?%8mNyw>NoKvpX&6mx@1}^Nx{HgLn#IH6Ec(oAdU@iJ%^Sy0yL9@c9kDK6tV{UW@h}!3R&NxlOQ_ zt4OqnzV3EE?ad0}6~tpQ^3@6g&-aa^3xQ;*C_6qY6qF}V|0bltAPRpu%iRd6q(p&n zc|KNP0bV#dHYVe&OGQfs5z?7j&z8q&M6M6Fui1qXdCbTp>mnfEpoois4fjONe9p83 zm5&}4RxgBN*``QUz&GtrKFs%sJ{E2tUOTE9?eLH3ERx)^F%;NC(S%fCwv9 z5|EVzP-zmpfJ2L&0qx;(>pbC;XYUs7`W}m62(B`xg};RUZ7ajBEhqA1mro-7*)+~> zrrB=!M;?`RHk;tGn$ABX@^owZx!2*2%j&)at=lmv4sfYkrG?;G$&vu=nyr~Vm*48mc;$Umxg8&B5_saS8u zJYOnoa!NVDp(DmRA2~FU)u1 vJ^tX2D%sQ@R>-D4-cj!o{-Ujs_kEF_&cTMxe-UqNeqI3AV<=}f(l`0vj(UnM diff --git a/docs/img/app/settings.gif b/docs/img/app/settings.gif new file mode 100644 index 0000000000000000000000000000000000000000..e892fbd79035164a4f5db750e2043b3ab29873ff GIT binary patch literal 209731 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 z%0D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

TRVF$_gMF@V#$( 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 literal 0 HcmV?d00001 diff --git a/docs/img/app/stopwatch_pretty.png b/docs/img/app/stopwatch_pretty.png deleted file mode 100644 index 2a72d81200b0f3ad0921789a40628781577a92b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1628 zcmZ9MeKZql9LHyqYP0UjCK|Z`lmn-WURDz z&y9O&E)YUPdrF{D>j__~Krh5*3#H7gbuR94{+c(Jr+!aLr~ z#ANQ=^qEUl>MK^FQq+*wA0o;NQYL1sFVUgJO8D381{38c)6t|{b`rB{+)88~Kat{J zHW%t8&hlU@I3k1YC=JKa$P@iDn(ExOdLU~ylEJOp^`303TJ_Iqgg^^G+ddFGB9p(& zVvU&=WUzKBH<*~L-nl6ZE6O9HQ`mwnv$JpNU|=_z7x z&i^%CAOT?Tq9b->tepY}HN9#Vm;7 z?_jsvX$HdRN09Hyaqn%qy*NaeTk3T(0~1prVlaknnmstbf018wcwj5j-8;qF+rZEs-TKR-fWXY0Kd+)BT_U_W+(30hhlV4VGdAVvTQ*I`^>1I-^KR@fsg z3DuQ;5ZO~h%X_IP8RAY7gU5R@Q>V>)AhN_=71WyYGk9g<$CI~JT^ILrh`YH@-R|`R zJB8(HX{Y|3y6HQRyHLEVuxkxJgR5De`B3nUP*t#T07-E7L-nVI+9v}m_j6)6M=nbj zX-vW=Tfr+rYyLzjuF1;_#Omk=cqzmbw}__IrNb+oOzO8n;O)T)BiL8t)OJ#7lf)i7 zQTVz|Fl|kx^P;0qbifvB>JE~yN%9LWAQKveRBWT~qY9|>BZl7B*T0aBphHJLCS)7= zv>DF?Y>spgl#BK_Dr=ysTIXGz&cCr6b#fs?y&)~fP6uCbLjZJ|a)dD)k#sGNvik#2 zFZC{^aN5xtim$lT-ECtoC&w+pLs#h(2BqRDAv2C9xR^DxYntwR5eCsjM9Wfq$h0O4 zN*Gy2=OG%yUtY&~N!KT3FTrbtyJ_<@=)-0>N};6u;IAyo)bxFMbLSAaWU+S@_$El) zWdU`h(NK^-|W=Or2Z9L{aY^U@=@kNYS#=~(#`koEs1(~X70HFg2E_C zKcXlH!vO<8L|yz$a`FKfoKSOUAUB{xHomDK`c9f6%i`6I+|fkI>Xn~ar^@r|WtPXi zgYDwa4npqd7$!U7mk~h1Por-5cT4LRyI@3U8e-OXd3{w+%&_6kuOM8rxD>Gnna>O2xDtJ7zHOq`^ zQ|Ai9wQ?#k)}&aq*St<2-0WZ&91hoZ-$fatM#9#1$PoN)B0Ejkn3!h?ANRG6N?bXt zB)4vl+Xw-(bReOMgQG2KdA90`#>(9UtGtF#7e1vq1{gfqw=CSpADDKvZ`hVzUcUtt zjt^mLXFD}^MFFoYxFB`}fIjQ{w!Q7xV39M;-JD)+e;CP~x_X$^l;%uZZcZ~wtPyQEGWDt}9 diff --git a/docs/img/app/timer.gif b/docs/img/app/timer.gif new file mode 100644 index 0000000000000000000000000000000000000000..bd006a42e0d64d7383f53b19673d2ee502b5a1c7 GIT binary patch literal 22287 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 HC-%Ppbe8mf literal 0 HcmV?d00001 diff --git a/docs/img/app/timer_pretty.png b/docs/img/app/timer_pretty.png deleted file mode 100644 index f3cc2301562f87194c0dbf78b58e69a9792f5e1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1817 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 XV6!p=!vHBxQbJm3)?T#pFK_-2b%Z>) literal 0 HcmV?d00001 diff --git a/docs/img/pisosremote.mp4 b/docs/img/pisosremote.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..fbdf8036688517c221c8fbffc5a141ee0d860465 GIT binary patch literal 190925 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%0AcK5x@|XPK&&nH(NGpEpCSf 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 literal 0 HcmV?d00001 diff --git a/docs/img/widget/rain.gif b/docs/img/widget/rain.gif new file mode 100644 index 0000000000000000000000000000000000000000..4659d86a536fd8a91afbed71a59636d610b8fb2d GIT binary patch literal 59599 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 L{5`7<5U%_K85;0} diff --git a/docs/img/widget/weather.gif b/docs/img/widget/weather.gif new file mode 100644 index 0000000000000000000000000000000000000000..92cf49c933575a8148922f940ee1327251c483fc GIT binary patch literal 388683 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

Wh8IKJqLpy%6a@ScWL~>W;!IVt|G%iN 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 z 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 EJM1x?X#fBK literal 0 HcmV?d00001 diff --git a/docs/img/widget/weather_pretty.png b/docs/img/widget/weather_pretty.png deleted file mode 100644 index bd072f156fb623fbf4d48e028bc47e3227443a39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2730 zcmX9=c{tSH7yd{oLYfp}el(UQME2b`V_&`u4H_Cdg^}$0lCowWGYnc}X)+k`Rf&m6 zw(MpmvSiYbK?q}se$+qrx#vFbIq&=2=iK+)RJf%v57&7v004MQO$=-RfNlL?4?l6_ zV0E$N%K-qc08;}!M0oMiLxn&`HNK?$oHr8uNGW{4w|f$5CXqBvAuKWJWpwUs^=P(bszQ+cy3+#6VVw`whe-l@^geEVlDJdL_38Gg&)n{D@=H(&nV}}y z=Vzq--=|~7Mp&dBJcg|MmKG3r=7I&sw&!DSsVS{ff7SG! zPolp!Ydg?WO`<1oG>&Q{6zzJM|JZ-BflHbHsYBjNjNN-k6^1L3?An$BIOq#1)p_Ww=(N(0O9kYVa zve#;(Q~}so0N^m#>?2P+N!lO|ST)RMN-7Aq{bRRyNM(c+?^nGx@ig=(%DKLgt4=NV z#G^)MlmfR8m87d(jGC}ev=~}|>Ih>1WLz=0e%8kC1js*I1!UG153^Ob&o#f)AEXhm zX#^^PKO~&O!T)WNmFaddbW=_90Qc5nBhaW+i3=vpr>W5Xr%(u9rn|hE(TE{m;IEXu z_hvA9%oAzKp&!l`xF5bVrI=MMmm_gBl@^l$yPO6|D}o1?-clLRS>!ok3jl(AhZK({ zXEs13h3gzBlQvFS1xTGy$H@PZ#a5-{u%b%638Am=O4drL23@-Ny$|Nr=!l#iQ)1mG zyO!f#C?b&gffmE&R+f!|ryazpH#VS%CAuG`q!KC^^$x0U3ne4>#*w!Lm|En8)t3GT#Uu7v^0`)QcOn3H!8)@ZVMrwTSc*$?wA_QQ3s927Uqx`_81WZvXL@I1s<&`HuJ!ro3BT9+KY#K$?y z+v{9EsO>`ac20%03RNChNgDnng^pGrF+@^1S3!zNk~T%xoj1!PQ)s-VTRIL@Y2O+E*$orB}vo{0vz__;rOBy*n8fA5I3f9294qQmE4PBjAg*KlVl9g-_JyaThCqdsPJ zd?8wHuKB`3N>g5l8h}%vZ_n3{k+Kd(fYe`3 zT4yIeS7Xq{A3URr)5dH7fSDDl%)MrFPg$#PzG(2Hu{TfMNCd~T;1|qRMPj{O$np(7 zPt7vDzKdJO2y9WBT?%GHPU@&d&FtC89T;j^BoWQ)4p-ugRq$!mJq1eF6KLXps*Z!MA&XbVB7<(>YMrECuqYEeCqVS_BuR) zxJv{MSVNGPS{PrkSaOQAoz5{p@Jf^{JN=A-n9N~x>u>1<|7EaS=)7BgI{-8rEaRK( z$6W=!XM(;WP;;25`KKtq;e}G)_O?P9t!cqBv0C%^%X1OIxoTmg|Jvn-!IGDvQ(0!x zms_H_Zu=Q;hx=yLWN`Y{EP~W~N$A2$3m})?h_^ssmS^)YZ<9$_UfIfJ@+*RKCL9}_ z*O>QZe!QTT(Ia=aex-+sf4anu)=nR~3qJr+pE z3TsFy3Ptf{ipq9S2YQ3tj||`IY?=eZ|!hr!G`k@z{nGi!2LL zBxXJK{N7mwS6NU4?`Oj(o-uRnwM;^!>ivizJw`-uzyI> zDC6A8Y^ZOtM-Bhn*zN4$%sgDvgNS8JM7OixsOMiS2=knvb5EjY`~sfnbzl?XQ%< zBFTrGANBnHH6M-iDf4|U_Pk$LpEwZ4s}m*zk8fYk=vrj(;~D1!Vly8LpweYh;@2v*C(=V}Y;w1`OMH|odBYYp z{yvi}hTM}k%1kjB*7mh6oc`%SX!m1~HOYQhV`M0ild^B?w~XIi;Uwl}7J7nw&N@@h z!ex0r8G7513O^{Ae|d?|D1e2eOweZgVz#(i|JBO9URu{~{_q&WK|a|E%pGWgZX~G5 zf1mJBr5}h6a+crcri6k`tE|Un%KMK{nZk~KR 0 else (0, 0, 0)) + return out_img.filter(ImageFilter.GaussianBlur(radius=PIX_SIZE/10)) + +def _buf_to_screen(buf, width, height): + global PIX_COLOR, PIX_PITCH_H, PIX_PITCH_W, PIX_SIZE, canvas + canvas.delete('all') + for x in range(width): + for y in range(height): + tidx = (x * (height // 8)) + (y // 8) + col = buf[tidx] + v = col & (1 << (y % 8)) + canvas.create_rectangle(x * (PIX_SIZE+PIX_PITCH_W), y * (PIX_SIZE+PIX_PITCH_H), x * (PIX_SIZE+PIX_PITCH_W)+PIX_SIZE, y * (PIX_SIZE+PIX_PITCH_H)+PIX_SIZE,fill=("white" if v>0 else "black")) + +def render_screenshot(): + global DISP_STS, DISP_RES + temp = DISP_STS[:] + width, height = DISP_RES + f = asksaveasfilename(initialfile = 'screen.png', defaultextension=".png",filetypes=[("PNG Image","*.png")]) + if f == "": + return + out_img = _buf_to_pillow(temp, width, height) + out_img.save(f) + +def rec_toggle(): + global rec_button, REC_STS, REC_IMGS, DISP_RES + if not REC_STS: + REC_STS = True + rec_button.configure(bg = "red", text="STOP") + else: + REC_STS = False + rec_button.configure(bg = "SystemButtonFace", text="Record") + width, height = DISP_RES + f = asksaveasfilename(initialfile = 'screen.gif', defaultextension=".gif",filetypes=[("Animated GIF","*.gif")]) + if f == "": + REC_IMGS = [] + return + REC_IMGS = list(map(lambda buf: _buf_to_pillow(buf, width, height), REC_IMGS)) + REC_IMGS[0].save(f, save_all=True, append_images=REC_IMGS[1:], optimize=False, duration=34, loop=0) + REC_IMGS = [] + + +def ctl_btn_pressed(event): + global PRESS_STS + PRESS_STS |= event + +def ctl_btn_released(event): + global RELEASE_STS + RELEASE_STS |= event + +def tx_pkt(): + global PRESS_STS, RELEASE_STS, sock, IP, PORT + pkt = struct.pack("HII", 0x3939, PRESS_STS, RELEASE_STS) + PRESS_STS = 0 + RELEASE_STS = 0 + sock.sendto(pkt, (IP, PORT)) + rx_pkt() + +def rx_pkt(): + global sock, IP, PORT, DISP_STS, DISP_RES, REC_STS, REC_IMGS + try: + data, addrport = sock.recvfrom(255) + except TimeoutError: + return + if addrport[0] != IP or addrport[1] != PORT: + return + if data[0] != 0x88 or data[1] != 0x88: + print("Bad magic") + return + size = data[2:6:] + res = struct.unpack('HH', size) + if res != DISP_RES: + print("New resolution", res) + DISP_RES = res + if REC_STS: + REC_IMGS = [] + bitmap = data[6::] + DISP_STS = bitmap + if REC_STS: + REC_IMGS.append(bitmap) + +def send_packet_loop(): + while True: + tx_pkt() + time.sleep(0.033) + +def drawing(): + global DISP_RES, DISP_STS, window + _buf_to_screen(DISP_STS, DISP_RES[0], DISP_RES[1]) + window.after(33, drawing) + + +# Create the main window +window = tk.Tk() +window.title("PIS-OS Remote") +window.resizable(False, False) + +# Set window size +window.geometry("520x150") +window.grid_columnconfigure(0, weight=1, uniform="foo") +window.grid_columnconfigure(1, weight=1, uniform="foo") +window.grid_columnconfigure(2, weight=1, uniform="foo") +window.grid_columnconfigure(3, weight=1, uniform="foo") + +# Create the canvas +canvas = tk.Canvas(window, width=510, height=82, bg="black") +canvas.grid(row = 1, column = 0, columnspan=4) + +left_button = tk.Button(window, text="←") +left_button.grid(row = 2, column = 0) +left_button.bind("", lambda _: ctl_btn_pressed(4)) +left_button.bind("", lambda _: ctl_btn_released(4)) + +top_button = tk.Button(window, text="↑") +top_button.grid(row = 2, column = 1) +top_button.bind("", lambda _: ctl_btn_pressed(1)) +top_button.bind("", lambda _: ctl_btn_released(1)) + +bottom_button = tk.Button(window, text="↓") +bottom_button.grid(row = 2, column = 2) +bottom_button.bind("", lambda _: ctl_btn_pressed(2)) +bottom_button.bind("", lambda _: ctl_btn_released(2)) + +right_button = tk.Button(window, text="→") +right_button.grid(row = 2, column = 3) +right_button.bind("", lambda _: ctl_btn_pressed(8)) +right_button.bind("", lambda _: ctl_btn_released(8)) + +ss_button = tk.Button(window, text="Screenshot", command=render_screenshot) +ss_button.grid(row = 0, column = 0, columnspan = 2) + +rec_button = tk.Button(window, text="Record", command=rec_toggle) +rec_button.grid(row = 0, column = 2, columnspan = 2) + +# Start the background thread for sending packets +packet_thread = threading.Thread(target=send_packet_loop) +packet_thread.daemon = True +packet_thread.start() + +# Start the main event loop +window.after(33, drawing) +window.mainloop() diff --git a/include/device_config.h b/include/device_config.h index c87f160..08c3c96 100644 --- a/include/device_config.h +++ b/include/device_config.h @@ -13,6 +13,7 @@ #ifdef ESP32 #define HAS_BLUETOOTH_LE + #define HAS_BLUETOOTH_CLASSIC #endif #ifdef DEVICE_PLASMA_CLOCK @@ -26,7 +27,13 @@ // ---- DEPENDENCY RULES #if !HAS(BLUETOOTH_LE) #if HAS(SWITCHBOT_METER_INTEGRATION) - #undef HAS_SWITCHBOT_METER_INTEGRATION + #error Switchbot requires Bluetooth LE + #endif +#endif + +#if !HAS(BLUETOOTH_CLASSIC) + #if HAS(BALANCE_BOARD_INTEGRATION) + #error Balance Board requires Bluetooth Classic #endif #endif diff --git a/include/graphics/screenshooter.h b/include/graphics/screenshooter.h index 927e4ea..732cd5c 100644 --- a/include/graphics/screenshooter.h +++ b/include/graphics/screenshooter.h @@ -4,6 +4,12 @@ class Screenshooter { public: - Screenshooter(); - bool capture(FantaManipulator*, const uint8_t ** pngDataBufOut, size_t * pngDataLenOut); + Screenshooter(FantaManipulator *); + bool capture_png(const uint8_t ** pngDataBufOut, size_t * pngDataLenOut); + void start_server(uint16_t port); + void stop_server(); + +private: + TaskHandle_t hServerTask = NULL; + FantaManipulator * framebuffer = nullptr; }; \ No newline at end of file diff --git a/include/input/keys.h b/include/input/keys.h index dc24501..9fbe623 100644 --- a/include/input/keys.h +++ b/include/input/keys.h @@ -3,11 +3,11 @@ #include typedef enum key_id { - KEY_UP = (1<< 1), - KEY_DOWN = (1 << 2), - KEY_LEFT = (1 << 3), - KEY_RIGHT = (1 << 4), - KEY_HEADPAT = (1 << 5), + KEY_UP = (1 << 0), + KEY_DOWN = (1 << 1), + KEY_LEFT = (1 << 2), + KEY_RIGHT = (1 << 3), + KEY_HEADPAT = (1 << 4), KEY_MAX_INVALID = 0xFF } key_id_t; diff --git a/include/network/admin_panel.h b/include/network/admin_panel.h index eb933f5..50a9599 100644 --- a/include/network/admin_panel.h +++ b/include/network/admin_panel.h @@ -1,7 +1,7 @@ #pragma once #include #include -#include +#include /// Set up and start the web admin service. -void admin_panel_prepare(SensorPool*, Beeper*, FantaManipulator*); \ No newline at end of file +void admin_panel_prepare(SensorPool*, Beeper*, Screenshooter*); \ No newline at end of file diff --git a/include/service/prefs.h b/include/service/prefs.h index 262e468..60f38cc 100644 --- a/include/service/prefs.h +++ b/include/service/prefs.h @@ -83,6 +83,8 @@ static constexpr prefs_key_t PREFS_KEY_TIMER_MELODY = "timer_melo"; static constexpr prefs_key_t PREFS_KEY_BALANCE_BOARD_OFFSET = "bbrd_offs"; +static constexpr prefs_key_t PREFS_KEY_REMOTE_SERVER = "rc_svr"; + void prefs_force_save(); String prefs_get_string(prefs_key_t, String def = String()); diff --git a/src/app/menu.cpp b/src/app/menu.cpp index 053edca..dac64ab 100644 --- a/src/app/menu.cpp +++ b/src/app/menu.cpp @@ -100,7 +100,8 @@ AppShimMenu::AppShimMenu(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { normalActivationFunction )); display_menu->add_view(new MenuBooleanSettingView("FPS counter", PREFS_KEY_FPS_COUNTER)); - display_menu->add_view(new MenuBooleanSettingView("Weather effect", PREFS_KEY_WEATHER_OVERLAY)); + display_menu->add_view(new MenuBooleanSettingView("Weather effects", PREFS_KEY_WEATHER_OVERLAY)); + display_menu->add_view(new MenuBooleanSettingView("Remote Control Server", PREFS_KEY_REMOTE_SERVER)); display_menu->add_view(new MenuListSelectorPreferenceView( "WiFi signal", {"Off", "Disconnected", "Display power on", "Always"}, diff --git a/src/console.cpp b/src/console.cpp index a365a43..fdc5e1b 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -12,7 +12,6 @@ void ConsoleTaskFunction( void * pvParameter ) ESP_LOGV(LOG_TAG, "Running task"); Console * that = static_cast ( pvParameter ); - while(1) { that->task(); } @@ -170,13 +169,18 @@ void Console::set_font(const font_definition_t* f) { } void Console::set_active(bool act) { - active = act; if(act) { + if(hTask != NULL) vTaskResume(hTask); disp->wait_next_frame(); + } else { + flush(); + if(hTask != NULL) vTaskSuspend(hTask); } + active = act; } void Console::flush() { + if(!active) return; char * next_line = nullptr; while(xQueuePeek(hQueue, &next_line, 0)) { vTaskDelay(100); diff --git a/src/graphics/framebuffer.cpp b/src/graphics/framebuffer.cpp index a5f463c..cd791c8 100644 --- a/src/graphics/framebuffer.cpp +++ b/src/graphics/framebuffer.cpp @@ -3,7 +3,7 @@ #include #include -static const int DESIRED_FPS = 65; +static const int DESIRED_FPS = 60; #define EVT_BIT_ENDED_DRAWING (1 << 0) diff --git a/src/graphics/screenshooter.cpp b/src/graphics/screenshooter.cpp index 3a6a0a1..4867340 100644 --- a/src/graphics/screenshooter.cpp +++ b/src/graphics/screenshooter.cpp @@ -1,13 +1,126 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include static char LOG_TAG[] = "SCAP"; -Screenshooter::Screenshooter() { +#define SS_REQ_MAGIC 0x3939 +#define SS_RES_MAGIC 0x8888 + +typedef struct ss_server_req_pkt { + uint16_t magic; + key_id_t pressed; + key_id_t released; +} ss_server_req_pkt_t; + +typedef struct ss_server_res_pkt { + uint16_t magic; + uint16_t width; + uint16_t height; + uint8_t data[DisplayFramebuffer::BUFFER_SIZE]; +} ss_server_res_pkt_t; + +static uint16_t server_port = 0; +static int server_sock = 0; + +static void serverTaskFunc(void * pvFramebuffer) { + FantaManipulator *fb = static_cast ( pvFramebuffer ); + static const TickType_t BAIL_DELAY = pdMS_TO_TICKS(5000); + while(1) { + server_sock = socket(AF_INET, SOCK_DGRAM, 0); // Create UDP socket + if (server_sock < 0) { + ESP_LOGE(LOG_TAG, "Failed to create socket"); + vTaskDelay(BAIL_DELAY); + continue; + } + + struct sockaddr_in addr; + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = INADDR_ANY; + addr.sin_port = htons(server_port); + if (bind(server_sock, (struct sockaddr *)&addr, sizeof(addr)) < 0) { + ESP_LOGE(LOG_TAG, "Failed to bind socket"); + close(server_sock); + server_sock = 0; + vTaskDelay(BAIL_DELAY); + continue; + } + + struct sockaddr_in client_addr; + socklen_t client_addr_len = sizeof(client_addr); + ESP_LOGI(LOG_TAG, "Server up and running"); + while (1) { + ss_server_req_pkt_t req; + int bytes_read = recvfrom(server_sock, &req, sizeof(req), 0, (struct sockaddr *)&client_addr, &client_addr_len); + if (bytes_read < 0) { + ESP_LOGE(LOG_TAG, "Failed to receive request from client"); + continue; + } + + if (bytes_read != sizeof(req)) { + ESP_LOGE(LOG_TAG, "Incomplete request received, wanted %i bytes, got %i", sizeof(req), bytes_read); + continue; + } + + if (req.magic != SS_REQ_MAGIC) { + ESP_LOGE(LOG_TAG, "Invalid request magic, wanted 0x%x, got 0x%x", SS_REQ_MAGIC, req.magic); + continue; + } + + ESP_LOGI(LOG_TAG, "Got packet: magic 0x%x, pressed 0x%x, released 0x%x", req.magic, req.pressed, req.released); + + // Virtual keyboard handling + key_id_t mask = (key_id_t) 0; + for(int i = 0; i < sizeof(key_id_t) * 8; i++) { + mask = (key_id_t) (1 << i); + if(mask >= KEY_MAX_INVALID) break; + if((req.pressed & mask) != 0) { + ESP_LOGI(LOG_TAG, "PRESS 0x%x", mask); + hid_set_key_state((key_id_t) (req.pressed & mask), true); + } + if((req.released & mask) != 0) { + ESP_LOGI(LOG_TAG, "RELEASE 0x%x", mask); + hid_set_key_state((key_id_t) (req.released & mask), false); + } + } + + ss_server_res_pkt_t res; + res.magic = SS_RES_MAGIC; + res.width = fb->get_width(); + res.height = fb->get_height(); + // Capture and send the screen + if(!fb->lock()) { + ESP_LOGE(LOG_TAG, "Failed to lock framebuffer"); + continue; + } + memcpy(&res.data, fb->get_fanta(), DisplayFramebuffer::BUFFER_SIZE); + fb->unlock(); + + int bytes_sent = sendto(server_sock, &res, sizeof(res), 0, (struct sockaddr *)&client_addr, client_addr_len); + if (bytes_sent < 0) { + ESP_LOGE(LOG_TAG, "Failed to send response to client"); + continue; + } + } + + // Close the server socket + close(server_sock); + server_sock = 0; + } +} + +Screenshooter::Screenshooter(FantaManipulator * fb) { + framebuffer = fb; } -bool Screenshooter::capture(FantaManipulator * fb, const uint8_t **outBufAddr, size_t* outBufLen) { +bool Screenshooter::capture_png(const uint8_t **outBufAddr, size_t* outBufLen) { const size_t scratch_size = 4096; uint8_t * scratch = nullptr; uint8_t * line_scratch = nullptr; @@ -23,7 +136,7 @@ bool Screenshooter::capture(FantaManipulator * fb, const uint8_t **outBufAddr, s goto free_shit_and_bail; } - line_scratch = (uint8_t*) malloc(fb->get_width()); + line_scratch = (uint8_t*) malloc(framebuffer->get_width()); if(line_scratch == nullptr) { ESP_LOGE(LOG_TAG, "Failure when allocating line scratch buffer"); goto free_shit_and_bail; @@ -35,8 +148,8 @@ bool Screenshooter::capture(FantaManipulator * fb, const uint8_t **outBufAddr, s goto free_shit_and_bail; } - w = fb->get_width(); - h = fb->get_height(); + w = framebuffer->get_width(); + h = framebuffer->get_height(); rslt = encoder.encodeBegin(w, h, PNG_PIXEL_INDEXED, 8, ucPal, 3); if(rslt != PNG_SUCCESS) { @@ -44,12 +157,12 @@ bool Screenshooter::capture(FantaManipulator * fb, const uint8_t **outBufAddr, s goto free_shit_and_bail; } - if(!fb->lock()) { + if(!framebuffer->lock()) { ESP_LOGE(LOG_TAG, "Could not lock source buffer"); goto free_shit_and_bail; } - src_buf = (uint16_t*) fb->get_fanta(); + src_buf = (uint16_t*) framebuffer->get_fanta(); for(y = 0; y < h && rslt == PNG_SUCCESS; y++) { for(x = 0; x < w; x++) { @@ -58,7 +171,7 @@ bool Screenshooter::capture(FantaManipulator * fb, const uint8_t **outBufAddr, s rslt = encoder.addLine(line_scratch); } - fb->unlock(); + framebuffer->unlock(); if(rslt != PNG_SUCCESS) { ESP_LOGE(LOG_TAG, "Encoder failed"); @@ -83,4 +196,31 @@ bool Screenshooter::capture(FantaManipulator * fb, const uint8_t **outBufAddr, s if(line_scratch != nullptr) free(line_scratch); *outBufLen = 0; return false; -} \ No newline at end of file +} + +void Screenshooter::start_server(uint16_t port) { + if(hServerTask != NULL) { + ESP_LOGE(LOG_TAG, "Server already running!"); + return; + } + + server_port = port; + if(port == 0) return; + + xTaskCreate( + serverTaskFunc, + "VNC", + 2048, + framebuffer, + 3, + &hServerTask + ); +} + +void Screenshooter::stop_server() { + if(hServerTask != NULL) vTaskDelete(hServerTask); + if(server_sock != 0) { + close(server_sock); + server_sock = 0; + } +} diff --git a/src/main.cpp b/src/main.cpp index 968b581..c371607 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include @@ -45,7 +46,8 @@ static ViewCompositor * desktop; static ViewMultiplexor * appHost; static FpsCounter * fpsCounter; -IRAM_ATTR static DisplayFramebuffer * fb; +static DisplayFramebuffer * fb; +static Screenshooter * screenshooter; static FantaManipulator * graph; static Console * con; static SensorPool * sensors; @@ -171,7 +173,7 @@ void setup() { Serial.begin(115200); #ifdef BOARD_HAS_PSRAM - heap_caps_malloc_extmem_enable(0); + heap_caps_malloc_extmem_enable(16); #endif display_driver.reset(); @@ -184,6 +186,8 @@ void setup() { #endif fb = new DisplayFramebuffer(&display_driver); + screenshooter = new Screenshooter(fb->manipulate()); + con = new Console(&keyrus0808_font, fb); con->set_cursor(true); con->print(""); @@ -209,6 +213,11 @@ void setup() { } con->clear(); + if(prefs_get_bool(PREFS_KEY_REMOTE_SERVER)) { + screenshooter->start_server(3939); + con->print("RC server up!"); + delay(1000); + } con->print(NetworkManager::network_name()); con->print("%i dBm", NetworkManager::rssi()); delay(2000); @@ -234,7 +243,7 @@ void setup() { wotd_start(); foo_client_begin(); power_mgmt_start(sensors, &display_driver, beepola); - admin_panel_prepare(sensors, beepola, graph); + admin_panel_prepare(sensors, beepola, screenshooter); vTaskPrioritySet(NULL, configMAX_PRIORITIES - 1); diff --git a/src/network/admin_panel.cpp b/src/network/admin_panel.cpp index ace4d57..0ef3ad6 100644 --- a/src/network/admin_panel.cpp +++ b/src/network/admin_panel.cpp @@ -18,9 +18,7 @@ static TaskHandle_t hTask = NULL; static GyverPortal ui; static SensorPool *sensors; static Beeper *beeper; -static FantaManipulator *disp; - -Screenshooter screenshooter; +static Screenshooter *screenshooter; extern "C" void AdminTaskFunction( void * pvParameter ); @@ -490,6 +488,7 @@ static void build() { GP.BREAK(); GP.SPOILER_BEGIN("Administration", GP_BLUE); + render_bool("Remote control server", PREFS_KEY_REMOTE_SERVER); GP.BUTTON_DOWNLOAD("prefs_backup.bin", "Settings backup", GP_BLUE); GP.BUTTON_DOWNLOAD("crashdump.elf", "Last crash dump", GP_BLUE); GP.FILE_UPLOAD_RAW("prefs_restore", "Settings restore", GP_BLUE, "", "", "/prefs_restore"); @@ -599,7 +598,7 @@ void action() { else if(ui.uri().endsWith("screen.png")) { const uint8_t * outBuf = nullptr; size_t outLen = 0; - if(screenshooter.capture(disp, &outBuf, &outLen)) { + if(screenshooter->capture_png(&outBuf, &outLen)) { ui.server.send_P(200, png_mime, (const char*) outBuf, outLen); free((void*)outBuf); } else { @@ -611,10 +610,10 @@ void action() { bool prefs_uploading = false; -void admin_panel_prepare(SensorPool* s, Beeper* b, FantaManipulator * g) { +void admin_panel_prepare(SensorPool* s, Beeper* b, Screenshooter * ss) { sensors = s; beeper = b; - disp = g; + screenshooter = ss; ui.attachBuild(build); ui.attach(action); ui.downloadAuto(false); From 5552130b299e0f790407e588af57a62cdc240ae3 Mon Sep 17 00:00:00 2001 From: akasaka Date: Sat, 27 Jul 2024 12:50:28 +0900 Subject: [PATCH 09/26] Github stops all gifs so inline the alarm one too --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7cf094b..fdc7cba 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,9 @@ You can also read the quest I went through trying to get it to run "in real time ![](docs/img/app/alarm_pretty.png) ![](docs/img/app/alarm2_pretty.png) - [Alarm Animation](docs/img/app/alarm.gif) *(blinking lights warning!)* + ![](docs/img/app/alarm.gif) + + *(blinking lights warning!)* * Weighing Scale (via Wii Balance Board) * Settings From 57de83c818ab1f1cf5c01dc0b45e120f487b1f44 Mon Sep 17 00:00:00 2001 From: akasaka Date: Sat, 27 Jul 2024 13:48:06 +0900 Subject: [PATCH 10/26] Use less constantly allocated memory for Screenshooter, ver bump --- README.md | 1 + helper/chimes/ark.mid | Bin 0 -> 1116 bytes helper/remote-control.py | 9 +- include/devices/big_clock.h | 2 +- include/devices/smol_clock.h | 2 +- platformio.ini | 2 +- src/graphics/screenshooter.cpp | 32 +++++-- src/service/wordnik.cpp | 5 +- src/sound/melodies.cpp | 165 ++++++++++++++++++++++++++++++++- 9 files changed, 200 insertions(+), 18 deletions(-) create mode 100644 helper/chimes/ark.mid diff --git a/README.md b/README.md index fdc7cba..bbf1a6a 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ You can also read the quest I went through trying to get it to run "in real time * [deadballP — 永遠に続く五線譜](https://www.youtube.com/watch?v=p1sh68qk4Nk): [MIDI](helper/chimes/towa.mid) * [Cream puff — Mermaid girl](https://youtu.be/AaUMvgfHpUo?t=16): [MIDI](helper/chimes/mermgrl.mid) * [Brisk & Trixxy — Eye Opener](https://youtu.be/81QqHUpyBhg?t=83): [MIDI](helper/chimes/eye_opener.mid) +* [Hiroyuki Oshima - The Ark Awakes From The Sea Of Chaos](https://www.youtube.com/watch?app=desktop&v=cB7eevDk1s0): [MIDI](helper/chimes/ark.mid) MIDI to sequencer conversion tool (supports note events in one track only, track end event, and comment event): [midi_to_chime](helper/midi_to_chime.py) diff --git a/helper/chimes/ark.mid b/helper/chimes/ark.mid new file mode 100644 index 0000000000000000000000000000000000000000..e90ae190facfde542060bfa21dc5d1504e7c8881 GIT binary patch literal 1116 zcmdT@-)qxQ6h5wV$bAz;d@AD87=zL@ly$k6gpiWG3{>_oi$X22sa&k9?XtV9F2wx< z{y+Y4^*bk32fp~~TkbvQJKv9Ub9y$*h-i-<&|`9^XJ0H%ZQ8VmHm_QHKh9}$zPr2g z>=A9=>=50JHyvuaTJP$M?`EY9QTR!RL{Xt5qPVJG$21BG9T1s?lpU813Wi4JTCSFY zD7Oed27Jwjuo#8Z4y*z?t>!7wkyS@TNmZXDH0n-N7o%1lSbJ|(kGVYz_cP_Q0uLkl zR`o^433PNa)gcNB5A(WX0WSnR6|iG)*UCK@4AoB$->XBgEr72l@|4I4wJhrg-e^$F>}P5Y(B63hpozG5fASR9VoPrBI0 z)WK8@&@<(pq1#6!jo^kksWK=X3o2EYneGfpx(!tLl*HE9V0 else "black")) + canvas.create_rectangle(x * PIX_SIZE + left_offset, y * PIX_SIZE + top_offset, x * PIX_SIZE+PIX_SIZE + left_offset, y * PIX_SIZE+PIX_SIZE + top_offset, fill=("white" if v>0 else "black")) def render_screenshot(): global DISP_STS, DISP_RES @@ -143,7 +146,7 @@ def drawing(): window.grid_columnconfigure(3, weight=1, uniform="foo") # Create the canvas -canvas = tk.Canvas(window, width=510, height=82, bg="black") +canvas = tk.Canvas(window, width=CANVAS_RES[0], height=CANVAS_RES[1], bg="black") canvas.grid(row = 1, column = 0, columnspan=4) left_button = tk.Button(window, text="←") diff --git a/include/devices/big_clock.h b/include/devices/big_clock.h index 7697629..c6579bc 100644 --- a/include/devices/big_clock.h +++ b/include/devices/big_clock.h @@ -12,7 +12,7 @@ // Plasma Information System OS (not DOS, there's no disk in it!) #define PRODUCT_NAME "PIS-OS" -#define PRODUCT_VERSION "2.2" +#define PRODUCT_VERSION "2.3" // ---- Connection to DISP BOARD ---- const gpio_num_t HWCONF_PLASMA_DATABUS_GPIOS[] = { diff --git a/include/devices/smol_clock.h b/include/devices/smol_clock.h index 5f3ddea..9e3c7d1 100644 --- a/include/devices/smol_clock.h +++ b/include/devices/smol_clock.h @@ -9,7 +9,7 @@ // Plasma Information System OS (not DOS, there's no disk in it!) #define PRODUCT_NAME "microPIS-OS" -#define PRODUCT_VERSION "2.2" +#define PRODUCT_VERSION "2.3" // ---- Connection to beeper ---- const gpio_num_t HWCONF_BEEPER_GPIO = GPIO_NUM_12; diff --git a/platformio.ini b/platformio.ini index 0e25259..d9bfaa6 100644 --- a/platformio.ini +++ b/platformio.ini @@ -47,7 +47,7 @@ upload_flags = --auth=plasma-otafvu [env:smolclock-nodemcu-32s] board = esp32dev -build_flags = -DDEVICE_MICROPISOS ${common.build_flags} -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue +build_flags = -DDEVICE_MICROPISOS ${common.build_flags} -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -DCONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY upload_speed = 921600 monitor_speed = 115200 monitor_filters = esp32_exception_decoder \ No newline at end of file diff --git a/src/graphics/screenshooter.cpp b/src/graphics/screenshooter.cpp index 4867340..33cb363 100644 --- a/src/graphics/screenshooter.cpp +++ b/src/graphics/screenshooter.cpp @@ -11,6 +11,16 @@ static char LOG_TAG[] = "SCAP"; +// Why PNGEnc won't expose this more memory-saving API by default I don't know + +extern int PNG_openRAM(PNGIMAGE *pPNG, uint8_t *pData, int iDataSize); +extern int PNG_close(PNGIMAGE *pPNG); +extern int PNG_encodeBegin(PNGIMAGE *pPNG, int iWidth, int iHeight, uint8_t ucPixelType, uint8_t ucBpp, uint8_t *pPalette, uint8_t ucCompLevel); +extern void PNG_encodeEnd(PNGIMAGE *pPNG); +extern int PNG_addLine(PNGIMAGE *, uint8_t *pPixels, int y); +extern int PNG_setTransparentColor(PNGIMAGE *pPNG, uint32_t u32Color); +extern int PNG_setAlphaPalette(PNGIMAGE *pPNG, uint8_t *pPalette); + #define SS_REQ_MAGIC 0x3939 #define SS_RES_MAGIC 0x8888 @@ -126,23 +136,29 @@ bool Screenshooter::capture_png(const uint8_t **outBufAddr, size_t* outBufLen) { uint8_t * line_scratch = nullptr; uint16_t * src_buf; static uint8_t ucPal[768] = {0,0,0,255,255,255}; - static PNG encoder; int rslt, y, x, w, h; size_t dataLen; + PNGIMAGE * tmp; + + tmp = (PNGIMAGE*) ps_malloc(sizeof(PNGIMAGE)); + if(tmp == nullptr) { + ESP_LOGE(LOG_TAG, "Failed to allocate PNGIMAGE"); + goto free_shit_and_bail; + } - scratch = (uint8_t*) malloc(scratch_size); // not gralloc here as this won't be rendered! + scratch = (uint8_t*) ps_malloc(scratch_size); // not gralloc here as this won't be rendered! if(scratch == nullptr) { ESP_LOGE(LOG_TAG, "Failure when allocating PNG scratch buffer"); goto free_shit_and_bail; } - line_scratch = (uint8_t*) malloc(framebuffer->get_width()); + line_scratch = (uint8_t*) ps_malloc(framebuffer->get_width()); if(line_scratch == nullptr) { ESP_LOGE(LOG_TAG, "Failure when allocating line scratch buffer"); goto free_shit_and_bail; } - rslt = encoder.open(scratch, scratch_size); + rslt = PNG_openRAM(tmp, scratch, scratch_size); if(rslt != PNG_SUCCESS) { ESP_LOGE(LOG_TAG, "Error %i initializing PNG encoder", rslt); goto free_shit_and_bail; @@ -151,7 +167,7 @@ bool Screenshooter::capture_png(const uint8_t **outBufAddr, size_t* outBufLen) { w = framebuffer->get_width(); h = framebuffer->get_height(); - rslt = encoder.encodeBegin(w, h, PNG_PIXEL_INDEXED, 8, ucPal, 3); + rslt = PNG_encodeBegin(tmp, w, h, PNG_PIXEL_INDEXED, 8, ucPal, 3); if(rslt != PNG_SUCCESS) { ESP_LOGE(LOG_TAG, "Error %i initializing PNG encoder", rslt); goto free_shit_and_bail; @@ -168,7 +184,7 @@ bool Screenshooter::capture_png(const uint8_t **outBufAddr, size_t* outBufLen) { for(x = 0; x < w; x++) { line_scratch[x] = ((src_buf[x] & (1 << y)) != 0) ? 1 : 0; } - rslt = encoder.addLine(line_scratch); + rslt = PNG_addLine(tmp, line_scratch, y); } framebuffer->unlock(); @@ -178,7 +194,7 @@ bool Screenshooter::capture_png(const uint8_t **outBufAddr, size_t* outBufLen) { goto free_shit_and_bail; } - dataLen = encoder.close(); + dataLen = PNG_close(tmp); ESP_LOGI(LOG_TAG, "Encoded %i bytes", dataLen); if(dataLen < scratch_size) { @@ -188,12 +204,14 @@ bool Screenshooter::capture_png(const uint8_t **outBufAddr, size_t* outBufLen) { *outBufAddr = scratch; *outBufLen = dataLen; free(line_scratch); + free(tmp); return true; free_shit_and_bail: if(scratch != nullptr) free(scratch); if(line_scratch != nullptr) free(line_scratch); + if(tmp != nullptr) free(tmp); *outBufLen = 0; return false; } diff --git a/src/service/wordnik.cpp b/src/service/wordnik.cpp index 3ae9afd..fc7080a 100644 --- a/src/service/wordnik.cpp +++ b/src/service/wordnik.cpp @@ -46,9 +46,6 @@ void WordnikTaskFunction( void * pvParameter ) EXT_RAM_ATTR static WiFiClientSecure client; EXT_RAM_ATTR static HTTPClient http; -#ifdef BOARD_HAS_PSRAM - mbedtls_platform_set_calloc_free(ps_calloc, free); -#endif EXT_RAM_ATTR static char url[128]; snprintf(url, 150, currentApi, apiKey.c_str()); @@ -61,7 +58,7 @@ void WordnikTaskFunction( void * pvParameter ) ESP_LOGV(LOG_TAG, "Query: %s", url); int response = http.GET(); if(response == 200) { - EXT_RAM_ATTR JsonDocument response; + EXT_RAM_ATTR static JsonDocument response; DeserializationError error = deserializeJson(response, http.getStream()); diff --git a/src/sound/melodies.cpp b/src/sound/melodies.cpp index 4839ffb..07a81c5 100644 --- a/src/sound/melodies.cpp +++ b/src/sound/melodies.cpp @@ -2058,6 +2058,167 @@ static const melody_item_t eye_opener_data[] = { }; const melody_sequence_t eye_opener = MELODY_OF(eye_opener_data); +static const melody_item_t ark_data[] = { + {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + + {880, 220}, + {987, 220}, + {1046, 220}, + {1174, 772}, + {0, 330}, + {783, 220}, + {880, 220}, + {987, 220}, + {880, 772}, + {0, 330}, + {880, 220}, + {987, 220}, + {1046, 220}, + {1174, 661}, + {1046, 220}, + {987, 330}, + {0, 110}, + {783, 36}, + {1567, 404}, + {659, 36}, + {1318, 735}, + {0, 330}, + {440, 36}, + {880, 183}, + {493, 36}, + {987, 183}, + {523, 36}, + {1046, 183}, + {587, 36}, + {1174, 735}, + {0, 330}, + {391, 36}, + {783, 183}, + {440, 36}, + {880, 183}, + {493, 36}, + {987, 183}, + {440, 36}, + {880, 735}, + {0, 551}, + {329, 36}, + {659, 183}, + {391, 36}, + {783, 183}, + {440, 36}, + {880, 1066}, + {0, 882}, + {493, 36}, + {987, 772}, + {0, 73}, + + {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, + {1046, 441}, + {1174, 441}, + {1318, 441}, + {659, 220}, + {1046, 441}, + {1567, 220}, + {1396, 220}, + {1318, 441}, + {1174, 661}, + {783, 36}, + {987, 404}, + {880, 36}, + {1046, 404}, + {987, 36}, + {1174, 404}, + {880, 220}, + {830, 441}, + {1396, 220}, + {1318, 220}, + {1174, 441}, + {1046, 661}, + {880, 441}, + {987, 441}, + {659, 36}, + {880, 36}, + {1046, 588}, + {1318, 36}, + {1567, 404}, + {0, 220}, + {1318, 36}, + {1567, 404}, + {1046, 441}, + {783, 220}, + {1567, 441}, + {0, 183}, + {783, 36}, + {1567, 441}, + {1174, 441}, + {739, 220}, + {1046, 661}, + {1174, 441}, + {1318, 661}, + {0, 220}, + {1046, 441}, + {1174, 441}, + {1318, 441}, + {523, 220}, + {880, 36}, + {1046, 404}, + {783, 36}, + {987, 36}, + {1567, 147}, + {698, 36}, + {880, 36}, + {1396, 147}, + {659, 36}, + {783, 36}, + {1318, 367}, + {698, 36}, + {1174, 624}, + {493, 36}, + {987, 404}, + {523, 36}, + {1046, 404}, + {587, 36}, + {1174, 404}, + {880, 220}, + {830, 441}, + {1396, 220}, + {1318, 220}, + {1174, 441}, + {1046, 661}, + {440, 36}, + {880, 404}, + {493, 36}, + {987, 404}, + {659, 36}, + {1046, 624}, + {783, 36}, + {1567, 404}, + {0, 220}, + {783, 36}, + {1567, 404}, + {523, 36}, + {1046, 624}, + {783, 36}, + {1567, 404}, + {0, 220}, + {783, 36}, + {1567, 404}, + {1396, 441}, + {698, 220}, + {1318, 441}, + {659, 110}, + {987, 110}, + {1174, 441}, + {1046, 294}, + {0, 36}, + {830, 110}, + {523, 220}, + {987, 661}, + {830, 441}, + {880, 1764}, +}; +const melody_sequence_t ark = MELODY_OF(ark_data); + const melody_sequence_t all_chime_list[] = { just_beep, pc98_pipo, @@ -2082,10 +2243,11 @@ const melody_sequence_t all_chime_list[] = { towa, mermgirl, eye_opener, + ark, }; const int all_chime_count = sizeof(all_chime_list)/sizeof(melody_sequence_t); -const char * all_chime_names_csv = "Just Beep,PC-98 Boot,Русь 28,Штрих-М,A.M. - Arise,Caramelldansen,BoA - Duvet,T-Square - Truth,Haruhi no Omoi,WAVE & DRAX - When Present Is Past,Hishoku no Sora,Bouken Desho Desho,Gentle Jena,Omega - Gammapolisz,Like The Wind (TMMS),NightRadio - Waiting Freqs,NightRadio - The Way,Dougal & Gammer - Guitar Hero,Hachiya Nanashi - Shabon,Gate Of Steiner,deadballP - Towa ni tsuzuku gosenfu,Cream puff - Mermaid girl,Brisk & Trixxy - Eye Opener,Random"; +const char * all_chime_names_csv = "Just Beep,PC-98 Boot,Русь 28,Штрих-М,A.M. - Arise,Caramelldansen,BoA - Duvet,T-Square - Truth,Haruhi no Omoi,WAVE & DRAX - When Present Is Past,Hishoku no Sora,Bouken Desho Desho,Gentle Jena,Omega - Gammapolisz,Like The Wind (TMMS),NightRadio - Waiting Freqs,NightRadio - The Way,Dougal & Gammer - Guitar Hero,Hachiya Nanashi - Shabon,Gate Of Steiner,deadballP - Towa ni tsuzuku gosenfu,Cream puff - Mermaid girl,Brisk & Trixxy - Eye Opener,Hiroyuki Oshima - The Ark Awakes From The Sea Of Chaos,Random"; const std::vector all_chime_names = { "Beep", "PC-98 Boot", @@ -2110,5 +2272,6 @@ const std::vector all_chime_names = { "Towa ni tsuzuku gosenfu", "Mermaid girl", "Eye Opener", + "The Ark Awakes From The Sea Of Chaos", "(Randomize)" }; \ No newline at end of file From 292ac6e2a3e0a9fa772e28e9e319fb44c1fe3ad2 Mon Sep 17 00:00:00 2001 From: akasaka Date: Sat, 27 Jul 2024 13:50:12 +0900 Subject: [PATCH 11/26] Video not showing in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bbf1a6a..3ff8d92 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ There is a remote control server you can enable in settings for debugging remote Also included is a [primitive client](helper/remote-control.py) that has pretty poor performance, but allows recording GIFs and taking screenshots. All of the screenshots and GIFs in this readme were made that way. -![](docs/img/pisosremote.mp4) + ### Usage From 50cd74f18ed347d48b4a50d071a891bfab4840da Mon Sep 17 00:00:00 2001 From: Akasaka Ryuunosuke Date: Sat, 27 Jul 2024 13:51:52 +0900 Subject: [PATCH 12/26] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3ff8d92..110112d 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ There is a remote control server you can enable in settings for debugging remote Also included is a [primitive client](helper/remote-control.py) that has pretty poor performance, but allows recording GIFs and taking screenshots. All of the screenshots and GIFs in this readme were made that way. - +https://github.com/user-attachments/assets/b1d1ee7e-b5f3-4800-a475-d44ae876bf7e ### Usage @@ -206,4 +206,4 @@ The basic configuration without any bluetooth functionality (no Switchbot or Bal ---- -by Genjitsu Labs / akasaka, 2024. \ No newline at end of file +by Genjitsu Labs / akasaka, 2024. From e7926f5f2acfb3a7bad2310b67e1ce492815ebb8 Mon Sep 17 00:00:00 2001 From: akasaka Date: Sat, 27 Jul 2024 14:03:13 +0900 Subject: [PATCH 13/26] Add weighing app screenshot --- README.md | 2 ++ docs/img/app/weighing.gif | Bin 0 -> 12247 bytes 2 files changed, 2 insertions(+) create mode 100644 docs/img/app/weighing.gif diff --git a/README.md b/README.md index 110112d..79b8c9d 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,8 @@ You can also read the quest I went through trying to get it to run "in real time *(blinking lights warning!)* * Weighing Scale (via Wii Balance Board) + + ![](docs/img/app/weighing.gif) * Settings ![](docs/img/app/settings.gif) diff --git a/docs/img/app/weighing.gif b/docs/img/app/weighing.gif new file mode 100644 index 0000000000000000000000000000000000000000..b2c5d10e34ab8c72433d924fdf92eb85306180cb GIT binary patch literal 12247 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 Date: Mon, 29 Jul 2024 22:59:42 +0900 Subject: [PATCH 14/26] some experiments to make a polyphonyc sound driver --- src/thing.cpp | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 src/thing.cpp diff --git a/src/thing.cpp b/src/thing.cpp new file mode 100644 index 0000000..c32e93d --- /dev/null +++ b/src/thing.cpp @@ -0,0 +1,156 @@ +#include +#include +#include +static char LOG_TAG[] = "ASS"; + +/// Interface config of SPI device +spi_device_interface_config_t if_cfg; +/// Interface config of SPI bus +spi_bus_config_t bus_cfg; +/// SPI device handle +spi_device_handle_t handle; + +/// Select SPI driver host (either HSPI or VSPI should work) +spi_host_device_t host {VSPI_HOST}; +/// Select SPI driver mode (we only use MOSI pin so don't really care) +uint8_t mode {SPI_MODE3}; +/// Select DMA channel of SPI, must be 1 or 2 +int dma_chan {1}; +/// Select max DMA buffer size in BYTES +int max_size {8192}; +/// Select SPI baud rate +uint32_t baud {400000}; +/// DMA buffer +void* dma_buffer; + +const int nyquist = baud / 2; + +static void freq_to_buff(uint16_t freq, int soffs = 0, int len = max_size) { + if(freq > nyquist) { + ESP_LOGE(LOG_TAG, "Cannot %i hz!", freq); + return; + } + + // 2khz = 1010101010 (change bit every bit) + // 1khz = 1100110011 (change every 2 bits) + // 500 hz = 111000111000 (every 3 bits) + // adding 1 bit halves the frequency + + int bits_per_half_wavelength = (baud / freq) / 2; + ESP_LOGI(LOG_TAG, "bits per half wave = %i", bits_per_half_wavelength); + + uint32_t bit_number = 0; + uint8_t * buff = (uint8_t*) dma_buffer; + bool bit_state = true; + for(int i = soffs; i < len; i++) { + if(bits_per_half_wavelength - bit_number > 8) { + buff[i] = bit_state ? 0xFF : 0x00; + bit_number += 8; + if(bit_number >= bits_per_half_wavelength) { + bit_number -= bits_per_half_wavelength; + bit_state = !bit_state; + } + } else + for(int j = 0; j < 8; j++) { + bit_number++; + if(bit_state) { + buff[i] |= (1 << j); + } + if(bit_number >= bits_per_half_wavelength) { + bit_number -= bits_per_half_wavelength; + bit_state = !bit_state; + } + } + } + ESP_LOGI(LOG_TAG,"[0] = %x, [1] = %x", buff[0], buff[1]); +} + + +static void oelutz() { + ESP_LOGI(LOG_TAG, "oelu"); + esp_err_t e; + // Begin an SPI transaction + spi_transaction_t t; + t.flags = 0; // no flags + t.length = 8 * max_size; // set Tx size in bits + t.tx_buffer = dma_buffer; // Tx from DMA buffer + t.rx_buffer = nullptr; // Rx to nowhere + t.rxlength = 0; // don't Rx at all + + // Request exclusive SPI access for timing precision + e = spi_device_acquire_bus(handle, portMAX_DELAY); + if (e != ESP_OK) { + ESP_LOGE(LOG_TAG, "[ERROR] SPI device lock failed : %d\n", e); + } + + // Send data over SPI interface + e = spi_device_transmit(handle, &t); + if (e != ESP_OK) { + ESP_LOGE(LOG_TAG, "[ERROR] SPI device transmit failed : %d\n", e); + } else { + ESP_LOGV(LOG_TAG, "SPI sent %d bytes", got_size); + } + + // Release exclusive access of SPI bus + spi_device_release_bus(handle); +} + +void ass() { + // Use MOSI at pager pin, don't use other pins + bus_cfg.sclk_io_num = -1; + bus_cfg.miso_io_num = -1; + bus_cfg.mosi_io_num = HWCONF_BEEPER_GPIO; + if_cfg.spics_io_num = -1; //<- CS pin is selected at interface level + + // Set max transfer size in bytes + bus_cfg.max_transfer_sz = max_size; + + // Suitable configuration found experimentally + if_cfg.mode = mode; + if_cfg.clock_speed_hz = baud; + if_cfg.queue_size = 1; + if_cfg.flags = SPI_DEVICE_NO_DUMMY; + if_cfg.pre_cb = NULL; + if_cfg.post_cb = NULL; + if_cfg.dummy_bits = 0; + if_cfg.command_bits = 0; + if_cfg.address_bits = 0; + + // Open the SPI bus and configure + esp_err_t e = spi_bus_initialize(host, &bus_cfg, dma_chan); + if (e != ESP_OK) { + ESP_LOGE(LOG_TAG, "[ERROR] SPI bus initialize failed : %d\n", e); + } + + // Set a handle on the SPI bus + e = spi_bus_add_device(host, &if_cfg, &handle); + if (e != ESP_OK) { + ESP_LOGE(LOG_TAG, "[ERROR] SPI bus add device failed : %d\n", e); + } + + // Make a DMA buffer for the messages output + dma_buffer = heap_caps_calloc(1, max_size, MALLOC_CAP_DMA); + + while(1) { + memset(dma_buffer, 0, max_size); + freq_to_buff(523); + oelutz(); + vTaskDelay(pdMS_TO_TICKS(250)); + + memset(dma_buffer, 0, max_size); + freq_to_buff(587); + oelutz(); + vTaskDelay(pdMS_TO_TICKS(250)); + + memset(dma_buffer, 0, max_size); + freq_to_buff(698); + oelutz(); + vTaskDelay(pdMS_TO_TICKS(500)); + + memset(dma_buffer, 0, max_size); + freq_to_buff(523); + freq_to_buff(2200); + oelutz(); + vTaskDelay(pdMS_TO_TICKS(1000)); + } +} \ No newline at end of file From bb678be99083fae1e6b8f8cab6fdd7fc1ad6bc5f Mon Sep 17 00:00:00 2001 From: akasaka Date: Wed, 31 Jul 2024 15:16:19 +0900 Subject: [PATCH 15/26] kinda grungy PoC using SPI driver --- include/device_config.h | 2 +- include/display/md_plasma.h | 3 +- include/display/ws0010.h | 2 +- include/graphics/display_driver.h | 1 + include/sound/beeper.h | 14 +- src/display/md_plasma.cpp | 2 - src/display/ws0010.cpp | 3 +- src/main.cpp | 17 +- src/sound/beeper.cpp | 286 ++++++++++++++++++++++++++---- src/sound/sequencer.cpp | 2 +- src/thing.cpp | 156 ---------------- 11 files changed, 282 insertions(+), 206 deletions(-) delete mode 100644 src/thing.cpp diff --git a/include/device_config.h b/include/device_config.h index 08c3c96..53be4e3 100644 --- a/include/device_config.h +++ b/include/device_config.h @@ -7,7 +7,7 @@ #define HAS_WORDNIK_API // #define HAS_OTAFVU // #define HAS_SWITCHBOT_METER_INTEGRATION -#define HAS_BALANCE_BOARD_INTEGRATION +// #define HAS_BALANCE_BOARD_INTEGRATION // ---- HARDWARE diff --git a/include/display/md_plasma.h b/include/display/md_plasma.h index 163bf9b..f8106ed 100644 --- a/include/display/md_plasma.h +++ b/include/display/md_plasma.h @@ -23,6 +23,8 @@ class MorioDenkiPlasmaDriver: public DisplayDriver { const gpio_num_t blanking, const gpio_num_t hv_enable ); + + void initialize(); /// @brief Reset the display controller void reset(); @@ -44,7 +46,6 @@ class MorioDenkiPlasmaDriver: public DisplayDriver { gpio_num_t bright_gpio; gpio_num_t show_gpio; gpio_num_t hv_en_gpio; - void initialize(); inline void set_databus(uint8_t data); inline void pulse_clock(); /// @brief Send a half-column to the display controller diff --git a/include/display/ws0010.h b/include/display/ws0010.h index d1658ca..c72df49 100644 --- a/include/display/ws0010.h +++ b/include/display/ws0010.h @@ -17,6 +17,7 @@ class Ws0010OledDriver: public DisplayDriver { const gpio_num_t en ); + void initialize(); /// @brief Reset the display controller void reset(); void clear(); @@ -41,7 +42,6 @@ class Ws0010OledDriver: public DisplayDriver { bool is_writing_ddram; uint8_t ddram_ptr; - void initialize(); inline void set_databus(uint8_t data); inline void set_is_command(bool); inline void pulse_clock(); diff --git a/include/graphics/display_driver.h b/include/graphics/display_driver.h index 22c3346..948cc7b 100644 --- a/include/graphics/display_driver.h +++ b/include/graphics/display_driver.h @@ -3,6 +3,7 @@ class DisplayDriver { public: + virtual void initialize(); /// @brief Reset the display controller virtual void reset(); /// @brief Send an array of half-columns to the display controller diff --git a/include/sound/beeper.h b/include/sound/beeper.h index bdc7b8b..3534488 100644 --- a/include/sound/beeper.h +++ b/include/sound/beeper.h @@ -15,11 +15,18 @@ typedef enum beeper_channels { CHANNEL_SYSTEM = 7 } beeper_channel_t; -static const uint16_t DUTY_SQUARE = 0x1FF; +static const uint16_t DUTY_SQUARE = 2; + +class Synthesizerish { +public: + virtual size_t fill_buffer(void* buffer, size_t length) { return 0; } +}; class Beeper { public: - Beeper(gpio_num_t pin, uint8_t ledcChannel); + static void InitSPI(gpio_num_t pin); + Beeper(); + ~Beeper(); void set_channel_state(beeper_channel_t, bool); bool is_channel_enabled(beeper_channel_t); @@ -29,7 +36,8 @@ class Beeper { /// @brief Play a tone for a precise amount of milliseconds. Blocks the whole tasks and might block neighboring tasks, so use sparingly. void beep_blocking(beeper_channel_t, uint freq, uint len, uint16_t duty = DUTY_SQUARE); private: + class Buzzer; + Buzzer * fallback_synthesizer; uint8_t channel_status; int active_channel; - uint8_t pwm_channel; }; \ No newline at end of file diff --git a/src/display/md_plasma.cpp b/src/display/md_plasma.cpp index 8cd7f4a..08e1604 100644 --- a/src/display/md_plasma.cpp +++ b/src/display/md_plasma.cpp @@ -25,8 +25,6 @@ MorioDenkiPlasmaDriver::MorioDenkiPlasmaDriver( bright_gpio = bright; show_gpio = show; hv_en_gpio = hv_enable; - - initialize(); } void MorioDenkiPlasmaDriver::initialize() { diff --git a/src/display/ws0010.cpp b/src/display/ws0010.cpp index 13b6404..aec1805 100644 --- a/src/display/ws0010.cpp +++ b/src/display/ws0010.cpp @@ -21,11 +21,10 @@ Ws0010OledDriver::Ws0010OledDriver( en_gpio = en; is_writing_ddram = false; ddram_ptr = 0; - - initialize(); } void Ws0010OledDriver::initialize() { + // TODO use parlio? ESP_LOGI(LOG_TAG, "Initializing Winstar WS0010 OLED bus with data bus: %i %i %i %i %i %i %i %i, rs=%i, en=%i", databus_gpios[0], databus_gpios[1], databus_gpios[2], databus_gpios[3], databus_gpios[4], databus_gpios[5], databus_gpios[6], databus_gpios[7], rs_gpio, en_gpio); gpio_config_t io_conf = { diff --git a/src/main.cpp b/src/main.cpp index c371607..ab40aea 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -169,13 +169,17 @@ void bringup_hid() { } void setup() { + vTaskPrioritySet(NULL, configMAX_PRIORITIES - 2); // Set up serial for logs Serial.begin(115200); - #ifdef BOARD_HAS_PSRAM heap_caps_malloc_extmem_enable(16); #endif + // The SPI driver messes up display pinmux, so it must initialize first + Beeper::InitSPI(HWCONF_BEEPER_GPIO); + + display_driver.initialize(); display_driver.reset(); display_driver.set_power(true); @@ -193,8 +197,13 @@ void setup() { con->print(""); con->print(PRODUCT_NAME " v" PRODUCT_VERSION); - delay(500); - beepola = new Beeper(HWCONF_BEEPER_GPIO, HWCONF_BEEPER_PWM_CHANNEL); + beepola = new Beeper(); + // while(1){ + // beepola->start_tone(CHANNEL_SYSTEM, 440); + // delay(500); + // beepola->stop_tone(CHANNEL_SYSTEM); + // delay(500); + // } bs = new BeepSequencer(beepola); bs->play_sequence(pc98_pipo, CHANNEL_SYSTEM, SEQUENCER_NO_REPEAT); @@ -245,8 +254,6 @@ void setup() { power_mgmt_start(sensors, &display_driver, beepola); admin_panel_prepare(sensors, beepola, screenshooter); - vTaskPrioritySet(NULL, configMAX_PRIORITIES - 1); - con->set_active(false); fb->clear(); diff --git a/src/sound/beeper.cpp b/src/sound/beeper.cpp index f4c0989..8a6d29e 100644 --- a/src/sound/beeper.cpp +++ b/src/sound/beeper.cpp @@ -1,43 +1,251 @@ #include -#include -#include - -static void ledcWriteToneD(uint8_t chan, uint32_t freq, uint32_t duty) -{ - if(!freq){ - ledcWrite(chan, 0); - return; +#include +#include +#include +#include + +static char LOG_TAG[] = "BOOP"; + + +TaskHandle_t hTask = NULL; +static bool spiInited = false; +/// Interface config of SPI device +static spi_device_interface_config_t if_cfg; +/// Interface config of SPI bus +static spi_bus_config_t bus_cfg; +/// SPI device handle +static spi_device_handle_t handle; + +static spi_host_device_t host {SPI3_HOST}; +static uint8_t mode {SPI_MODE3}; +static int dma_chan {2}; +static const int max_size {256}; +static uint32_t baud {400000}; +#define BUFFERS 8 +static Synthesizerish *synth = nullptr; + +static uint8_t* dma; +static RingbufHandle_t ringbuf; +static StaticRingbuffer_t _ringbuf { 0 }; + +const int nyquist = baud / 2; + + +inline void output_buffer(void* buf, size_t len) { + // Begin an SPI transaction + static spi_transaction_t t { 0 }; + t.length = 8 * len; // set Tx size in bits + t.tx_buffer = buf; // Tx from DMA buffer + t.rxlength = 0; + + // Send data over SPI interface + spi_device_polling_transmit(handle, &t); +} + +static void output_task(void*) { + esp_err_t e = spi_device_acquire_bus(handle, portMAX_DELAY); + if (e != ESP_OK) { + ESP_LOGE(LOG_TAG, "[ERROR] SPI device lock failed : %d\n", e); + } + + uint8_t * chunk = NULL; + size_t len; + while(1) { + chunk = (uint8_t*) xRingbufferReceive(ringbuf, &len, portMAX_DELAY); + if(chunk != NULL) { + output_buffer(chunk, len); + vRingbufferReturnItem(ringbuf, chunk); + } } - uint8_t group=(chan/8), timer=((chan/2)%4); + spi_device_release_bus(handle); +} + +static void beeper_task(void*) { + uint8_t chunk[max_size * 2]; + while(1) { + if(synth != nullptr) { + size_t write_max = synth->fill_buffer(chunk, max_size * 2); + if(write_max > 0) { + xRingbufferSend(ringbuf, chunk, write_max, portMAX_DELAY); + } else { + vTaskDelay(pdMS_TO_TICKS(100)); + } + } else { + vTaskDelay(pdMS_TO_TICKS(10)); + } + } +} + - ledc_timer_config_t ledc_timer = { - .speed_mode = (ledc_mode_t) group, - .duty_resolution = (ledc_timer_bit_t) 10, - .timer_num = (ledc_timer_t) timer, - .freq_hz = freq, - .clk_cfg = (ledc_clk_cfg_t) 0 - }; +void Beeper::InitSPI(gpio_num_t pin) { + if(spiInited) return; - if(ledc_timer_config(&ledc_timer) != ESP_OK) - { - log_e("ledcSetup failed!"); - return; + bus_cfg.sclk_io_num = -1; + bus_cfg.miso_io_num = -1; + bus_cfg.mosi_io_num = pin; + if_cfg.spics_io_num = -1; //<- CS pin is selected at interface level + + // Set max transfer size in bytes + bus_cfg.max_transfer_sz = max_size; + + // Suitable configuration found experimentally + if_cfg.mode = mode; + if_cfg.clock_speed_hz = baud; + if_cfg.queue_size = BUFFERS; + if_cfg.flags = SPI_DEVICE_NO_DUMMY; + if_cfg.pre_cb = NULL; + if_cfg.post_cb = NULL; + if_cfg.dummy_bits = 0; + if_cfg.command_bits = 0; + if_cfg.address_bits = 0; + if_cfg.cs_ena_posttrans = 0; + if_cfg.cs_ena_pretrans = 0; + if_cfg.input_delay_ns = 0; + + // Open the SPI bus and configure + esp_err_t e = spi_bus_initialize(host, &bus_cfg, dma_chan); + if (e != ESP_OK) { + ESP_LOGE(LOG_TAG, "[ERROR] SPI bus initialize failed : %d\n", e); + } + + // Set a handle on the SPI bus + e = spi_bus_add_device(host, &if_cfg, &handle); + if (e != ESP_OK) { + ESP_LOGE(LOG_TAG, "[ERROR] SPI bus add device failed : %d\n", e); } + + dma = (uint8_t*) heap_caps_malloc(BUFFERS * max_size + 1, MALLOC_CAP_DMA); + ringbuf = xRingbufferCreateStatic(BUFFERS * max_size, RINGBUF_TYPE_BYTEBUF, dma, &_ringbuf); - ledcWrite(chan, duty); + xTaskCreate( + beeper_task, + "BOOP", + 4096, + nullptr, + 24, + &hTask + ); + + xTaskCreate( + output_task, + "BEEP", + 4096, + nullptr, + 23, + &hTask + ); + + spiInited = true; } -static portMUX_TYPE _spinlock = portMUX_INITIALIZER_UNLOCKED; -Beeper::Beeper(gpio_num_t pin, uint8_t ch) { - pwm_channel = ch; +class Beeper::Buzzer: public Synthesizerish { +public: + Buzzer(): + phase{0}, + wavelength{0}, + duration_samples{0}, + active { false }, + bit_state { true } + {} + + void set_frequency(int freq) { + if(freq > nyquist) { + ESP_LOGE(LOG_TAG, "Cannot %i hz!", freq); + return; + } + + wavelength = (baud / freq); + phase = 0; + bit_state = true; + samples = 0; + ESP_LOGV(LOG_TAG, "Freq=%i, Wavelength=%i", freq, wavelength); + } + + void set_active(bool a) { + active = a; + phase = 0; + bit_state = true; + samples = 0; + ESP_LOGV(LOG_TAG, "Active = %i", a); + } + + void set_duration(int ms) { + duration_samples = (baud / 1000) * ms; + samples = 0; + } + + size_t fill_buffer(void* buffer, size_t length_) { + if(!active || wavelength == 0) return 0; + + size_t length = length_; + if(duration_samples > 0) { + length = std::min(length, (size_t) (duration_samples / 8) + 1); + } + + int bits_high = wavelength / 2; + int bits_low = wavelength / 2; + + uint32_t bit_number = phase; + uint8_t* buff = (uint8_t*) buffer; + for(int i = 0; i < length; i++) { + if((bit_state ? bits_high : bits_low) - bit_number >= 8 && (duration_samples - samples) >= 8) { + if(bit_state) + buff[i] = 0xFF; + else + buff[i] = 0x00; + bit_number += 8; + samples += 8; + if(bit_number >= (bit_state ? bits_high : bits_low)) { + bit_number -= (bit_state ? bits_high : bits_low); + bit_state = !bit_state; + } + } else { + buff[i] = 0x0; + for(int j = 0; j < 8; j++) { + bit_number++; + samples++; + if(duration_samples == 0 || duration_samples > samples) { + if(bit_state) { + buff[i] |= (1 << (7 - j)); + } + if(bit_number >= (bit_state ? bits_high : bits_low)) { + bit_number -= (bit_state ? bits_high : bits_low); + bit_state = !bit_state; + } + } + } + } + if(duration_samples != 0 && samples >= duration_samples) { + active = false; + phase = 0; + bit_state = true; + return length; + } + } + phase = bit_number; + return length; + } + +private: + int samples; + int phase; + int wavelength; + int duration_samples; + bool active; + bool bit_state; +}; + +Beeper::Beeper() { channel_status = 0xFF; active_channel = -1; + fallback_synthesizer = new Buzzer(); + synth = fallback_synthesizer; +} - ledcSetup(pwm_channel, 10000, 8); - ledcAttachPin(pin, pwm_channel); - ledcWrite(pwm_channel, 0); +Beeper::~Beeper() { + delete fallback_synthesizer; } void Beeper::set_channel_state(beeper_channel_t ch, bool active) { @@ -60,19 +268,29 @@ void Beeper::start_tone(beeper_channel_t ch, uint freq, uint16_t duty) { if(!is_channel_enabled(ch)) return; if(active_channel < ch) active_channel = ch; - ledcWriteToneD(pwm_channel, freq, duty); + + fallback_synthesizer->set_duration(0); + fallback_synthesizer->set_frequency(freq); + fallback_synthesizer->set_active(true); } void Beeper::stop_tone(beeper_channel_t ch) { if(active_channel != ch) return; - ledcWrite(pwm_channel, 0); active_channel = -1; + + fallback_synthesizer->set_active(false); } void Beeper::beep_blocking(beeper_channel_t ch, uint freq, uint len, uint16_t duty) { - taskENTER_CRITICAL(&_spinlock); - start_tone(ch, freq, duty); - delayMicroseconds(len * 1000); - stop_tone(ch); - taskEXIT_CRITICAL(&_spinlock); + if(active_channel > ch) return; + if(!is_channel_enabled(ch)) return; + + if(active_channel < ch) active_channel = ch; + + fallback_synthesizer->set_duration(len); + fallback_synthesizer->set_frequency(freq); + fallback_synthesizer->set_active(true); + vTaskDelay(len); + + active_channel = -1; } \ No newline at end of file diff --git a/src/sound/sequencer.cpp b/src/sound/sequencer.cpp index bf553cf..b57dca4 100644 --- a/src/sound/sequencer.cpp +++ b/src/sound/sequencer.cpp @@ -46,7 +46,7 @@ void BeepSequencer::start_task() { "MELODY", 4096, this, - configMAX_PRIORITIES - 1, + 7, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/thing.cpp b/src/thing.cpp deleted file mode 100644 index c32e93d..0000000 --- a/src/thing.cpp +++ /dev/null @@ -1,156 +0,0 @@ -#include -#include -#include -static char LOG_TAG[] = "ASS"; - -/// Interface config of SPI device -spi_device_interface_config_t if_cfg; -/// Interface config of SPI bus -spi_bus_config_t bus_cfg; -/// SPI device handle -spi_device_handle_t handle; - -/// Select SPI driver host (either HSPI or VSPI should work) -spi_host_device_t host {VSPI_HOST}; -/// Select SPI driver mode (we only use MOSI pin so don't really care) -uint8_t mode {SPI_MODE3}; -/// Select DMA channel of SPI, must be 1 or 2 -int dma_chan {1}; -/// Select max DMA buffer size in BYTES -int max_size {8192}; -/// Select SPI baud rate -uint32_t baud {400000}; -/// DMA buffer -void* dma_buffer; - -const int nyquist = baud / 2; - -static void freq_to_buff(uint16_t freq, int soffs = 0, int len = max_size) { - if(freq > nyquist) { - ESP_LOGE(LOG_TAG, "Cannot %i hz!", freq); - return; - } - - // 2khz = 1010101010 (change bit every bit) - // 1khz = 1100110011 (change every 2 bits) - // 500 hz = 111000111000 (every 3 bits) - // adding 1 bit halves the frequency - - int bits_per_half_wavelength = (baud / freq) / 2; - ESP_LOGI(LOG_TAG, "bits per half wave = %i", bits_per_half_wavelength); - - uint32_t bit_number = 0; - uint8_t * buff = (uint8_t*) dma_buffer; - bool bit_state = true; - for(int i = soffs; i < len; i++) { - if(bits_per_half_wavelength - bit_number > 8) { - buff[i] = bit_state ? 0xFF : 0x00; - bit_number += 8; - if(bit_number >= bits_per_half_wavelength) { - bit_number -= bits_per_half_wavelength; - bit_state = !bit_state; - } - } else - for(int j = 0; j < 8; j++) { - bit_number++; - if(bit_state) { - buff[i] |= (1 << j); - } - if(bit_number >= bits_per_half_wavelength) { - bit_number -= bits_per_half_wavelength; - bit_state = !bit_state; - } - } - } - ESP_LOGI(LOG_TAG,"[0] = %x, [1] = %x", buff[0], buff[1]); -} - - -static void oelutz() { - ESP_LOGI(LOG_TAG, "oelu"); - esp_err_t e; - // Begin an SPI transaction - spi_transaction_t t; - t.flags = 0; // no flags - t.length = 8 * max_size; // set Tx size in bits - t.tx_buffer = dma_buffer; // Tx from DMA buffer - t.rx_buffer = nullptr; // Rx to nowhere - t.rxlength = 0; // don't Rx at all - - // Request exclusive SPI access for timing precision - e = spi_device_acquire_bus(handle, portMAX_DELAY); - if (e != ESP_OK) { - ESP_LOGE(LOG_TAG, "[ERROR] SPI device lock failed : %d\n", e); - } - - // Send data over SPI interface - e = spi_device_transmit(handle, &t); - if (e != ESP_OK) { - ESP_LOGE(LOG_TAG, "[ERROR] SPI device transmit failed : %d\n", e); - } else { - ESP_LOGV(LOG_TAG, "SPI sent %d bytes", got_size); - } - - // Release exclusive access of SPI bus - spi_device_release_bus(handle); -} - -void ass() { - // Use MOSI at pager pin, don't use other pins - bus_cfg.sclk_io_num = -1; - bus_cfg.miso_io_num = -1; - bus_cfg.mosi_io_num = HWCONF_BEEPER_GPIO; - if_cfg.spics_io_num = -1; //<- CS pin is selected at interface level - - // Set max transfer size in bytes - bus_cfg.max_transfer_sz = max_size; - - // Suitable configuration found experimentally - if_cfg.mode = mode; - if_cfg.clock_speed_hz = baud; - if_cfg.queue_size = 1; - if_cfg.flags = SPI_DEVICE_NO_DUMMY; - if_cfg.pre_cb = NULL; - if_cfg.post_cb = NULL; - if_cfg.dummy_bits = 0; - if_cfg.command_bits = 0; - if_cfg.address_bits = 0; - - // Open the SPI bus and configure - esp_err_t e = spi_bus_initialize(host, &bus_cfg, dma_chan); - if (e != ESP_OK) { - ESP_LOGE(LOG_TAG, "[ERROR] SPI bus initialize failed : %d\n", e); - } - - // Set a handle on the SPI bus - e = spi_bus_add_device(host, &if_cfg, &handle); - if (e != ESP_OK) { - ESP_LOGE(LOG_TAG, "[ERROR] SPI bus add device failed : %d\n", e); - } - - // Make a DMA buffer for the messages output - dma_buffer = heap_caps_calloc(1, max_size, MALLOC_CAP_DMA); - - while(1) { - memset(dma_buffer, 0, max_size); - freq_to_buff(523); - oelutz(); - vTaskDelay(pdMS_TO_TICKS(250)); - - memset(dma_buffer, 0, max_size); - freq_to_buff(587); - oelutz(); - vTaskDelay(pdMS_TO_TICKS(250)); - - memset(dma_buffer, 0, max_size); - freq_to_buff(698); - oelutz(); - vTaskDelay(pdMS_TO_TICKS(500)); - - memset(dma_buffer, 0, max_size); - freq_to_buff(523); - freq_to_buff(2200); - oelutz(); - vTaskDelay(pdMS_TO_TICKS(1000)); - } -} \ No newline at end of file From 1021b9014d167fd80ae667020cf3adcd479b59af Mon Sep 17 00:00:00 2001 From: akasaka Date: Wed, 31 Jul 2024 15:52:09 +0900 Subject: [PATCH 16/26] It beeps! --- include/sound/beeper.h | 2 +- src/main.cpp | 2 +- src/sound/beeper.cpp | 155 +++++++++++++---------------------------- 3 files changed, 49 insertions(+), 110 deletions(-) diff --git a/include/sound/beeper.h b/include/sound/beeper.h index 3534488..878a163 100644 --- a/include/sound/beeper.h +++ b/include/sound/beeper.h @@ -24,7 +24,7 @@ class Synthesizerish { class Beeper { public: - static void InitSPI(gpio_num_t pin); + static void InitI2S(gpio_num_t pin); Beeper(); ~Beeper(); void set_channel_state(beeper_channel_t, bool); diff --git a/src/main.cpp b/src/main.cpp index ab40aea..cbe6e3a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -177,7 +177,7 @@ void setup() { #endif // The SPI driver messes up display pinmux, so it must initialize first - Beeper::InitSPI(HWCONF_BEEPER_GPIO); + Beeper::InitI2S(HWCONF_BEEPER_GPIO); display_driver.initialize(); display_driver.reset(); diff --git a/src/sound/beeper.cpp b/src/sound/beeper.cpp index 8a6d29e..c991fbd 100644 --- a/src/sound/beeper.cpp +++ b/src/sound/beeper.cpp @@ -1,76 +1,36 @@ #include -#include -#include -#include -#include +#include +#include static char LOG_TAG[] = "BOOP"; TaskHandle_t hTask = NULL; -static bool spiInited = false; -/// Interface config of SPI device -static spi_device_interface_config_t if_cfg; -/// Interface config of SPI bus -static spi_bus_config_t bus_cfg; -/// SPI device handle -static spi_device_handle_t handle; - -static spi_host_device_t host {SPI3_HOST}; -static uint8_t mode {SPI_MODE3}; -static int dma_chan {2}; -static const int max_size {256}; -static uint32_t baud {400000}; -#define BUFFERS 8 +static bool i2sInited = false; +#define I2S_NUM I2S_NUM_0 +#define DMA_BUF_LEN (128) +#define DMA_NUM_BUF (2) +#define SAMPLE_RATE 11025 +static const int max_size {DMA_BUF_LEN}; +static uint32_t baud {352800}; static Synthesizerish *synth = nullptr; -static uint8_t* dma; -static RingbufHandle_t ringbuf; -static StaticRingbuffer_t _ringbuf { 0 }; - const int nyquist = baud / 2; - -inline void output_buffer(void* buf, size_t len) { - // Begin an SPI transaction - static spi_transaction_t t { 0 }; - t.length = 8 * len; // set Tx size in bits - t.tx_buffer = buf; // Tx from DMA buffer - t.rxlength = 0; - - // Send data over SPI interface - spi_device_polling_transmit(handle, &t); -} - -static void output_task(void*) { - esp_err_t e = spi_device_acquire_bus(handle, portMAX_DELAY); - if (e != ESP_OK) { - ESP_LOGE(LOG_TAG, "[ERROR] SPI device lock failed : %d\n", e); - } - - uint8_t * chunk = NULL; - size_t len; - while(1) { - chunk = (uint8_t*) xRingbufferReceive(ringbuf, &len, portMAX_DELAY); - if(chunk != NULL) { - output_buffer(chunk, len); - vRingbufferReturnItem(ringbuf, chunk); - } - } - - spi_device_release_bus(handle); -} - static void beeper_task(void*) { - uint8_t chunk[max_size * 2]; + uint8_t chunk[max_size]; + uint8_t null[max_size] = { 0xFF }; + size_t out_size = 0; while(1) { if(synth != nullptr) { - size_t write_max = synth->fill_buffer(chunk, max_size * 2); + size_t write_max = synth->fill_buffer(chunk, max_size); if(write_max > 0) { - xRingbufferSend(ringbuf, chunk, write_max, portMAX_DELAY); + for(size_t i = 0; i < write_max; i++) chunk[i] = ~chunk[i]; + i2s_write(I2S_NUM, chunk, write_max, &out_size, portMAX_DELAY); } else { - vTaskDelay(pdMS_TO_TICKS(100)); + i2s_write(I2S_NUM, null, max_size, &out_size, portMAX_DELAY); } + taskYIELD(); } else { vTaskDelay(pdMS_TO_TICKS(10)); } @@ -78,65 +38,44 @@ static void beeper_task(void*) { } -void Beeper::InitSPI(gpio_num_t pin) { - if(spiInited) return; - - bus_cfg.sclk_io_num = -1; - bus_cfg.miso_io_num = -1; - bus_cfg.mosi_io_num = pin; - if_cfg.spics_io_num = -1; //<- CS pin is selected at interface level - - // Set max transfer size in bytes - bus_cfg.max_transfer_sz = max_size; - - // Suitable configuration found experimentally - if_cfg.mode = mode; - if_cfg.clock_speed_hz = baud; - if_cfg.queue_size = BUFFERS; - if_cfg.flags = SPI_DEVICE_NO_DUMMY; - if_cfg.pre_cb = NULL; - if_cfg.post_cb = NULL; - if_cfg.dummy_bits = 0; - if_cfg.command_bits = 0; - if_cfg.address_bits = 0; - if_cfg.cs_ena_posttrans = 0; - if_cfg.cs_ena_pretrans = 0; - if_cfg.input_delay_ns = 0; - - // Open the SPI bus and configure - esp_err_t e = spi_bus_initialize(host, &bus_cfg, dma_chan); - if (e != ESP_OK) { - ESP_LOGE(LOG_TAG, "[ERROR] SPI bus initialize failed : %d\n", e); - } - - // Set a handle on the SPI bus - e = spi_bus_add_device(host, &if_cfg, &handle); - if (e != ESP_OK) { - ESP_LOGE(LOG_TAG, "[ERROR] SPI bus add device failed : %d\n", e); - } - - dma = (uint8_t*) heap_caps_malloc(BUFFERS * max_size + 1, MALLOC_CAP_DMA); - ringbuf = xRingbufferCreateStatic(BUFFERS * max_size, RINGBUF_TYPE_BYTEBUF, dma, &_ringbuf); - +void Beeper::InitI2S(gpio_num_t pin) { + if(i2sInited) return; + + i2s_config_t i2s_config = { + .mode = (i2s_mode_t) (I2S_MODE_MASTER | I2S_MODE_TX), + .sample_rate = SAMPLE_RATE, + .bits_per_sample = I2S_BITS_PER_SAMPLE_8BIT, + .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT, + .communication_format = I2S_COMM_FORMAT_STAND_MSB, + .intr_alloc_flags = ESP_INTR_FLAG_LEVEL2, + .dma_buf_count = DMA_NUM_BUF, + .dma_buf_len = DMA_BUF_LEN, + .use_apll = false, + .bits_per_chan = I2S_BITS_PER_CHAN_DEFAULT + }; + + i2s_pin_config_t pincfg = { + .mck_io_num = I2S_PIN_NO_CHANGE, + .bck_io_num = I2S_PIN_NO_CHANGE, + .ws_io_num = I2S_PIN_NO_CHANGE, + .data_out_num = pin, + .data_in_num = I2S_PIN_NO_CHANGE, + }; + + i2s_driver_install(I2S_NUM, &i2s_config, 0, NULL); + + i2s_set_pin(I2S_NUM, &pincfg); + xTaskCreate( beeper_task, "BOOP", 4096, nullptr, - 24, - &hTask - ); - - xTaskCreate( - output_task, - "BEEP", - 4096, - nullptr, - 23, + configMAX_PRIORITIES - 1, &hTask ); - spiInited = true; + i2sInited = true; } From 7597296c52acce45f83a8d2571da97ef74ffe79d Mon Sep 17 00:00:00 2001 From: akasaka Date: Wed, 31 Jul 2024 23:12:50 +0900 Subject: [PATCH 17/26] Unify all task priorities in one file; factor out WaveOut --- include/os_config.h | 20 ++++++++ include/sound/beeper.h | 1 - include/sound/waveout.h | 25 ++++++++++ src/console.cpp | 3 +- src/graphics/framebuffer.cpp | 3 +- src/graphics/screenshooter.cpp | 3 +- src/input/keypad.cpp | 3 +- src/input/touch_plane.cpp | 3 +- src/main.cpp | 3 +- src/network/admin_panel.cpp | 3 +- src/network/otafvu.cpp | 3 +- src/sensor/sensor_pool.cpp | 3 +- src/service/alarm.cpp | 3 +- src/service/balance_board.cpp | 4 +- src/service/foo_client.cpp | 3 +- src/service/owm/weather.cpp | 3 +- src/service/power_management.cpp | 3 +- src/service/wordnik.cpp | 3 +- src/sound/beeper.cpp | 84 ++------------------------------ src/sound/sequencer.cpp | 3 +- src/sound/waveout.cpp | 68 ++++++++++++++++++++++++++ 21 files changed, 151 insertions(+), 96 deletions(-) create mode 100644 include/os_config.h create mode 100644 include/sound/waveout.h create mode 100644 src/sound/waveout.cpp diff --git a/include/os_config.h b/include/os_config.h new file mode 100644 index 0000000..6dc5941 --- /dev/null +++ b/include/os_config.h @@ -0,0 +1,20 @@ +#pragma once +#include + +// ----- Task Priorities ----- + +#define pisosTASK_PRIORITY_CONSOLE 2 +#define pisosTASK_PRIORITY_REMOTE_DESKTOP 3 +#define pisosTASK_PRIORITY_FRAMEBUFFER (configMAX_PRIORITIES - 1) +#define pisosTASK_PRIORITY_WAVEOUT (configMAX_PRIORITIES - 1) +#define pisosTASK_PRIORITY_KEYPAD (configMAX_PRIORITIES - 3) +#define pisosTASK_PRIORITY_WEBADMIN 4 +#define pisosTASK_PRIORITY_OTAFVU 10 +#define pisosTASK_PRIORITY_SENSOR 3 +#define pisosTASK_PRIORITY_ALARM 4 +#define pisosTASK_PRIORITY_BALANCEBOARD 2 +#define pisosTASK_PRIORITY_FOOBAR_CLIENT 2 +#define pisosTASK_PRIORITY_POWER_MANAGEMENT 4 +#define pisosTASK_PRIORITY_WORDNIK 1 +#define pisosTASK_PRIORITY_WEATHER 1 +#define pisosTASK_PRIORITY_MELODY_SEQUENCER 7 diff --git a/include/sound/beeper.h b/include/sound/beeper.h index 878a163..00058d9 100644 --- a/include/sound/beeper.h +++ b/include/sound/beeper.h @@ -24,7 +24,6 @@ class Synthesizerish { class Beeper { public: - static void InitI2S(gpio_num_t pin); Beeper(); ~Beeper(); void set_channel_state(beeper_channel_t, bool); diff --git a/include/sound/waveout.h b/include/sound/waveout.h new file mode 100644 index 0000000..614364e --- /dev/null +++ b/include/sound/waveout.h @@ -0,0 +1,25 @@ +#include +#include +#include + +typedef std::function WaveGeneratorCallback; + +class WaveOut { +public: + static const size_t SAMPLE_RATE = 11025; + static const int BAUD_RATE = 352800; // <- don't ask why this is 4 times larger, I don't know myself + static const int NYQUIST = BAUD_RATE / 2; // <- we are not using this to connect a DAC but directly a speaker to the data bus, so the max possible frequency is achieved when outputting 01010101... + + static void init_I2S(gpio_num_t pin); + static void set_output_callback(WaveGeneratorCallback callback); + +private: + static const i2s_port_t I2S_NUM = I2S_NUM_0; + static const size_t DMA_BUF_LEN = 128; + static const size_t DMA_NUM_BUF = 2; + static const size_t RENDER_CHUNK_SIZE = DMA_BUF_LEN; + static bool i2sInited; + static TaskHandle_t hTask; + static void task(void*); + static WaveGeneratorCallback callback; +}; \ No newline at end of file diff --git a/src/console.cpp b/src/console.cpp index fdc5e1b..6704931 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -1,6 +1,7 @@ #include #include #include +#include static const char CURSOR_OFF = ' '; static char LOG_TAG[] = "CONS"; @@ -34,7 +35,7 @@ Console::Console(const font_definition_t * f, DisplayFramebuffer * fb) { "CONS", 4096, this, - 2, + pisosTASK_PRIORITY_CONSOLE, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/graphics/framebuffer.cpp b/src/graphics/framebuffer.cpp index cd791c8..8f82054 100644 --- a/src/graphics/framebuffer.cpp +++ b/src/graphics/framebuffer.cpp @@ -2,6 +2,7 @@ #include #include #include +#include static const int DESIRED_FPS = 60; @@ -80,7 +81,7 @@ void DisplayFramebuffer::setup_task() { "FBuf", 4096, this, - configMAX_PRIORITIES - 1, + pisosTASK_PRIORITY_FRAMEBUFFER, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/graphics/screenshooter.cpp b/src/graphics/screenshooter.cpp index 33cb363..53af5fc 100644 --- a/src/graphics/screenshooter.cpp +++ b/src/graphics/screenshooter.cpp @@ -8,6 +8,7 @@ #include #include #include +#include static char LOG_TAG[] = "SCAP"; @@ -230,7 +231,7 @@ void Screenshooter::start_server(uint16_t port) { "VNC", 2048, framebuffer, - 3, + pisosTASK_PRIORITY_REMOTE_DESKTOP, &hServerTask ); } diff --git a/src/input/keypad.cpp b/src/input/keypad.cpp index 04299a3..cfe6d46 100644 --- a/src/input/keypad.cpp +++ b/src/input/keypad.cpp @@ -2,6 +2,7 @@ #include #include #include +#include static char LOG_TAG[] = "KEYP"; @@ -45,7 +46,7 @@ void keypad_start() { "KEYPAD", 4096, nullptr, - configMAX_PRIORITIES - 3, + pisosTASK_PRIORITY_KEYPAD, &hTask ); #endif diff --git a/src/input/touch_plane.cpp b/src/input/touch_plane.cpp index a65faa5..07606c1 100644 --- a/src/input/touch_plane.cpp +++ b/src/input/touch_plane.cpp @@ -7,6 +7,7 @@ #include #include #include +#include // I don't know how this works // But seems like it works with my janky tinfoil touch screen thingamajiggie @@ -121,7 +122,7 @@ esp_err_t touchplane_start() { "TOUCH", 1024, nullptr, - configMAX_PRIORITIES - 3, + pisosTASK_PRIORITY_KEYPAD, &hTask ); } diff --git a/src/main.cpp b/src/main.cpp index cbe6e3a..95b8385 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -177,7 +178,7 @@ void setup() { #endif // The SPI driver messes up display pinmux, so it must initialize first - Beeper::InitI2S(HWCONF_BEEPER_GPIO); + WaveOut::init_I2S(HWCONF_BEEPER_GPIO); display_driver.initialize(); display_driver.reset(); diff --git a/src/network/admin_panel.cpp b/src/network/admin_panel.cpp index 0ef3ad6..ba0d2a6 100644 --- a/src/network/admin_panel.cpp +++ b/src/network/admin_panel.cpp @@ -12,6 +12,7 @@ #include #include #include +#include static char LOG_TAG[] = "ADMIN"; static TaskHandle_t hTask = NULL; @@ -668,7 +669,7 @@ void admin_panel_prepare(SensorPool* s, Beeper* b, Screenshooter * ss) { "ADM", 4096, nullptr, - 4, + pisosTASK_PRIORITY_WEBADMIN, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/network/otafvu.cpp b/src/network/otafvu.cpp index af3d9ae..3d5a597 100644 --- a/src/network/otafvu.cpp +++ b/src/network/otafvu.cpp @@ -1,5 +1,6 @@ #include #include +#include #if HAS(OTAFVU) #include @@ -52,7 +53,7 @@ OTAFVUManager::OTAFVUManager(Console* c, BeepSequencer*s) { "OTAFVU", 4096, this, - 10, + pisosTASK_PRIORITY_OTAFVU, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/sensor/sensor_pool.cpp b/src/sensor/sensor_pool.cpp index 71ba1d1..8c6bf4f 100644 --- a/src/sensor/sensor_pool.cpp +++ b/src/sensor/sensor_pool.cpp @@ -1,6 +1,7 @@ #include #include #include +#include static char LOG_TAG[] = "SENS"; @@ -25,7 +26,7 @@ SensorPool::SensorPool() { "SENS", 4096, this, - 3, + pisosTASK_PRIORITY_SENSOR, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/service/alarm.cpp b/src/service/alarm.cpp index dbf9198..038fe24 100644 --- a/src/service/alarm.cpp +++ b/src/service/alarm.cpp @@ -2,6 +2,7 @@ #include #include #include +#include static char LOG_TAG[] = "ALM"; @@ -158,7 +159,7 @@ void alarm_init(SensorPool* s) { "ALARM", 4096, nullptr, - 4, + pisosTASK_PRIORITY_ALARM, &hTask ); } \ No newline at end of file diff --git a/src/service/balance_board.cpp b/src/service/balance_board.cpp index 71f780d..7acf2e6 100644 --- a/src/service/balance_board.cpp +++ b/src/service/balance_board.cpp @@ -1,5 +1,7 @@ #include #include +#include + #if HAS(BALANCE_BOARD_INTEGRATION) #include @@ -132,7 +134,7 @@ void balance_board_start(SensorPool *sensors) LOG_TAG, 8192, nullptr, - 2, + pisosTASK_PRIORITY_BALANCEBOARD, &hTask)) { ESP_LOGE(LOG_TAG, "Task creation failed"); diff --git a/src/service/foo_client.cpp b/src/service/foo_client.cpp index bd85e70..ab5aa09 100644 --- a/src/service/foo_client.cpp +++ b/src/service/foo_client.cpp @@ -6,6 +6,7 @@ #include #include #include +#include static char LOG_TAG[] = "FOOCLI"; @@ -225,7 +226,7 @@ void foo_client_begin() { "FOOCLI", 4096, nullptr, - 2, + pisosTASK_PRIORITY_FOOBAR_CLIENT, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/service/owm/weather.cpp b/src/service/owm/weather.cpp index 4850837..8067d20 100644 --- a/src/service/owm/weather.cpp +++ b/src/service/owm/weather.cpp @@ -4,6 +4,7 @@ #include #include #include +#include static char LOG_TAG[] = "WEATHER"; @@ -119,7 +120,7 @@ void weather_start() { "OWM", 4096, nullptr, - 1, + pisosTASK_PRIORITY_WEATHER, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/service/power_management.cpp b/src/service/power_management.cpp index 2cb69fe..16ed456 100644 --- a/src/service/power_management.cpp +++ b/src/service/power_management.cpp @@ -2,6 +2,7 @@ #include #include #include +#include static char LOG_TAG[] = "PM"; static TaskHandle_t hTask = NULL; @@ -164,7 +165,7 @@ void power_mgmt_start(SensorPool * s, DisplayDriver * d, Beeper * b) { "PM", 4096, nullptr, - 4, + pisosTASK_PRIORITY_POWER_MANAGEMENT, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/service/wordnik.cpp b/src/service/wordnik.cpp index fc7080a..a87cb0f 100644 --- a/src/service/wordnik.cpp +++ b/src/service/wordnik.cpp @@ -1,5 +1,6 @@ #include #include +#include #if HAS(WORDNIK_API) #include @@ -113,7 +114,7 @@ void wotd_start() { "WOTD", 8000, nullptr, - 1, + pisosTASK_PRIORITY_WORDNIK, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/sound/beeper.cpp b/src/sound/beeper.cpp index c991fbd..3cf42fb 100644 --- a/src/sound/beeper.cpp +++ b/src/sound/beeper.cpp @@ -1,84 +1,10 @@ #include #include #include +#include static char LOG_TAG[] = "BOOP"; - -TaskHandle_t hTask = NULL; -static bool i2sInited = false; -#define I2S_NUM I2S_NUM_0 -#define DMA_BUF_LEN (128) -#define DMA_NUM_BUF (2) -#define SAMPLE_RATE 11025 -static const int max_size {DMA_BUF_LEN}; -static uint32_t baud {352800}; -static Synthesizerish *synth = nullptr; - -const int nyquist = baud / 2; - -static void beeper_task(void*) { - uint8_t chunk[max_size]; - uint8_t null[max_size] = { 0xFF }; - size_t out_size = 0; - while(1) { - if(synth != nullptr) { - size_t write_max = synth->fill_buffer(chunk, max_size); - if(write_max > 0) { - for(size_t i = 0; i < write_max; i++) chunk[i] = ~chunk[i]; - i2s_write(I2S_NUM, chunk, write_max, &out_size, portMAX_DELAY); - } else { - i2s_write(I2S_NUM, null, max_size, &out_size, portMAX_DELAY); - } - taskYIELD(); - } else { - vTaskDelay(pdMS_TO_TICKS(10)); - } - } -} - - -void Beeper::InitI2S(gpio_num_t pin) { - if(i2sInited) return; - - i2s_config_t i2s_config = { - .mode = (i2s_mode_t) (I2S_MODE_MASTER | I2S_MODE_TX), - .sample_rate = SAMPLE_RATE, - .bits_per_sample = I2S_BITS_PER_SAMPLE_8BIT, - .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT, - .communication_format = I2S_COMM_FORMAT_STAND_MSB, - .intr_alloc_flags = ESP_INTR_FLAG_LEVEL2, - .dma_buf_count = DMA_NUM_BUF, - .dma_buf_len = DMA_BUF_LEN, - .use_apll = false, - .bits_per_chan = I2S_BITS_PER_CHAN_DEFAULT - }; - - i2s_pin_config_t pincfg = { - .mck_io_num = I2S_PIN_NO_CHANGE, - .bck_io_num = I2S_PIN_NO_CHANGE, - .ws_io_num = I2S_PIN_NO_CHANGE, - .data_out_num = pin, - .data_in_num = I2S_PIN_NO_CHANGE, - }; - - i2s_driver_install(I2S_NUM, &i2s_config, 0, NULL); - - i2s_set_pin(I2S_NUM, &pincfg); - - xTaskCreate( - beeper_task, - "BOOP", - 4096, - nullptr, - configMAX_PRIORITIES - 1, - &hTask - ); - - i2sInited = true; -} - - class Beeper::Buzzer: public Synthesizerish { public: Buzzer(): @@ -90,12 +16,12 @@ class Beeper::Buzzer: public Synthesizerish { {} void set_frequency(int freq) { - if(freq > nyquist) { + if(freq > WaveOut::NYQUIST) { ESP_LOGE(LOG_TAG, "Cannot %i hz!", freq); return; } - wavelength = (baud / freq); + wavelength = (WaveOut::BAUD_RATE / freq); phase = 0; bit_state = true; samples = 0; @@ -111,7 +37,7 @@ class Beeper::Buzzer: public Synthesizerish { } void set_duration(int ms) { - duration_samples = (baud / 1000) * ms; + duration_samples = (WaveOut::BAUD_RATE / 1000) * ms; samples = 0; } @@ -180,7 +106,7 @@ Beeper::Beeper() { channel_status = 0xFF; active_channel = -1; fallback_synthesizer = new Buzzer(); - synth = fallback_synthesizer; + WaveOut::set_output_callback([this](uint8_t* buf, size_t len) { return fallback_synthesizer->fill_buffer(buf, len); }); } Beeper::~Beeper() { diff --git a/src/sound/sequencer.cpp b/src/sound/sequencer.cpp index b57dca4..6bfdc6f 100644 --- a/src/sound/sequencer.cpp +++ b/src/sound/sequencer.cpp @@ -1,4 +1,5 @@ #include +#include static char LOG_TAG[] = "MELODY"; @@ -46,7 +47,7 @@ void BeepSequencer::start_task() { "MELODY", 4096, this, - 7, + pisosTASK_PRIORITY_MELODY_SEQUENCER, &hTask ) != pdPASS) { ESP_LOGE(LOG_TAG, "Task creation failed!"); diff --git a/src/sound/waveout.cpp b/src/sound/waveout.cpp new file mode 100644 index 0000000..43ec970 --- /dev/null +++ b/src/sound/waveout.cpp @@ -0,0 +1,68 @@ +#include +#include + +static char LOG_TAG[] = "WOUT"; + +bool WaveOut::i2sInited = false; +TaskHandle_t WaveOut::hTask = NULL; +WaveGeneratorCallback WaveOut::callback = [](uint8_t*, size_t) { return 0; }; + +void WaveOut::init_I2S(gpio_num_t pin) { + if(WaveOut::i2sInited) return; + + i2s_config_t i2s_config = { + .mode = (i2s_mode_t) (I2S_MODE_MASTER | I2S_MODE_TX), + .sample_rate = SAMPLE_RATE, + .bits_per_sample = I2S_BITS_PER_SAMPLE_8BIT, + .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT, + .communication_format = I2S_COMM_FORMAT_STAND_MSB, + .intr_alloc_flags = ESP_INTR_FLAG_LEVEL2, + .dma_buf_count = DMA_NUM_BUF, + .dma_buf_len = DMA_BUF_LEN, + .use_apll = false, + .bits_per_chan = I2S_BITS_PER_CHAN_DEFAULT + }; + + i2s_pin_config_t pincfg = { + .mck_io_num = I2S_PIN_NO_CHANGE, + .bck_io_num = I2S_PIN_NO_CHANGE, + .ws_io_num = I2S_PIN_NO_CHANGE, + .data_out_num = pin, + .data_in_num = I2S_PIN_NO_CHANGE, + }; + + i2s_driver_install(I2S_NUM, &i2s_config, 0, NULL); + + i2s_set_pin(I2S_NUM, &pincfg); + + xTaskCreate( + task, + "WaveOut", + 4096, + nullptr, + pisosTASK_PRIORITY_WAVEOUT, + &hTask + ); + + WaveOut::i2sInited = true; +} + +void WaveOut::task(void*) { + uint8_t chunk[RENDER_CHUNK_SIZE]; + uint8_t null[RENDER_CHUNK_SIZE] = { 0xFF }; + size_t out_size = 0; + while(1) { + size_t generated_bytes = callback(chunk, RENDER_CHUNK_SIZE); + if(generated_bytes > 0) { + for(size_t i = 0; i < generated_bytes; i++) chunk[i] = ~chunk[i]; + i2s_write(I2S_NUM, chunk, generated_bytes, &out_size, portMAX_DELAY); + } else { + i2s_write(I2S_NUM, null, RENDER_CHUNK_SIZE, &out_size, portMAX_DELAY); + } + taskYIELD(); + } +} + +void WaveOut::set_output_callback(WaveGeneratorCallback cb) { + callback = cb; +} \ No newline at end of file From e150b98ea0c566f1e83ffe65b8768ff2089e9baf Mon Sep 17 00:00:00 2001 From: akasaka Date: Thu, 1 Aug 2024 00:12:10 +0900 Subject: [PATCH 18/26] some level of abstraction between output and generator --- include/sound/beeper.h | 23 ++--- include/sound/mixer.h | 48 ++++++++++ include/sound/waveout.h | 7 +- src/main.cpp | 7 +- src/sound/beeper.cpp | 192 ++++++++++++++++++---------------------- src/sound/waveout.cpp | 2 +- 6 files changed, 158 insertions(+), 121 deletions(-) create mode 100644 include/sound/mixer.h diff --git a/include/sound/beeper.h b/include/sound/beeper.h index 00058d9..81e8b7d 100644 --- a/include/sound/beeper.h +++ b/include/sound/beeper.h @@ -1,6 +1,6 @@ #pragma once #include - +#include typedef enum beeper_channels { /// @brief Channel for ambient sounds (clock ticking, etc) CHANNEL_AMBIANCE = 0, @@ -17,26 +17,29 @@ typedef enum beeper_channels { static const uint16_t DUTY_SQUARE = 2; -class Synthesizerish { -public: - virtual size_t fill_buffer(void* buffer, size_t length) { return 0; } -}; - -class Beeper { +class Beeper: public WaveGenerator { public: Beeper(); - ~Beeper(); + void set_channel_state(beeper_channel_t, bool); bool is_channel_enabled(beeper_channel_t); + size_t fill_buffer(void* buffer, size_t length_) override; void start_tone(beeper_channel_t, uint, uint16_t duty = DUTY_SQUARE); void stop_tone(beeper_channel_t); /// @brief Play a tone for a precise amount of milliseconds. Blocks the whole tasks and might block neighboring tasks, so use sparingly. void beep_blocking(beeper_channel_t, uint freq, uint len, uint16_t duty = DUTY_SQUARE); private: - class Buzzer; - Buzzer * fallback_synthesizer; uint8_t channel_status; int active_channel; + int samples; + int phase; + int wavelength; + int duration_samples; + bool active; + bool bit_state; + void set_frequency(int freq); + void set_duration(int ms); + void set_active(bool a); }; \ No newline at end of file diff --git a/include/sound/mixer.h b/include/sound/mixer.h new file mode 100644 index 0000000..04f5362 --- /dev/null +++ b/include/sound/mixer.h @@ -0,0 +1,48 @@ +#pragma once +#include +#include + +class WaveGenerator { +public: + virtual size_t fill_buffer(void* buffer, size_t length) { return 0; } + WaveGeneratorCallback get_callback() { + return [this](uint8_t* buf, size_t len) { return this->fill_buffer(buf, len); }; + } +}; + +// class WaveMixer: public WaveGenerator { +// public: +// WaveMixer() {} +// size_t fill_buffer(void* buffer, size_t length) override { +// size_t written = 0; +// uint8_t tmp[length] = { 0 }; +// uint8_t* buf = (uint8_t*) buffer; +// for(mixer_channel_t ch = (mixer_channel_t) 0; ch < CHANNEL_MAX_INVALID; ch = (mixer_channel_t) (ch + 1)) { +// if(is_channel_on(ch)) { +// size_t cur_ch_samples = generators[ch](tmp, length); +// if(cur_ch_samples > written) written = cur_ch_samples; +// for(int i = 0; i < cur_ch_samples; i++) { +// buf[i] |= tmp[i]; +// } +// } +// } +// return written; +// } + +// void set_channel_state(mixer_channel_t channel, bool sts) { +// if(sts) { +// channel_status |= (1 << channel); +// } else { +// channel_status &= ~(1 << channel); +// } +// } + +// void set_channel_callback(mixer_channel_t channel, const WaveGeneratorCallback cb) { +// generators[channel] = cb; +// } + +// private: +// WaveGeneratorCallback generators[CHANNEL_MAX_INVALID] = { NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR }; +// uint8_t channel_status = 0xFF; +// bool is_channel_on(mixer_channel_t ch) { return (channel_status & (1 << ch)) != 0; } +// }; \ No newline at end of file diff --git a/include/sound/waveout.h b/include/sound/waveout.h index 614364e..0f64d08 100644 --- a/include/sound/waveout.h +++ b/include/sound/waveout.h @@ -1,9 +1,12 @@ +#pragma once #include #include #include typedef std::function WaveGeneratorCallback; +static const WaveGeneratorCallback NULL_GENERATOR = [](uint8_t*, size_t) { return 0; }; + class WaveOut { public: static const size_t SAMPLE_RATE = 11025; @@ -15,8 +18,8 @@ class WaveOut { private: static const i2s_port_t I2S_NUM = I2S_NUM_0; - static const size_t DMA_BUF_LEN = 128; - static const size_t DMA_NUM_BUF = 2; + static const size_t DMA_BUF_LEN = 256; + static const size_t DMA_NUM_BUF = 4; static const size_t RENDER_CHUNK_SIZE = DMA_BUF_LEN; static bool i2sInited; static TaskHandle_t hTask; diff --git a/src/main.cpp b/src/main.cpp index 95b8385..41744af 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -88,6 +88,11 @@ void pop_state(device_state_t expected, transition_type_t transition) { } } +void bringup_sound() { + beepola = new Beeper(); + WaveOut::set_output_callback(beepola->get_callback()); +} + void bringup_light_sensor() { #if HAS(LIGHT_SENSOR) sensors->add(SENSOR_ID_AMBIENT_LIGHT, new AmbientLightSensor(HWCONF_LIGHTSENSE_GPIO), pdMS_TO_TICKS(250)); @@ -198,7 +203,7 @@ void setup() { con->print(""); con->print(PRODUCT_NAME " v" PRODUCT_VERSION); - beepola = new Beeper(); + bringup_sound(); // while(1){ // beepola->start_tone(CHANNEL_SYSTEM, 440); // delay(500); diff --git a/src/sound/beeper.cpp b/src/sound/beeper.cpp index 3cf42fb..f639b88 100644 --- a/src/sound/beeper.cpp +++ b/src/sound/beeper.cpp @@ -5,112 +5,38 @@ static char LOG_TAG[] = "BOOP"; -class Beeper::Buzzer: public Synthesizerish { -public: - Buzzer(): - phase{0}, +Beeper::Beeper(): phase{0}, wavelength{0}, duration_samples{0}, active { false }, - bit_state { true } - {} - - void set_frequency(int freq) { - if(freq > WaveOut::NYQUIST) { - ESP_LOGE(LOG_TAG, "Cannot %i hz!", freq); - return; - } - - wavelength = (WaveOut::BAUD_RATE / freq); - phase = 0; - bit_state = true; - samples = 0; - ESP_LOGV(LOG_TAG, "Freq=%i, Wavelength=%i", freq, wavelength); - } - - void set_active(bool a) { - active = a; - phase = 0; - bit_state = true; - samples = 0; - ESP_LOGV(LOG_TAG, "Active = %i", a); + bit_state { true }, + channel_status { 0xFF }, + active_channel { -1 } {} + +void Beeper::set_frequency(int freq) { + if(freq > WaveOut::NYQUIST) { + ESP_LOGE(LOG_TAG, "Cannot %i hz!", freq); + return; } - void set_duration(int ms) { - duration_samples = (WaveOut::BAUD_RATE / 1000) * ms; - samples = 0; - } - - size_t fill_buffer(void* buffer, size_t length_) { - if(!active || wavelength == 0) return 0; - - size_t length = length_; - if(duration_samples > 0) { - length = std::min(length, (size_t) (duration_samples / 8) + 1); - } - - int bits_high = wavelength / 2; - int bits_low = wavelength / 2; - - uint32_t bit_number = phase; - uint8_t* buff = (uint8_t*) buffer; - for(int i = 0; i < length; i++) { - if((bit_state ? bits_high : bits_low) - bit_number >= 8 && (duration_samples - samples) >= 8) { - if(bit_state) - buff[i] = 0xFF; - else - buff[i] = 0x00; - bit_number += 8; - samples += 8; - if(bit_number >= (bit_state ? bits_high : bits_low)) { - bit_number -= (bit_state ? bits_high : bits_low); - bit_state = !bit_state; - } - } else { - buff[i] = 0x0; - for(int j = 0; j < 8; j++) { - bit_number++; - samples++; - if(duration_samples == 0 || duration_samples > samples) { - if(bit_state) { - buff[i] |= (1 << (7 - j)); - } - if(bit_number >= (bit_state ? bits_high : bits_low)) { - bit_number -= (bit_state ? bits_high : bits_low); - bit_state = !bit_state; - } - } - } - } - if(duration_samples != 0 && samples >= duration_samples) { - active = false; - phase = 0; - bit_state = true; - return length; - } - } - phase = bit_number; - return length; - } + wavelength = (WaveOut::BAUD_RATE / freq); + phase = 0; + bit_state = true; + samples = 0; + ESP_LOGV(LOG_TAG, "Freq=%i, Wavelength=%i", freq, wavelength); +} -private: - int samples; - int phase; - int wavelength; - int duration_samples; - bool active; - bool bit_state; -}; - -Beeper::Beeper() { - channel_status = 0xFF; - active_channel = -1; - fallback_synthesizer = new Buzzer(); - WaveOut::set_output_callback([this](uint8_t* buf, size_t len) { return fallback_synthesizer->fill_buffer(buf, len); }); +void Beeper::set_active(bool a) { + active = a; + phase = 0; + bit_state = true; + samples = 0; + ESP_LOGV(LOG_TAG, "Active = %i", a); } -Beeper::~Beeper() { - delete fallback_synthesizer; +void Beeper::set_duration(int ms) { + duration_samples = (WaveOut::BAUD_RATE / 1000) * ms; + samples = 0; } void Beeper::set_channel_state(beeper_channel_t ch, bool active) { @@ -128,22 +54,74 @@ bool Beeper::is_channel_enabled(beeper_channel_t ch) { return (channel_status & (1 << ch)) > 0; } +size_t Beeper::fill_buffer(void* buffer, size_t length_) { + if(!active || wavelength == 0) return 0; + + size_t length = length_; + if(duration_samples > 0) { + length = std::min(length, (size_t) (duration_samples / 8) + 1); + } + + int bits_high = wavelength / 2; + int bits_low = wavelength / 2; + + uint32_t bit_number = phase; + uint8_t* buff = (uint8_t*) buffer; + for(int i = 0; i < length; i++) { + if((bit_state ? bits_high : bits_low) - bit_number >= 8 && (duration_samples - samples) >= 8) { + if(bit_state) + buff[i] = 0xFF; + else + buff[i] = 0x00; + bit_number += 8; + samples += 8; + if(bit_number >= (bit_state ? bits_high : bits_low)) { + bit_number -= (bit_state ? bits_high : bits_low); + bit_state = !bit_state; + } + } else { + buff[i] = 0x0; + for(int j = 0; j < 8; j++) { + bit_number++; + samples++; + if(duration_samples == 0 || duration_samples > samples) { + if(bit_state) { + buff[i] |= (1 << (7 - j)); + } + if(bit_number >= (bit_state ? bits_high : bits_low)) { + bit_number -= (bit_state ? bits_high : bits_low); + bit_state = !bit_state; + } + } + } + } + if(duration_samples != 0 && samples >= duration_samples) { + active = false; + phase = 0; + bit_state = true; + return length; + } + } + phase = bit_number; + return length; +} + void Beeper::start_tone(beeper_channel_t ch, uint freq, uint16_t duty) { if(active_channel > ch) return; if(!is_channel_enabled(ch)) return; if(active_channel < ch) active_channel = ch; - - fallback_synthesizer->set_duration(0); - fallback_synthesizer->set_frequency(freq); - fallback_synthesizer->set_active(true); + + set_duration(0); + set_frequency(freq); + set_active(true); } void Beeper::stop_tone(beeper_channel_t ch) { if(active_channel != ch) return; active_channel = -1; - fallback_synthesizer->set_active(false); + set_active(false); } void Beeper::beep_blocking(beeper_channel_t ch, uint freq, uint len, uint16_t duty) { @@ -151,10 +129,10 @@ void Beeper::beep_blocking(beeper_channel_t ch, uint freq, uint len, uint16_t du if(!is_channel_enabled(ch)) return; if(active_channel < ch) active_channel = ch; - - fallback_synthesizer->set_duration(len); - fallback_synthesizer->set_frequency(freq); - fallback_synthesizer->set_active(true); + + set_duration(len); + set_frequency(freq); + set_active(true); vTaskDelay(len); active_channel = -1; diff --git a/src/sound/waveout.cpp b/src/sound/waveout.cpp index 43ec970..ddcfb21 100644 --- a/src/sound/waveout.cpp +++ b/src/sound/waveout.cpp @@ -5,7 +5,7 @@ static char LOG_TAG[] = "WOUT"; bool WaveOut::i2sInited = false; TaskHandle_t WaveOut::hTask = NULL; -WaveGeneratorCallback WaveOut::callback = [](uint8_t*, size_t) { return 0; }; +WaveGeneratorCallback WaveOut::callback = NULL_GENERATOR; void WaveOut::init_I2S(gpio_num_t pin) { if(WaveOut::i2sInited) return; From ba52e72a897287865da15f074d2b188a3406a687 Mon Sep 17 00:00:00 2001 From: akasaka Date: Thu, 1 Aug 2024 12:17:35 +0900 Subject: [PATCH 19/26] Simple is best (SquareGenerator) --- include/sound/beeper.h | 22 +++-- include/sound/mixer.h | 48 ----------- include/sound/waveout.h | 18 +++-- src/main.cpp | 9 +-- src/sound/beeper.cpp | 174 +++++++++++++++++++++------------------- src/sound/waveout.cpp | 13 +-- 6 files changed, 130 insertions(+), 154 deletions(-) delete mode 100644 include/sound/mixer.h diff --git a/include/sound/beeper.h b/include/sound/beeper.h index 81e8b7d..7215029 100644 --- a/include/sound/beeper.h +++ b/include/sound/beeper.h @@ -1,6 +1,6 @@ #pragma once +#include #include -#include typedef enum beeper_channels { /// @brief Channel for ambient sounds (clock ticking, etc) CHANNEL_AMBIANCE = 0, @@ -17,6 +17,16 @@ typedef enum beeper_channels { static const uint16_t DUTY_SQUARE = 2; +class ToneGenerator { +public: + enum Parameter { + PARAMETER_FREQUENCY, + PARAMETER_ACTIVE + }; + virtual size_t generate_samples(void* buffer, size_t length, uint32_t wanted_samples) { return 0; } + virtual void set_parameter(Parameter p, int v) { } +}; + class Beeper: public WaveGenerator { public: Beeper(); @@ -31,15 +41,11 @@ class Beeper: public WaveGenerator { /// @brief Play a tone for a precise amount of milliseconds. Blocks the whole tasks and might block neighboring tasks, so use sparingly. void beep_blocking(beeper_channel_t, uint freq, uint len, uint16_t duty = DUTY_SQUARE); private: + static const uint8_t POLY_VOICES = 2; + static const uint8_t DEFAULT_BEEP_VOICE_IDX = 0; + ToneGenerator* voices[POLY_VOICES]; uint8_t channel_status; int active_channel; int samples; - int phase; - int wavelength; int duration_samples; - bool active; - bool bit_state; - void set_frequency(int freq); - void set_duration(int ms); - void set_active(bool a); }; \ No newline at end of file diff --git a/include/sound/mixer.h b/include/sound/mixer.h deleted file mode 100644 index 04f5362..0000000 --- a/include/sound/mixer.h +++ /dev/null @@ -1,48 +0,0 @@ -#pragma once -#include -#include - -class WaveGenerator { -public: - virtual size_t fill_buffer(void* buffer, size_t length) { return 0; } - WaveGeneratorCallback get_callback() { - return [this](uint8_t* buf, size_t len) { return this->fill_buffer(buf, len); }; - } -}; - -// class WaveMixer: public WaveGenerator { -// public: -// WaveMixer() {} -// size_t fill_buffer(void* buffer, size_t length) override { -// size_t written = 0; -// uint8_t tmp[length] = { 0 }; -// uint8_t* buf = (uint8_t*) buffer; -// for(mixer_channel_t ch = (mixer_channel_t) 0; ch < CHANNEL_MAX_INVALID; ch = (mixer_channel_t) (ch + 1)) { -// if(is_channel_on(ch)) { -// size_t cur_ch_samples = generators[ch](tmp, length); -// if(cur_ch_samples > written) written = cur_ch_samples; -// for(int i = 0; i < cur_ch_samples; i++) { -// buf[i] |= tmp[i]; -// } -// } -// } -// return written; -// } - -// void set_channel_state(mixer_channel_t channel, bool sts) { -// if(sts) { -// channel_status |= (1 << channel); -// } else { -// channel_status &= ~(1 << channel); -// } -// } - -// void set_channel_callback(mixer_channel_t channel, const WaveGeneratorCallback cb) { -// generators[channel] = cb; -// } - -// private: -// WaveGeneratorCallback generators[CHANNEL_MAX_INVALID] = { NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR, NULL_GENERATOR }; -// uint8_t channel_status = 0xFF; -// bool is_channel_on(mixer_channel_t ch) { return (channel_status & (1 << ch)) != 0; } -// }; \ No newline at end of file diff --git a/include/sound/waveout.h b/include/sound/waveout.h index 0f64d08..20f5d3f 100644 --- a/include/sound/waveout.h +++ b/include/sound/waveout.h @@ -9,20 +9,28 @@ static const WaveGeneratorCallback NULL_GENERATOR = [](uint8_t*, size_t) { retur class WaveOut { public: - static const size_t SAMPLE_RATE = 11025; static const int BAUD_RATE = 352800; // <- don't ask why this is 4 times larger, I don't know myself static const int NYQUIST = BAUD_RATE / 2; // <- we are not using this to connect a DAC but directly a speaker to the data bus, so the max possible frequency is achieved when outputting 01010101... + static const size_t RENDER_CHUNK_SIZE = 128; static void init_I2S(gpio_num_t pin); static void set_output_callback(WaveGeneratorCallback callback); private: + static const size_t SAMPLE_RATE = 11025; static const i2s_port_t I2S_NUM = I2S_NUM_0; - static const size_t DMA_BUF_LEN = 256; - static const size_t DMA_NUM_BUF = 4; - static const size_t RENDER_CHUNK_SIZE = DMA_BUF_LEN; + static const size_t DMA_BUF_LEN = RENDER_CHUNK_SIZE; + static const size_t DMA_NUM_BUF = 2; static bool i2sInited; static TaskHandle_t hTask; static void task(void*); static WaveGeneratorCallback callback; -}; \ No newline at end of file +}; + +class WaveGenerator { +public: + virtual size_t fill_buffer(void* buffer, size_t length) { return 0; } + WaveGeneratorCallback get_callback() { + return [this](void* buf, size_t len) { return this->fill_buffer(buf, len); }; + } +}; diff --git a/src/main.cpp b/src/main.cpp index 41744af..0f43497 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -182,7 +182,7 @@ void setup() { heap_caps_malloc_extmem_enable(16); #endif - // The SPI driver messes up display pinmux, so it must initialize first + // The I2S driver messes up display pinmux, so it must initialize first WaveOut::init_I2S(HWCONF_BEEPER_GPIO); display_driver.initialize(); @@ -204,13 +204,8 @@ void setup() { con->print(PRODUCT_NAME " v" PRODUCT_VERSION); bringup_sound(); - // while(1){ - // beepola->start_tone(CHANNEL_SYSTEM, 440); - // delay(500); - // beepola->stop_tone(CHANNEL_SYSTEM); - // delay(500); - // } bs = new BeepSequencer(beepola); + bs->play_sequence(pc98_pipo, CHANNEL_SYSTEM, SEQUENCER_NO_REPEAT); #if HAS(TOUCH_PLANE) diff --git a/src/sound/beeper.cpp b/src/sound/beeper.cpp index f639b88..b2b02d6 100644 --- a/src/sound/beeper.cpp +++ b/src/sound/beeper.cpp @@ -5,38 +5,83 @@ static char LOG_TAG[] = "BOOP"; -Beeper::Beeper(): phase{0}, +class SquareGenerator: public ToneGenerator { +public: + SquareGenerator(): + phase{0}, wavelength{0}, - duration_samples{0}, active { false }, - bit_state { true }, - channel_status { 0xFF }, - active_channel { -1 } {} + duty_offset { 0 } + {} + + void set_frequency(int freq) { + if(freq > WaveOut::NYQUIST) { + ESP_LOGE(LOG_TAG, "Cannot %i hz!", freq); + return; + } -void Beeper::set_frequency(int freq) { - if(freq > WaveOut::NYQUIST) { - ESP_LOGE(LOG_TAG, "Cannot %i hz!", freq); - return; + wavelength = (WaveOut::BAUD_RATE / freq); + phase = 0; + ESP_LOGV(LOG_TAG, "Freq=%i, Wavelength=%i", freq, wavelength); } - wavelength = (WaveOut::BAUD_RATE / freq); - phase = 0; - bit_state = true; - samples = 0; - ESP_LOGV(LOG_TAG, "Freq=%i, Wavelength=%i", freq, wavelength); -} + void set_active(bool a) { + active = a; + phase = 0; + ESP_LOGV(LOG_TAG, "Active = %i", a); + } -void Beeper::set_active(bool a) { - active = a; - phase = 0; - bit_state = true; - samples = 0; - ESP_LOGV(LOG_TAG, "Active = %i", a); -} + void set_parameter(Parameter p, int v) override { + switch(p) { + case PARAMETER_ACTIVE: + set_active(v != 0); + break; -void Beeper::set_duration(int ms) { - duration_samples = (WaveOut::BAUD_RATE / 1000) * ms; - samples = 0; + case PARAMETER_FREQUENCY: + set_frequency(v); + break; + + default: break; + } + } + + size_t generate_samples(void* buffer, size_t length, uint32_t want_samples_) override { + if(!active || wavelength == 0) return 0; + + int bits_high = wavelength / 2 - duty_offset; + uint8_t* buff = (uint8_t*) buffer; + uint32_t want_samples = want_samples == 0 ? (length * 8) : std::min(want_samples_, length * 8); + size_t idx = 0; + int bit = 7; + + for(int s = 0; s < want_samples; s++) { + bool state = (phase < bits_high); + idx = s / 8; + bit = 8 - (s % 8); + if(state) { + buff[idx] |= (1 << bit); + } + phase = (phase + 1) % wavelength; + } + + return idx + 1; + } + +private: + int phase; + int wavelength; + int duty_offset; + bool active; +}; + +Beeper::Beeper(): + duration_samples{0}, + samples {0}, + channel_status { 0xFF }, + active_channel { -1 } { + for(int i = 0; i < POLY_VOICES; i++) { + voices[i] = new SquareGenerator(); + } } void Beeper::set_channel_state(beeper_channel_t ch, bool active) { @@ -55,55 +100,21 @@ bool Beeper::is_channel_enabled(beeper_channel_t ch) { } size_t Beeper::fill_buffer(void* buffer, size_t length_) { - if(!active || wavelength == 0) return 0; - - size_t length = length_; - if(duration_samples > 0) { - length = std::min(length, (size_t) (duration_samples / 8) + 1); - } - - int bits_high = wavelength / 2; - int bits_low = wavelength / 2; - - uint32_t bit_number = phase; - uint8_t* buff = (uint8_t*) buffer; - for(int i = 0; i < length; i++) { - if((bit_state ? bits_high : bits_low) - bit_number >= 8 && (duration_samples - samples) >= 8) { - if(bit_state) - buff[i] = 0xFF; - else - buff[i] = 0x00; - bit_number += 8; - samples += 8; - if(bit_number >= (bit_state ? bits_high : bits_low)) { - bit_number -= (bit_state ? bits_high : bits_low); - bit_state = !bit_state; - } - } else { - buff[i] = 0x0; - for(int j = 0; j < 8; j++) { - bit_number++; - samples++; - if(duration_samples == 0 || duration_samples > samples) { - if(bit_state) { - buff[i] |= (1 << (7 - j)); - } - if(bit_number >= (bit_state ? bits_high : bits_low)) { - bit_number -= (bit_state ? bits_high : bits_low); - bit_state = !bit_state; - } - } - } - } - if(duration_samples != 0 && samples >= duration_samples) { - active = false; - phase = 0; - bit_state = true; - return length; - } + int want_samples = duration_samples == 0? 0: (duration_samples - samples); + size_t length = duration_samples == 0? length_ : std::min(length_, (size_t) (want_samples / 8)); + size_t generated = 0; + for(int i = 0; i < POLY_VOICES; i++) { + size_t cur = voices[i]->generate_samples(buffer, length, want_samples); //<- voices are expected to mix on their own + if(cur > generated) generated = cur; + } + samples += generated*8; + if(duration_samples > 0 && duration_samples <= samples) { + // quiescent time has ended, in here you would take the next sequence step and enact it + // then update the duration to the next one. + // for now we just beep... or unbeep + voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_ACTIVE, false); } - phase = bit_number; - return length; + return generated; } void Beeper::start_tone(beeper_channel_t ch, uint freq, uint16_t duty) { @@ -112,16 +123,17 @@ void Beeper::start_tone(beeper_channel_t ch, uint freq, uint16_t duty) { if(active_channel < ch) active_channel = ch; - set_duration(0); - set_frequency(freq); - set_active(true); + duration_samples = 0; + samples = 0; + voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_FREQUENCY, freq); + voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_ACTIVE, true); } void Beeper::stop_tone(beeper_channel_t ch) { if(active_channel != ch) return; active_channel = -1; - set_active(false); + voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_ACTIVE, false); } void Beeper::beep_blocking(beeper_channel_t ch, uint freq, uint len, uint16_t duty) { @@ -130,10 +142,10 @@ void Beeper::beep_blocking(beeper_channel_t ch, uint freq, uint len, uint16_t du if(active_channel < ch) active_channel = ch; - set_duration(len); - set_frequency(freq); - set_active(true); + samples = 0; + duration_samples = len * (WaveOut::BAUD_RATE / 1000); + voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_FREQUENCY, freq); + voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_ACTIVE, true); vTaskDelay(len); - active_channel = -1; } \ No newline at end of file diff --git a/src/sound/waveout.cpp b/src/sound/waveout.cpp index ddcfb21..1ebd758 100644 --- a/src/sound/waveout.cpp +++ b/src/sound/waveout.cpp @@ -19,7 +19,7 @@ void WaveOut::init_I2S(gpio_num_t pin) { .intr_alloc_flags = ESP_INTR_FLAG_LEVEL2, .dma_buf_count = DMA_NUM_BUF, .dma_buf_len = DMA_BUF_LEN, - .use_apll = false, + .use_apll = true, .bits_per_chan = I2S_BITS_PER_CHAN_DEFAULT }; @@ -48,14 +48,17 @@ void WaveOut::init_I2S(gpio_num_t pin) { } void WaveOut::task(void*) { - uint8_t chunk[RENDER_CHUNK_SIZE]; - uint8_t null[RENDER_CHUNK_SIZE] = { 0xFF }; - size_t out_size = 0; + static uint8_t chunk[RENDER_CHUNK_SIZE] = { 0x0 }; + static const uint8_t null[RENDER_CHUNK_SIZE] = { 0xFF }; + static uint32_t * fast_chunk = (uint32_t*) chunk; + const size_t fast_chunk_size = RENDER_CHUNK_SIZE / sizeof(uint32_t); + static size_t out_size = 0; while(1) { size_t generated_bytes = callback(chunk, RENDER_CHUNK_SIZE); if(generated_bytes > 0) { - for(size_t i = 0; i < generated_bytes; i++) chunk[i] = ~chunk[i]; + for(size_t i = 0; i < fast_chunk_size; i++) fast_chunk[i] = ~fast_chunk[i]; i2s_write(I2S_NUM, chunk, generated_bytes, &out_size, portMAX_DELAY); + memset(chunk, 0, RENDER_CHUNK_SIZE); } else { i2s_write(I2S_NUM, null, RENDER_CHUNK_SIZE, &out_size, portMAX_DELAY); } From 89ba8cd9fe2dee55b76fd1df150702b7199bb984 Mon Sep 17 00:00:00 2001 From: akasaka Date: Thu, 1 Aug 2024 12:21:31 +0900 Subject: [PATCH 20/26] fix minor timer UI hiccup --- src/app/timer_editor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/timer_editor.cpp b/src/app/timer_editor.cpp index 26ba01c..95a5dd5 100644 --- a/src/app/timer_editor.cpp +++ b/src/app/timer_editor.cpp @@ -41,9 +41,6 @@ class AppShimTimerEditor::TimerEditorMainScreen: public Composite { }); } load_prefs(); - hourView->value = hour; - minuteView->value = minute; - secondView->value = second; cursorTimer = 0; isRunning = false; @@ -175,6 +172,9 @@ class AppShimTimerEditor::TimerEditorMainScreen: public Composite { minute = (saved_time % 3600) / 60; second = saved_time % 60; cursorPosition = saved_time == 0 ? CursorPosition::SECOND : CursorPosition::PLAY_PAUSE; + hourView->value = hour; + minuteView->value = minute; + secondView->value = second; } void save_prefs() { From ff4242a6847b310ebeb3cbb08c67058a78ccc7dc Mon Sep 17 00:00:00 2001 From: akasaka Date: Thu, 1 Aug 2024 17:20:39 +0900 Subject: [PATCH 21/26] New refined sequencer --- include/app/alarm_editor.h | 4 +- include/app/alarming.h | 11 +- include/app/idle.h | 7 +- include/app/menu.h | 3 +- include/app/timer_editor.h | 2 +- include/network/otafvu.h | 6 +- include/os_config.h | 6 +- include/sound/beeper.h | 16 +- include/sound/generators.h | 82 + include/sound/melodies.h | 20 +- include/sound/sequencer.h | 49 +- include/sound/waveout.h | 6 +- include/views/menu/melody_selection_item.h | 15 +- src/app/alarm_editor.cpp | 9 +- src/app/alarming.cpp | 13 +- src/app/idle.cpp | 10 +- src/app/menu.cpp | 9 +- src/app/timer_editor.cpp | 17 +- src/main.cpp | 22 +- src/network/admin_panel.cpp | 9 - src/network/otafvu.cpp | 6 +- src/sound/beeper.cpp | 96 +- src/sound/melodies.cpp | 4202 ++++++++++---------- src/sound/sequencer.cpp | 141 +- src/sound/waveout.cpp | 16 +- 25 files changed, 2376 insertions(+), 2401 deletions(-) create mode 100644 include/sound/generators.h diff --git a/include/app/alarm_editor.h b/include/app/alarm_editor.h index d73d059..b2423bf 100644 --- a/include/app/alarm_editor.h +++ b/include/app/alarm_editor.h @@ -1,17 +1,19 @@ #pragma once #include #include +#include #include #include "proto/navmenu.h" class AppShimAlarmEditor: public ProtoShimNavMenu { public: - AppShimAlarmEditor(Beeper*); + AppShimAlarmEditor(Beeper*, NewSequencer*); void pop_renderable(transition_type_t = TRANSITION_SLIDE_HORIZONTAL_RIGHT); private: class AlarmEditorView; Beeper * beeper; + NewSequencer * sequencer; int current_editing_idx; alarm_setting_t current_editing_setting; diff --git a/include/app/alarming.h b/include/app/alarming.h index 5dd7d11..70f0017 100644 --- a/include/app/alarming.h +++ b/include/app/alarming.h @@ -2,20 +2,21 @@ #include #include #include +#include #include -void app_alarming_prepare(Beeper*); +void app_alarming_prepare(NewSequencer*); void app_alarming_draw(FantaManipulator*); void app_alarming_process(); class AppShimAlarming: public Renderable { public: - AppShimAlarming(Beeper*b) { - beeper = b; + AppShimAlarming(NewSequencer*b) { + sequencer = b; } void prepare() { - app_alarming_prepare(beeper); + app_alarming_prepare(sequencer); } void render(FantaManipulator*fb) { @@ -26,5 +27,5 @@ class AppShimAlarming: public Renderable { app_alarming_process(); } private: - Beeper *beeper; + NewSequencer *sequencer; }; \ No newline at end of file diff --git a/include/app/idle.h b/include/app/idle.h index 2262e2e..a0642eb 100644 --- a/include/app/idle.h +++ b/include/app/idle.h @@ -2,16 +2,17 @@ #include #include #include +#include #include -void app_idle_prepare(SensorPool*, Beeper*); +void app_idle_prepare(SensorPool*, Beeper*, NewSequencer*); void app_idle_draw(FantaManipulator*); void app_idle_process(); class AppShimIdle: public Renderable { public: - AppShimIdle(SensorPool*sp, Beeper*b) { - app_idle_prepare(sp, b); + AppShimIdle(SensorPool*sp, Beeper*b, NewSequencer*s) { + app_idle_prepare(sp, b, s); } void render(FantaManipulator*fb) { diff --git a/include/app/menu.h b/include/app/menu.h index b0b9d82..c302b8e 100644 --- a/include/app/menu.h +++ b/include/app/menu.h @@ -3,11 +3,12 @@ #include #include #include +#include #include class AppShimMenu: public ProtoShimNavMenu { public: - AppShimMenu(Beeper*); + AppShimMenu(Beeper*, NewSequencer*); void prepare(); void step(); diff --git a/include/app/timer_editor.h b/include/app/timer_editor.h index 02c3ac5..b463f83 100644 --- a/include/app/timer_editor.h +++ b/include/app/timer_editor.h @@ -7,7 +7,7 @@ class AppShimTimerEditor: public ProtoShimNavigationStack { public: - AppShimTimerEditor(Beeper *); + AppShimTimerEditor(Beeper *, NewSequencer *); ~AppShimTimerEditor(); private: class TimerEditorMainScreen; diff --git a/include/network/otafvu.h b/include/network/otafvu.h index fd9f515..6a35de7 100644 --- a/include/network/otafvu.h +++ b/include/network/otafvu.h @@ -8,14 +8,14 @@ /// @brief Manages the ArduinoOTA update service class OTAFVUManager { public: - OTAFVUManager(Console*, BeepSequencer*); + OTAFVUManager(Console*, NewSequencer*); ~OTAFVUManager(); /// @brief Perform pending work of the service. Normally this is called by the internal task of the service and doesn't need to be called externally. void task(); private: Console *con; - BeepSequencer *seq; + NewSequencer *seq; /// @brief Prepare to install an OTA update void get_ready(); @@ -28,7 +28,7 @@ class OTAFVUManager { #else class OTAFVUManager { public: - OTAFVUManager(Console*, BeepSequencer*) {} + OTAFVUManager(Console*, NewSequencer*) {} ~OTAFVUManager() {} }; #endif \ No newline at end of file diff --git a/include/os_config.h b/include/os_config.h index 6dc5941..8561f59 100644 --- a/include/os_config.h +++ b/include/os_config.h @@ -17,4 +17,8 @@ #define pisosTASK_PRIORITY_POWER_MANAGEMENT 4 #define pisosTASK_PRIORITY_WORDNIK 1 #define pisosTASK_PRIORITY_WEATHER 1 -#define pisosTASK_PRIORITY_MELODY_SEQUENCER 7 + +// ----- WaveOut channels ----- + +#define pisosWAVE_CHANNEL_BEEPER 0 +#define pisosWAVE_CHANNEL_SEQUENCER 1 \ No newline at end of file diff --git a/include/sound/beeper.h b/include/sound/beeper.h index 7215029..75da021 100644 --- a/include/sound/beeper.h +++ b/include/sound/beeper.h @@ -1,5 +1,6 @@ #pragma once #include +#include #include typedef enum beeper_channels { /// @brief Channel for ambient sounds (clock ticking, etc) @@ -17,19 +18,10 @@ typedef enum beeper_channels { static const uint16_t DUTY_SQUARE = 2; -class ToneGenerator { -public: - enum Parameter { - PARAMETER_FREQUENCY, - PARAMETER_ACTIVE - }; - virtual size_t generate_samples(void* buffer, size_t length, uint32_t wanted_samples) { return 0; } - virtual void set_parameter(Parameter p, int v) { } -}; - class Beeper: public WaveGenerator { public: Beeper(); + ~Beeper(); void set_channel_state(beeper_channel_t, bool); bool is_channel_enabled(beeper_channel_t); @@ -41,9 +33,7 @@ class Beeper: public WaveGenerator { /// @brief Play a tone for a precise amount of milliseconds. Blocks the whole tasks and might block neighboring tasks, so use sparingly. void beep_blocking(beeper_channel_t, uint freq, uint len, uint16_t duty = DUTY_SQUARE); private: - static const uint8_t POLY_VOICES = 2; - static const uint8_t DEFAULT_BEEP_VOICE_IDX = 0; - ToneGenerator* voices[POLY_VOICES]; + ToneGenerator* voice; uint8_t channel_status; int active_channel; int samples; diff --git a/include/sound/generators.h b/include/sound/generators.h new file mode 100644 index 0000000..5fcbcd3 --- /dev/null +++ b/include/sound/generators.h @@ -0,0 +1,82 @@ +#pragma once +#include + +class ToneGenerator { +public: + enum Parameter { + PARAMETER_FREQUENCY, + PARAMETER_ACTIVE + }; + virtual size_t generate_samples(void* buffer, size_t length, uint32_t wanted_samples) { return 0; } + virtual void set_parameter(Parameter p, int v) { } +}; + + +class SquareGenerator: public ToneGenerator { +public: + SquareGenerator(): + phase{0}, + wavelength{0}, + active { false }, + duty_offset { 0 } + {} + + void set_frequency(int freq) { + if(freq == 0) return; + if(freq > WaveOut::NYQUIST) { + ESP_LOGE("SQGEN", "Cannot %i hz!", freq); + return; + } + + wavelength = (WaveOut::BAUD_RATE / freq); + phase = 0; + } + + void set_active(bool a) { + active = a; + phase = 0; + } + + void set_parameter(Parameter p, int v) override { + switch(p) { + case PARAMETER_ACTIVE: + set_active(v != 0); + break; + + case PARAMETER_FREQUENCY: + set_frequency(v); + set_active(v != 0); + break; + + default: break; + } + } + + size_t generate_samples(void* buffer, size_t length, uint32_t want_samples_) override { + if(!active || wavelength == 0) return 0; + + int bits_high = wavelength / 2 - duty_offset; + uint8_t* buff = (uint8_t*) buffer; + uint32_t want_samples = want_samples == 0 ? (length * 8) : std::min(want_samples_, length * 8); + size_t idx = 0; + int bit = 7; + + for(int s = 0; s < want_samples; s++) { + bool state = (phase < bits_high); + idx = s / 8; + bit = 8 - (s % 8); + if(state) { + buff[idx] |= (1 << bit); + } + phase = (phase + 1) % wavelength; + } + + return idx + 1; + } + +private: + int phase; + int wavelength; + int duty_offset; + bool active; +}; diff --git a/include/sound/melodies.h b/include/sound/melodies.h index ee7f1c6..87f1327 100644 --- a/include/sound/melodies.h +++ b/include/sound/melodies.h @@ -6,26 +6,10 @@ extern const melody_sequence_t just_beep; extern const melody_sequence_t pc98_pipo; extern const melody_sequence_t tulula_fvu; extern const melody_sequence_t oelutz_fvu; -extern const melody_sequence_t arise; -extern const melody_sequence_t caramell; -extern const melody_sequence_t duvet; -extern const melody_sequence_t truth; -extern const melody_sequence_t haruhi_no_omoi; -extern const melody_sequence_t wpip; -extern const melody_sequence_t hishoku; -extern const melody_sequence_t bouken; -extern const melody_sequence_t gentle_jena; -extern const melody_sequence_t gammapolisz; -extern const melody_sequence_t like_the_wind; -extern const melody_sequence_t waiting_freqs; -extern const melody_sequence_t the_way; -extern const melody_sequence_t guitar_hero; -extern const melody_sequence_t syabon; -extern const melody_sequence_t steiner; -extern const melody_sequence_t towa; + extern const char * all_chime_names_csv; extern const std::vector all_chime_names; extern const melody_sequence_t all_chime_list[]; extern const int all_chime_count; -melody_sequence_t melody_from_no(int melody_no); \ No newline at end of file +const melody_sequence_t * melody_from_no(int melody_no); \ No newline at end of file diff --git a/include/sound/sequencer.h b/include/sound/sequencer.h index 7233ae4..1e02d45 100644 --- a/include/sound/sequencer.h +++ b/include/sound/sequencer.h @@ -1,14 +1,18 @@ #pragma once #include +#include -#define SEQ_LEN_FLAG_TIMBRE_SET (INT_MAX - 1) -#define SEQ_LEN_FLAG_THE_LOOPAH (INT_MAX - 2) +typedef enum melody_item_type { + FREQ_SET, // or 0 to turn off + DELAY, + LOOP_POINT_SET, + MAX_INVALID +} melody_item_type_t; typedef struct melody_item { - /// @brief Frequency of the note in Hz. 0 for a pause. - int frequency; - /// @brief Length of the note in ms. - int length; + const melody_item_type_t command : 4; + const uint8_t channel : 4; + const int argument1; } melody_item_t; typedef struct melody_sequence { @@ -19,29 +23,24 @@ typedef struct melody_sequence { #define SEQUENCER_REPEAT_INDEFINITELY -1 #define SEQUENCER_NO_REPEAT 0 -class BeepSequencer { +class NewSequencer: public WaveGenerator { public: - BeepSequencer(Beeper*); - ~BeepSequencer(); - - void play_sequence(const melody_sequence_t, beeper_channel_t, int repeat); + NewSequencer(); + ~NewSequencer(); + void play_sequence(const melody_sequence_t *, int repeat); void stop_sequence(); - /// @brief Block the current task until the playback has finished. void wait_end_play(); - - void task(); + size_t fill_buffer(void* buffer, size_t length) override; + private: - uint32_t timbre; - Beeper * beeper; - melody_sequence_t current_sequence; - beeper_channel_t current_channel; + static const int CHANNELS = 4; + ToneGenerator * voices[CHANNELS] = { nullptr }; + const melody_sequence_t * sequence; size_t pointer; size_t loop_point; - bool is_running; int repetitions; - TaskHandle_t hTask; - EventGroupHandle_t waitEndGroup; - - void start_task(); - void end_task(); -}; \ No newline at end of file + bool is_running; + EventGroupHandle_t wait_end_group; + int remaining_delay_samples; + void process_steps_until_delay(); +}; diff --git a/include/sound/waveout.h b/include/sound/waveout.h index 20f5d3f..65720cc 100644 --- a/include/sound/waveout.h +++ b/include/sound/waveout.h @@ -3,6 +3,7 @@ #include #include +/// @brief A wave generator callback. Due to resource constraints you are expected to mix with the buffer, not overwrite it. typedef std::function WaveGeneratorCallback; static const WaveGeneratorCallback NULL_GENERATOR = [](uint8_t*, size_t) { return 0; }; @@ -12,9 +13,10 @@ class WaveOut { static const int BAUD_RATE = 352800; // <- don't ask why this is 4 times larger, I don't know myself static const int NYQUIST = BAUD_RATE / 2; // <- we are not using this to connect a DAC but directly a speaker to the data bus, so the max possible frequency is achieved when outputting 01010101... static const size_t RENDER_CHUNK_SIZE = 128; + static const int CHANNEL_COUNT = 2; static void init_I2S(gpio_num_t pin); - static void set_output_callback(WaveGeneratorCallback callback); + static void set_output_callback(int channel, WaveGeneratorCallback callback); private: static const size_t SAMPLE_RATE = 11025; @@ -24,7 +26,7 @@ class WaveOut { static bool i2sInited; static TaskHandle_t hTask; static void task(void*); - static WaveGeneratorCallback callback; + static WaveGeneratorCallback callback[CHANNEL_COUNT]; }; class WaveGenerator { diff --git a/include/views/menu/melody_selection_item.h b/include/views/menu/melody_selection_item.h index 9579b8d..88bf5ef 100644 --- a/include/views/menu/melody_selection_item.h +++ b/include/views/menu/melody_selection_item.h @@ -4,7 +4,7 @@ class MenuMelodySelectorView: public MenuListSelectorView { public: - MenuMelodySelectorView(Beeper * preview, const char * title, int melodyNo, std::function onActivated, std::function onChange): + MenuMelodySelectorView(NewSequencer * preview, const char * title, int melodyNo, std::function onActivated, std::function onChange): MenuListSelectorView( title, all_chime_names, @@ -17,26 +17,21 @@ class MenuMelodySelectorView: public MenuListSelectorView { [this, onChange](int newMelodyNo) { sequencer->stop_sequence(); if(newMelodyNo != all_chime_count) // Don't play the random one - sequencer->play_sequence(melody_from_no(newMelodyNo), CHANNEL_NOTICE, SEQUENCER_NO_REPEAT); + sequencer->play_sequence(melody_from_no(newMelodyNo), SEQUENCER_NO_REPEAT); onChange(newMelodyNo); } ) { - if(preview) { - sequencer = new BeepSequencer(preview); - } + sequencer = preview; } - ~MenuMelodySelectorView() { - if(sequencer) delete sequencer; - } private: - BeepSequencer * sequencer; + NewSequencer * sequencer; }; class MenuMelodySelectorPreferenceView: public MenuMelodySelectorView { public: - MenuMelodySelectorPreferenceView(Beeper * preview, const char * title, prefs_key_t prefs_key, std::function onActivated): + MenuMelodySelectorPreferenceView(NewSequencer * preview, const char * title, prefs_key_t prefs_key, std::function onActivated): key(prefs_key), MenuMelodySelectorView(preview, title, prefs_get_int(prefs_key), onActivated, [this](int newVal) { prefs_set_int(key, newVal); }) {} diff --git a/src/app/alarm_editor.cpp b/src/app/alarm_editor.cpp index e05f879..0f85a8b 100644 --- a/src/app/alarm_editor.cpp +++ b/src/app/alarm_editor.cpp @@ -149,7 +149,7 @@ class AlarmDaySelectorView: public Composite { class AppShimAlarmEditor::AlarmEditorView: public ListView { public: - AlarmEditorView(alarm_setting_t *alm, Beeper *b, std::function activation, std::function pushPop): ListView::ListView() { + AlarmEditorView(alarm_setting_t *alm, Beeper *b, NewSequencer *s, std::function activation, std::function pushPop): ListView::ListView() { setting = alm; ts_view = new MenuTimeSettingView(b, setting->hour, setting->minute, [this, pushPop](int h, int m, int s) { setting->hour = h; @@ -167,7 +167,7 @@ class AppShimAlarmEditor::AlarmEditorView: public ListView { add_view(new MenuBooleanSelectorView("Smart Alarm", alm->smart, [alm](bool newSmart) { alm->smart = newSmart; })); add_view(new MenuNumberSelectorView("Smart margin", 1, 30, 1, alm->smart_margin_minutes, activation, [alm](int newMargin) { alm->smart_margin_minutes = newMargin; })); #endif - add_view(new MenuMelodySelectorView(b, "Melody", alm->melody_no, activation, [alm](int newMelodyNo) { alm->melody_no = newMelodyNo; })); + add_view(new MenuMelodySelectorView(s, "Melody", alm->melody_no, activation, [alm](int newMelodyNo) { alm->melody_no = newMelodyNo; })); } ~AlarmEditorView() { @@ -187,8 +187,9 @@ class AppShimAlarmEditor::AlarmEditorView: public ListView { MenuTimeSettingView *ts_view; }; -AppShimAlarmEditor::AppShimAlarmEditor(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { +AppShimAlarmEditor::AppShimAlarmEditor(Beeper *b, NewSequencer *s): ProtoShimNavMenu::ProtoShimNavMenu() { beeper = b; + sequencer = s; current_editor = nullptr; current_editing_idx = 0; edit_flag = false; @@ -210,7 +211,7 @@ AppShimAlarmEditor::AppShimAlarmEditor(Beeper *b): ProtoShimNavMenu::ProtoShimNa current_editing_idx = editIdx; const alarm_setting_t * settings = get_alarm_list(); current_editing_setting = settings[editIdx]; - current_editor = new AlarmEditorView(¤t_editing_setting, beeper, normalActivationFunction, pushPop); + current_editor = new AlarmEditorView(¤t_editing_setting, beeper, sequencer, normalActivationFunction, pushPop); push_renderable(current_editor, TRANSITION_SLIDE_HORIZONTAL_LEFT); }; diff --git a/src/app/alarming.cpp b/src/app/alarming.cpp index e885095..a16a337 100644 --- a/src/app/alarming.cpp +++ b/src/app/alarming.cpp @@ -31,7 +31,7 @@ typedef enum alarming_state { } alarming_state_t; static SimpleClock *clockView = nullptr; -static BeepSequencer *seq = nullptr; +static NewSequencer *seq = nullptr; static TouchArrowOverlay *arrows = nullptr; static TickType_t snoozeUntil; static alarming_state_t state; @@ -40,12 +40,12 @@ static bool clock_inverting = false; static uint8_t snooze_hold_remain = 0; static int snooze_minutes = 0; static bool is_snoozing = false; -static melody_sequence_t melody; +static const melody_sequence_t * melody; static TickType_t startedAt; static TickType_t maxDur; -void app_alarming_prepare(Beeper* beeper) { +void app_alarming_prepare(NewSequencer* s) { // do this prior to changing state because apparently this may get called from a separate thread, so step() goes ahead of prepare() and thus exits the alarm right away? // TODO: somehow stick the state switching to the UI thread!! and all that startedAt = xTaskGetTickCount(); @@ -53,9 +53,8 @@ void app_alarming_prepare(Beeper* beeper) { if(seq) { seq->stop_sequence(); - free(seq); } - seq = new BeepSequencer(beeper); + seq = s; if(!arrows) arrows = new TouchArrowOverlay(); if(!clockView) clockView = new SimpleClock(); @@ -68,7 +67,7 @@ void app_alarming_prepare(Beeper* beeper) { const alarm_setting_t * alarm = get_triggered_alarm(); if(alarm) { melody = melody_from_no(alarm->melody_no); - seq->play_sequence(melody, CHANNEL_ALARM, SEQUENCER_REPEAT_INDEFINITELY); + seq->play_sequence(melody, SEQUENCER_REPEAT_INDEFINITELY); } power_mgmt_pause(); state = BLINKERING; @@ -285,7 +284,7 @@ void app_alarming_process() { } else if(xTaskGetTickCount() >= snoozeUntil) { is_snoozing = false; state = BLINKERING; - seq->play_sequence(melody, CHANNEL_ALARM, SEQUENCER_REPEAT_INDEFINITELY); + seq->play_sequence(melody, SEQUENCER_REPEAT_INDEFINITELY); } break; diff --git a/src/app/idle.cpp b/src/app/idle.cpp index e2d7129..16d935d 100644 --- a/src/app/idle.cpp +++ b/src/app/idle.cpp @@ -50,7 +50,7 @@ int current_screen_time_ms = 0; static bool did_prepare = false; static Beeper * beepola; -static BeepSequencer * sequencer; +static NewSequencer * sequencer; static SensorPool * sensors; static Renderable * mainView; @@ -110,9 +110,9 @@ void hourly_chime() { && now.hour <= prefs_get_int(PREFS_KEY_HOURLY_CHIME_STOP_HOUR) ) { int melody_no = (now.hour == first_hour) ? prefs_get_int(PREFS_KEY_FIRST_CHIME_MELODY) : prefs_get_int(PREFS_KEY_HOURLY_CHIME_MELODY); - melody_sequence_t melody = melody_from_no(melody_no); + const melody_sequence_t * melody = melody_from_no(melody_no); - sequencer->play_sequence(melody, CHANNEL_CHIME, SEQUENCER_NO_REPEAT); + sequencer->play_sequence(melody, SEQUENCER_NO_REPEAT); } } } @@ -166,12 +166,12 @@ void weather_overlay_update() { } } -void app_idle_prepare(SensorPool* s, Beeper* b) { +void app_idle_prepare(SensorPool* s, Beeper* b, NewSequencer* seq) { if(did_prepare) return; did_prepare = true; beepola = b; - sequencer = new BeepSequencer(beepola); + sequencer = seq; sensors = s; tk_time_of_day now = get_current_time_coarse(); diff --git a/src/app/menu.cpp b/src/app/menu.cpp index dac64ab..1755a07 100644 --- a/src/app/menu.cpp +++ b/src/app/menu.cpp @@ -23,7 +23,7 @@ class UptimeView: public MenuInfoItemView { char buf[16]; }; -AppShimMenu::AppShimMenu(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { +AppShimMenu::AppShimMenu(Beeper *b, NewSequencer *s): ProtoShimNavMenu::ProtoShimNavMenu() { beeper = b; std::function normalActivationFunction = [this](bool isActive, Renderable* instance) { if(isActive) push_renderable(instance, TRANSITION_NONE); @@ -40,8 +40,8 @@ AppShimMenu::AppShimMenu(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { clock_menu->add_view(new MenuBooleanSettingView("Tick sound", PREFS_KEY_TICKING_SOUND)); clock_menu->add_view(new MenuBooleanSettingView("Ticking only when screen on", PREFS_KEY_NO_SOUND_WHEN_OFF)); clock_menu->add_view(new MenuBooleanSettingView("Hourly chime", PREFS_KEY_HOURLY_CHIME_ON)); - clock_menu->add_view(new MenuMelodySelectorPreferenceView(beeper, "First chime", PREFS_KEY_FIRST_CHIME_MELODY, normalActivationFunction)); - clock_menu->add_view(new MenuMelodySelectorPreferenceView(beeper, "Other chimes", PREFS_KEY_HOURLY_CHIME_MELODY, normalActivationFunction)); + clock_menu->add_view(new MenuMelodySelectorPreferenceView(s, "First chime", PREFS_KEY_FIRST_CHIME_MELODY, normalActivationFunction)); + clock_menu->add_view(new MenuMelodySelectorPreferenceView(s, "Other chimes", PREFS_KEY_HOURLY_CHIME_MELODY, normalActivationFunction)); clock_menu->add_view(new MenuNumberSelectorPreferenceView("Chime from", PREFS_KEY_HOURLY_CHIME_START_HOUR, 0, 23, 1, normalActivationFunction)); clock_menu->add_view(new MenuNumberSelectorPreferenceView("Chime until", PREFS_KEY_HOURLY_CHIME_STOP_HOUR, 0, 23, 1, normalActivationFunction)); clock_menu->add_view(new MenuActionItemView("Set time", [this]() { @@ -181,9 +181,6 @@ AppShimMenu::AppShimMenu(Beeper *b): ProtoShimNavMenu::ProtoShimNavMenu() { settings_menu->add_view(new MenuInfoItemView("Notice", "Full settings are only available in the Web UI")); settings_menu->add_view(new MenuActionItemView("Save & Restart", [this](){ prefs_force_save(); - BeepSequencer * s = new BeepSequencer(beeper); - s->play_sequence(tulula_fvu, CHANNEL_ALARM, SEQUENCER_NO_REPEAT); - s->wait_end_play(); ESP.restart(); }, &good_icns)); diff --git a/src/app/timer_editor.cpp b/src/app/timer_editor.cpp index 95a5dd5..1135878 100644 --- a/src/app/timer_editor.cpp +++ b/src/app/timer_editor.cpp @@ -12,7 +12,7 @@ class AppShimTimerEditor::TimerEditorMainScreen: public Composite { that->tick(); } - TimerEditorMainScreen(Beeper *b, std::function _activation) { + TimerEditorMainScreen(Beeper *b, NewSequencer *s, std::function _activation) { hourView = new DroppingDigitView(2, 0, b); minuteView = new DroppingDigitView(2, 0, b); secondView = new DroppingDigitView(2, 0, b); @@ -31,10 +31,10 @@ class AppShimTimerEditor::TimerEditorMainScreen: public Composite { add_composable(secondView); beeper = b; + sequencer = s; activation = _activation; if(beeper != nullptr) { - sequencer = new BeepSequencer(beeper); - melodySelector = new MenuMelodySelectorPreferenceView(beeper, "Timer Melody", PREFS_KEY_TIMER_MELODY, [_activation](bool isActive, Renderable * that) { + melodySelector = new MenuMelodySelectorPreferenceView(sequencer, "Timer Melody", PREFS_KEY_TIMER_MELODY, [_activation](bool isActive, Renderable * that) { if(!isActive) { _activation(false, that); } @@ -54,9 +54,6 @@ class AppShimTimerEditor::TimerEditorMainScreen: public Composite { } ~TimerEditorMainScreen() { - if(sequencer != nullptr) { - delete sequencer; - } if(melodySelector != nullptr) { delete melodySelector; } @@ -141,7 +138,7 @@ class AppShimTimerEditor::TimerEditorMainScreen: public Composite { if(hour == 0 && minute == 0 && second == 0) { isRunning = false; push_state(STATE_TIMER_EDITOR); // in case we are on a different screen - if(sequencer) sequencer->play_sequence(melody_from_no(prefs_get_int(PREFS_KEY_TIMER_MELODY)), CHANNEL_ALARM, SEQUENCER_REPEAT_INDEFINITELY); + if(sequencer) sequencer->play_sequence(melody_from_no(prefs_get_int(PREFS_KEY_TIMER_MELODY)), SEQUENCER_REPEAT_INDEFINITELY); load_prefs(); } else { add_sec(false); @@ -151,7 +148,7 @@ class AppShimTimerEditor::TimerEditorMainScreen: public Composite { private: std::function activation; Beeper *beeper; - BeepSequencer *sequencer; + NewSequencer *sequencer; MenuMelodySelectorPreferenceView * melodySelector; enum CursorPosition { HOUR, MINUTE, SECOND, PLAY_PAUSE @@ -239,8 +236,8 @@ class AppShimTimerEditor::TimerEditorMainScreen: public Composite { } }; -AppShimTimerEditor::AppShimTimerEditor(Beeper * b): ProtoShimNavigationStack( - new TimerEditorMainScreen(b, [this](bool isActive, Renderable * dst) { +AppShimTimerEditor::AppShimTimerEditor(Beeper * b, NewSequencer * s): ProtoShimNavigationStack( + new TimerEditorMainScreen(b, s, [this](bool isActive, Renderable * dst) { if(isActive) push_renderable(dst); else pop_renderable(); }) diff --git a/src/main.cpp b/src/main.cpp index 0f43497..7ab151f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -54,7 +55,7 @@ static Console * con; static SensorPool * sensors; static OTAFVUManager * ota; static Beeper * beepola; -static BeepSequencer * bs; +static NewSequencer * seq; void change_state(device_state_t to, transition_type_t transition) { if(to == STATE_OTAFVU) { @@ -90,7 +91,9 @@ void pop_state(device_state_t expected, transition_type_t transition) { void bringup_sound() { beepola = new Beeper(); - WaveOut::set_output_callback(beepola->get_callback()); + seq = new NewSequencer(); + WaveOut::set_output_callback(pisosWAVE_CHANNEL_BEEPER, beepola->get_callback()); + WaveOut::set_output_callback(pisosWAVE_CHANNEL_SEQUENCER, seq->get_callback()); } void bringup_light_sensor() { @@ -204,9 +207,8 @@ void setup() { con->print(PRODUCT_NAME " v" PRODUCT_VERSION); bringup_sound(); - bs = new BeepSequencer(beepola); - bs->play_sequence(pc98_pipo, CHANNEL_SYSTEM, SEQUENCER_NO_REPEAT); + seq->play_sequence(&pc98_pipo, SEQUENCER_NO_REPEAT); #if HAS(TOUCH_PLANE) // No beeper on non-touch because it will be annoying with physical buttons @@ -234,7 +236,7 @@ void setup() { con->print(NetworkManager::current_ip().c_str()); delay(2000); - ota = new OTAFVUManager(con, bs); + ota = new OTAFVUManager(con, seq); sensors = new SensorPool(); @@ -263,11 +265,11 @@ void setup() { desktop->add_layer(appHost); desktop->add_layer(new FpsCounter(fb)); - appHost->add_view(new AppShimIdle(sensors, beepola), STATE_IDLE); - appHost->add_view(new AppShimAlarming(beepola), STATE_ALARMING); - appHost->add_view(new AppShimMenu(beepola), STATE_MENU); - appHost->add_view(new AppShimAlarmEditor(beepola), STATE_ALARM_EDITOR); - appHost->add_view(new AppShimTimerEditor(beepola), STATE_TIMER_EDITOR); + appHost->add_view(new AppShimIdle(sensors, beepola, seq), STATE_IDLE); + appHost->add_view(new AppShimAlarming(seq), STATE_ALARMING); + appHost->add_view(new AppShimMenu(beepola, seq), STATE_MENU); + appHost->add_view(new AppShimAlarmEditor(beepola, seq), STATE_ALARM_EDITOR); + appHost->add_view(new AppShimTimerEditor(beepola, seq), STATE_TIMER_EDITOR); appHost->add_view(new AppShimStopwatch(beepola), STATE_STOPWATCH); #if HAS(BALANCE_BOARD_INTEGRATION) appHost->add_view(new AppShimWeighing(sensors), STATE_WEIGHING); diff --git a/src/network/admin_panel.cpp b/src/network/admin_panel.cpp index ba0d2a6..d108852 100644 --- a/src/network/admin_panel.cpp +++ b/src/network/admin_panel.cpp @@ -93,12 +93,6 @@ static void save_melody(prefs_key_t key) { ESP_LOGV(LOG_TAG, "Preview chime #%i for %s", temp_chime, key); prefs_set_int(key, temp_chime); - - melody_sequence_t melody = melody_from_no(temp_chime); - BeepSequencer * s = new BeepSequencer(beeper); - s->play_sequence(melody, CHANNEL_NOTICE, SEQUENCER_NO_REPEAT); - s->wait_end_play(); - delete s; } } @@ -569,9 +563,6 @@ void action() { if(ui.click(reboot_btn)) { prefs_force_save(); - BeepSequencer * s = new BeepSequencer(beeper); - s->play_sequence(tulula_fvu, CHANNEL_NOTICE, SEQUENCER_NO_REPEAT); - s->wait_end_play(); ESP.restart(); } return; diff --git a/src/network/otafvu.cpp b/src/network/otafvu.cpp index 3d5a597..b19268d 100644 --- a/src/network/otafvu.cpp +++ b/src/network/otafvu.cpp @@ -24,7 +24,7 @@ void OtaFvuTaskFunction( void * pvParameter ) } } -OTAFVUManager::OTAFVUManager(Console* c, BeepSequencer*s) { +OTAFVUManager::OTAFVUManager(Console* c, NewSequencer*s) { ESP_LOGI(LOG_TAG, "Initializing"); con = c; seq = s; @@ -80,7 +80,7 @@ void OTAFVUManager::get_ready() { // Keep display on when updating power_mgmt_pause(); - seq->play_sequence(tulula_fvu, CHANNEL_SYSTEM, SEQUENCER_NO_REPEAT); + seq->play_sequence(tulula_fvu, SEQUENCER_NO_REPEAT); } void OTAFVUManager::shut_up_and_explode() { @@ -88,7 +88,7 @@ void OTAFVUManager::shut_up_and_explode() { con->set_font(&keyrus0816_font); con->clear(); con->print("OTAFVU Done!"); - seq->play_sequence(oelutz_fvu, CHANNEL_SYSTEM, SEQUENCER_NO_REPEAT); + seq->play_sequence(oelutz_fvu, SEQUENCER_NO_REPEAT); seq->wait_end_play(); ESP.restart(); } diff --git a/src/sound/beeper.cpp b/src/sound/beeper.cpp index b2b02d6..302e300 100644 --- a/src/sound/beeper.cpp +++ b/src/sound/beeper.cpp @@ -5,83 +5,16 @@ static char LOG_TAG[] = "BOOP"; -class SquareGenerator: public ToneGenerator { -public: - SquareGenerator(): - phase{0}, - wavelength{0}, - active { false }, - duty_offset { 0 } - {} - - void set_frequency(int freq) { - if(freq > WaveOut::NYQUIST) { - ESP_LOGE(LOG_TAG, "Cannot %i hz!", freq); - return; - } - - wavelength = (WaveOut::BAUD_RATE / freq); - phase = 0; - ESP_LOGV(LOG_TAG, "Freq=%i, Wavelength=%i", freq, wavelength); - } - - void set_active(bool a) { - active = a; - phase = 0; - ESP_LOGV(LOG_TAG, "Active = %i", a); - } - - void set_parameter(Parameter p, int v) override { - switch(p) { - case PARAMETER_ACTIVE: - set_active(v != 0); - break; - - case PARAMETER_FREQUENCY: - set_frequency(v); - break; - - default: break; - } - } - - size_t generate_samples(void* buffer, size_t length, uint32_t want_samples_) override { - if(!active || wavelength == 0) return 0; - - int bits_high = wavelength / 2 - duty_offset; - uint8_t* buff = (uint8_t*) buffer; - uint32_t want_samples = want_samples == 0 ? (length * 8) : std::min(want_samples_, length * 8); - size_t idx = 0; - int bit = 7; - - for(int s = 0; s < want_samples; s++) { - bool state = (phase < bits_high); - idx = s / 8; - bit = 8 - (s % 8); - if(state) { - buff[idx] |= (1 << bit); - } - phase = (phase + 1) % wavelength; - } - - return idx + 1; - } - -private: - int phase; - int wavelength; - int duty_offset; - bool active; -}; - Beeper::Beeper(): duration_samples{0}, samples {0}, channel_status { 0xFF }, active_channel { -1 } { - for(int i = 0; i < POLY_VOICES; i++) { - voices[i] = new SquareGenerator(); - } + voice = new SquareGenerator(); +} + +Beeper::~Beeper() { + delete voice; } void Beeper::set_channel_state(beeper_channel_t ch, bool active) { @@ -102,17 +35,10 @@ bool Beeper::is_channel_enabled(beeper_channel_t ch) { size_t Beeper::fill_buffer(void* buffer, size_t length_) { int want_samples = duration_samples == 0? 0: (duration_samples - samples); size_t length = duration_samples == 0? length_ : std::min(length_, (size_t) (want_samples / 8)); - size_t generated = 0; - for(int i = 0; i < POLY_VOICES; i++) { - size_t cur = voices[i]->generate_samples(buffer, length, want_samples); //<- voices are expected to mix on their own - if(cur > generated) generated = cur; - } + size_t generated = voice->generate_samples(buffer, length, want_samples); samples += generated*8; if(duration_samples > 0 && duration_samples <= samples) { - // quiescent time has ended, in here you would take the next sequence step and enact it - // then update the duration to the next one. - // for now we just beep... or unbeep - voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_ACTIVE, false); + voice->set_parameter(ToneGenerator::Parameter::PARAMETER_ACTIVE, false); } return generated; } @@ -125,15 +51,14 @@ void Beeper::start_tone(beeper_channel_t ch, uint freq, uint16_t duty) { duration_samples = 0; samples = 0; - voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_FREQUENCY, freq); - voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_ACTIVE, true); + voice->set_parameter(ToneGenerator::Parameter::PARAMETER_FREQUENCY, freq); } void Beeper::stop_tone(beeper_channel_t ch) { if(active_channel != ch) return; active_channel = -1; - voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_ACTIVE, false); + voice->set_parameter(ToneGenerator::Parameter::PARAMETER_ACTIVE, false); } void Beeper::beep_blocking(beeper_channel_t ch, uint freq, uint len, uint16_t duty) { @@ -144,8 +69,7 @@ void Beeper::beep_blocking(beeper_channel_t ch, uint freq, uint len, uint16_t du samples = 0; duration_samples = len * (WaveOut::BAUD_RATE / 1000); - voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_FREQUENCY, freq); - voices[DEFAULT_BEEP_VOICE_IDX]->set_parameter(ToneGenerator::Parameter::PARAMETER_ACTIVE, true); + voice->set_parameter(ToneGenerator::Parameter::PARAMETER_FREQUENCY, freq); vTaskDelay(len); active_channel = -1; } \ No newline at end of file diff --git a/src/sound/melodies.cpp b/src/sound/melodies.cpp index 07a81c5..f4b86e1 100644 --- a/src/sound/melodies.cpp +++ b/src/sound/melodies.cpp @@ -2,15 +2,14 @@ #include #include -melody_sequence_t melody_from_no(int melody_no) { +const melody_sequence_t * melody_from_no(int melody_no) { int no = std::min(melody_no, all_chime_count); no = std::max(no, 0); if(no == all_chime_count) { no = esp_random() % all_chime_count; } - melody_sequence_t melody = all_chime_list[no]; - return melody; + return &all_chime_list[no]; } #define MELODY_OF(x) {\ @@ -19,2203 +18,2224 @@ melody_sequence_t melody_from_no(int melody_no) { } static const melody_item_t just_beep_data[] = { - {1000, 250}, + {FREQ_SET, 0, 1000}, + {DELAY, 0, 250}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 500}, }; const melody_sequence_t just_beep = MELODY_OF(just_beep_data); static const melody_item_t pc98_pipo_data[] = { - {2000, 125}, - {1000, 125} + {FREQ_SET, 0, 2000}, + {DELAY, 0, 125}, + {FREQ_SET, 0, 1000}, + {DELAY, 0, 125}, }; const melody_sequence_t pc98_pipo = MELODY_OF(pc98_pipo_data); static const melody_item_t tulula_fvu_data[] = { - {392, 125}, - {392, 125}, - {392, 125}, - {293, 250} + {FREQ_SET, 0, 392}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 392}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 392}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 293}, + {DELAY, 0, 250}, + }; const melody_sequence_t tulula_fvu = MELODY_OF(tulula_fvu_data); static const melody_item_t oelutz_fvu_data[] = { - {587, 250}, - {698, 250}, - {880, 250}, - {1046, 125}, - {988, 500}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 250}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 250}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 250}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 125}, + {FREQ_SET, 0, 988}, + {DELAY, 0, 500}, }; const melody_sequence_t oelutz_fvu = MELODY_OF(oelutz_fvu_data); // A.M. - Arise static const melody_item_t arise_data[] = { - {622, 692}, - {932, 1153}, - {554, 692}, - {830, 634}, - {0, 57}, - {830, 230}, - {739, 230}, - {698, 1269}, - {0, 115}, - {698, 230}, - {622, 230}, - {415, 692}, - {466, 692}, - {554, 461}, - {622, 519}, - {0, 115}, - {932, 1153}, - {554, 692}, - {830, 634}, - {0, 57}, - {830, 230}, - {739, 230}, - {698, 1269}, - {0, 115}, - {698, 230}, - {739, 230}, - {830, 692}, - {932, 692}, - {1108, 519}, + // {622, 692}, + // {932, 1153}, + // {554, 692}, + // {830, 634}, + // {0, 57}, + // {830, 230}, + // {739, 230}, + // {698, 1269}, + // {0, 115}, + // {698, 230}, + // {622, 230}, + // {415, 692}, + // {466, 692}, + // {554, 461}, + // {622, 519}, + // {0, 115}, + // {932, 1153}, + // {554, 692}, + // {830, 634}, + // {0, 57}, + // {830, 230}, + // {739, 230}, + // {698, 1269}, + // {0, 115}, + // {698, 230}, + // {739, 230}, + // {830, 692}, + // {932, 692}, + // {1108, 519}, }; const melody_sequence_t arise = MELODY_OF(arise_data); // Caramell - Caramelldansen static const melody_item_t caramell_data[] = { - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {880, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {293, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1479, 181}, - {1318, 181}, - {1174, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {293, 181}, - {0, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1318, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {220, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1174, 181}, - {1318, 181}, - {1174, 181}, - {1318, 181}, - {1318, 181}, - {1479, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {220, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {987, 181}, - {0, 181}, - {1479, 181}, - {1318, 181}, - {1174, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {246, 181}, - {246, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1318, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {195, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1174, 181}, - {1318, 181}, - {1479, 181}, - {1318, 181}, - {1318, 181}, - {1174, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {195, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {880, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {293, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1479, 181}, - {1318, 181}, - {1174, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {293, 181}, - {0, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1318, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {220, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1174, 181}, - {1318, 181}, - {1174, 181}, - {1318, 181}, - {1318, 181}, - {1479, 363}, - {1760, 181}, - {0, 181}, - {1567, 181}, - {1479, 181}, - {1174, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {293, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1174, 181}, - {1318, 181}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {293, 181}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1174, 181}, - {1479, 181}, - {1479, 181}, - {1318, 363}, - {1174, 181}, - {0, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {880, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {293, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1479, 181}, + // {1318, 181}, + // {1174, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {293, 181}, + // {0, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1318, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {220, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1174, 181}, + // {1318, 181}, + // {1174, 181}, + // {1318, 181}, + // {1318, 181}, + // {1479, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {220, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {987, 181}, + // {0, 181}, + // {1479, 181}, + // {1318, 181}, + // {1174, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {246, 181}, + // {246, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1318, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {195, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1174, 181}, + // {1318, 181}, + // {1479, 181}, + // {1318, 181}, + // {1318, 181}, + // {1174, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {195, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {880, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {293, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1479, 181}, + // {1318, 181}, + // {1174, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {293, 181}, + // {0, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1318, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {220, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1174, 181}, + // {1318, 181}, + // {1174, 181}, + // {1318, 181}, + // {1318, 181}, + // {1479, 363}, + // {1760, 181}, + // {0, 181}, + // {1567, 181}, + // {1479, 181}, + // {1174, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {293, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1174, 181}, + // {1318, 181}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {293, 181}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1174, 181}, + // {1479, 181}, + // {1479, 181}, + // {1318, 363}, + // {1174, 181}, + // {0, 181}, }; const melody_sequence_t caramell = MELODY_OF(caramell_data); // BoA - Duvet (Serial Experiments Lain OP) static const melody_item_t duvet_data[] = { - {783, 575}, - {0, 69}, - {698, 284}, - {0, 37}, - {523, 284}, - {0, 37}, - {523, 575}, - {0, 69}, - {523, 284}, - {0, 682}, - {783, 284}, - {0, 37}, - {698, 284}, - {0, 37}, - {523, 284}, - {0, 37}, - {523, 575}, - {0, 69}, - {523, 284}, - {0, 682}, - {783, 284}, - {0, 37}, - {698, 284}, - {0, 37}, - {523, 284}, - {0, 37}, - {523, 575}, - {0, 69}, - {523, 284}, - {0, 37}, - {523, 575}, - {0, 69}, - {466, 284}, - {0, 37}, - {466, 284}, - {0, 37}, - {523, 284}, - {0, 37}, - {698, 575}, - {587, 634}, - {0, 1693}, + // {783, 575}, + // {0, 69}, + // {698, 284}, + // {0, 37}, + // {523, 284}, + // {0, 37}, + // {523, 575}, + // {0, 69}, + // {523, 284}, + // {0, 682}, + // {783, 284}, + // {0, 37}, + // {698, 284}, + // {0, 37}, + // {523, 284}, + // {0, 37}, + // {523, 575}, + // {0, 69}, + // {523, 284}, + // {0, 682}, + // {783, 284}, + // {0, 37}, + // {698, 284}, + // {0, 37}, + // {523, 284}, + // {0, 37}, + // {523, 575}, + // {0, 69}, + // {523, 284}, + // {0, 37}, + // {523, 575}, + // {0, 69}, + // {466, 284}, + // {0, 37}, + // {466, 284}, + // {0, 37}, + // {523, 284}, + // {0, 37}, + // {698, 575}, + // {587, 634}, + // {0, 1693}, }; const melody_sequence_t duvet = MELODY_OF(duvet_data); // T-Square - Truth static const melody_item_t truth_data[] = { - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {932, 371}, - {0, 12}, - {698, 182}, - {0, 9}, - {1046, 374}, - {0, 9}, - {698, 371}, - {0, 12}, - {1108, 374}, - {0, 9}, - {698, 371}, - {0, 12}, - {1244, 374}, - {0, 9}, - {1108, 182}, - {0, 9}, - {1046, 57}, - {0, 6}, - {1108, 57}, - {0, 6}, - {1046, 57}, - {0, 6}, - {932, 182}, - {0, 9}, - {830, 371}, - {0, 12}, - {622, 182}, - {0, 9}, - {932, 374}, - {0, 9}, - {622, 371}, - {0, 12}, - {1046, 374}, - {0, 9}, - {622, 371}, - {0, 12}, - {1108, 374}, - {0, 9}, - {1046, 182}, - {0, 9}, - {932, 57}, - {0, 6}, - {1046, 57}, - {0, 6}, - {932, 57}, - {0, 6}, - {830, 182}, - {0, 9}, - {739, 371}, - {0, 12}, - {554, 182}, - {0, 9}, - {830, 374}, - {0, 9}, - {554, 371}, - {0, 12}, - {932, 374}, - {0, 9}, - {554, 371}, - {0, 12}, - {1046, 374}, - {0, 9}, - {932, 182}, - {0, 9}, - {830, 57}, - {0, 6}, - {932, 57}, - {0, 6}, - {830, 57}, - {0, 6}, - {739, 182}, - {0, 9}, - {698, 951}, - {0, 9}, - {739, 182}, - {0, 9}, - {698, 182}, - {0, 9}, - {622, 182}, - {0, 9}, - {554, 182}, - {0, 9}, - {622, 182}, - {0, 9}, - {698, 182}, - {0, 9}, - {739, 374}, - {0, 9}, - {622, 182}, - {0, 9}, - {830, 182}, - {0, 201}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {932, 371}, + // {0, 12}, + // {698, 182}, + // {0, 9}, + // {1046, 374}, + // {0, 9}, + // {698, 371}, + // {0, 12}, + // {1108, 374}, + // {0, 9}, + // {698, 371}, + // {0, 12}, + // {1244, 374}, + // {0, 9}, + // {1108, 182}, + // {0, 9}, + // {1046, 57}, + // {0, 6}, + // {1108, 57}, + // {0, 6}, + // {1046, 57}, + // {0, 6}, + // {932, 182}, + // {0, 9}, + // {830, 371}, + // {0, 12}, + // {622, 182}, + // {0, 9}, + // {932, 374}, + // {0, 9}, + // {622, 371}, + // {0, 12}, + // {1046, 374}, + // {0, 9}, + // {622, 371}, + // {0, 12}, + // {1108, 374}, + // {0, 9}, + // {1046, 182}, + // {0, 9}, + // {932, 57}, + // {0, 6}, + // {1046, 57}, + // {0, 6}, + // {932, 57}, + // {0, 6}, + // {830, 182}, + // {0, 9}, + // {739, 371}, + // {0, 12}, + // {554, 182}, + // {0, 9}, + // {830, 374}, + // {0, 9}, + // {554, 371}, + // {0, 12}, + // {932, 374}, + // {0, 9}, + // {554, 371}, + // {0, 12}, + // {1046, 374}, + // {0, 9}, + // {932, 182}, + // {0, 9}, + // {830, 57}, + // {0, 6}, + // {932, 57}, + // {0, 6}, + // {830, 57}, + // {0, 6}, + // {739, 182}, + // {0, 9}, + // {698, 951}, + // {0, 9}, + // {739, 182}, + // {0, 9}, + // {698, 182}, + // {0, 9}, + // {622, 182}, + // {0, 9}, + // {554, 182}, + // {0, 9}, + // {622, 182}, + // {0, 9}, + // {698, 182}, + // {0, 9}, + // {739, 374}, + // {0, 9}, + // {622, 182}, + // {0, 9}, + // {830, 182}, + // {0, 201}, }; const melody_sequence_t truth = MELODY_OF(truth_data); // Kosaki Satoru - Haruhi no omoi static const melody_item_t haruhi_no_omoi_data[] = { - {466, 681}, - {622, 1363}, - {587, 681}, - {932, 1363}, - {932, 681}, - {830, 1363}, - {932, 681}, - {698, 1363}, - {783, 340}, - {830, 340}, - {932, 1363}, - {622, 681}, - {830, 1363}, - {783, 681}, - {698, 2045}, + // {466, 681}, + // {622, 1363}, + // {587, 681}, + // {932, 1363}, + // {932, 681}, + // {830, 1363}, + // {932, 681}, + // {698, 1363}, + // {783, 340}, + // {830, 340}, + // {932, 1363}, + // {622, 681}, + // {830, 1363}, + // {783, 681}, + // {698, 2045}, }; const melody_sequence_t haruhi_no_omoi = MELODY_OF(haruhi_no_omoi_data); static const melody_item_t wpip_data[] = { - {659, 625}, - {0, 75}, - {659, 291}, - {0, 8}, - {830, 416}, - {0, 91}, - {987, 404}, - {0, 87}, - {1318, 483}, - {0, 12}, - {1244, 462}, - {0, 37}, - {1108, 475}, - {0, 12}, - {987, 370}, - {0, 141}, - {554, 275}, - {0, 12}, - {622, 225}, - {0, 245}, - {622, 754}, - {0, 508}, - {830, 241}, - {0, 8}, - {932, 441}, - {0, 58}, - {783, 720}, - {0, 33}, - {622, 441}, - {0, 50}, - {659, 516}, - {0, 220}, - {659, 216}, - {0, 33}, - {830, 500}, - {987, 479}, - {0, 29}, - {1479, 225}, - {0, 12}, - {1318, 483}, - {0, 4}, - {1244, 225}, - {0, 41}, - {1318, 475}, - {0, 33}, - {1108, 466}, - {0, 20}, - {1244, 1025}, - {0, 3041}, + // {659, 625}, + // {0, 75}, + // {659, 291}, + // {0, 8}, + // {830, 416}, + // {0, 91}, + // {987, 404}, + // {0, 87}, + // {1318, 483}, + // {0, 12}, + // {1244, 462}, + // {0, 37}, + // {1108, 475}, + // {0, 12}, + // {987, 370}, + // {0, 141}, + // {554, 275}, + // {0, 12}, + // {622, 225}, + // {0, 245}, + // {622, 754}, + // {0, 508}, + // {830, 241}, + // {0, 8}, + // {932, 441}, + // {0, 58}, + // {783, 720}, + // {0, 33}, + // {622, 441}, + // {0, 50}, + // {659, 516}, + // {0, 220}, + // {659, 216}, + // {0, 33}, + // {830, 500}, + // {987, 479}, + // {0, 29}, + // {1479, 225}, + // {0, 12}, + // {1318, 483}, + // {0, 4}, + // {1244, 225}, + // {0, 41}, + // {1318, 475}, + // {0, 33}, + // {1108, 466}, + // {0, 20}, + // {1244, 1025}, + // {0, 3041}, }; const melody_sequence_t wpip = MELODY_OF(wpip_data); static const melody_item_t hishoku_data[] = { - {1046, 214}, - {1108, 214}, - {1244, 428}, - {1244, 428}, - {1396, 214}, - {1244, 642}, - {0, 857}, - {1661, 428}, - {1567, 428}, - {1244, 428}, - {1046, 857}, - {0, 428}, - {932, 214}, - {1046, 642}, - {0, 428}, - {1046, 214}, - {1108, 214}, - {1244, 214}, - {1244, 428}, - {830, 214}, - {830, 428}, - {0, 428}, - {830, 214}, - {1244, 428}, - {830, 214}, - {830, 428}, - {0, 428}, - {830, 214}, - {1244, 214}, - {1567, 857}, - {0, 428}, - {1396, 214}, - {1661, 857}, - {0, 214}, + // {1046, 214}, + // {1108, 214}, + // {1244, 428}, + // {1244, 428}, + // {1396, 214}, + // {1244, 642}, + // {0, 857}, + // {1661, 428}, + // {1567, 428}, + // {1244, 428}, + // {1046, 857}, + // {0, 428}, + // {932, 214}, + // {1046, 642}, + // {0, 428}, + // {1046, 214}, + // {1108, 214}, + // {1244, 214}, + // {1244, 428}, + // {830, 214}, + // {830, 428}, + // {0, 428}, + // {830, 214}, + // {1244, 428}, + // {830, 214}, + // {830, 428}, + // {0, 428}, + // {830, 214}, + // {1244, 214}, + // {1567, 857}, + // {0, 428}, + // {1396, 214}, + // {1661, 857}, + // {0, 214}, }; const melody_sequence_t hishoku = MELODY_OF(hishoku_data); static const melody_item_t bouken_data[] = { - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {880, 392}, - {987, 196}, - {1046, 196}, - {1174, 196}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1318, 294}, - {0, 98}, - {880, 294}, - {0, 98}, - {1318, 392}, - {880, 196}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1318, 392}, - {1174, 196}, - {1318, 196}, - {1567, 392}, - {1174, 196}, - {1046, 196}, - {987, 196}, - {0, 392}, - {1174, 294}, - {0, 98}, - {987, 294}, - {0, 98}, - {783, 196}, - {1174, 392}, - {1108, 196}, - {1174, 196}, - {1318, 392}, - {987, 196}, - {1046, 196}, - {1174, 196}, - {1318, 294}, - {0, 98}, - {880, 294}, - {0, 98}, - {1318, 392}, - {880, 196}, - {1318, 392}, - {1174, 196}, - {1318, 196}, - {1567, 392}, - {1174, 196}, - {1046, 196}, - {987, 196}, - {0, 392}, - {1174, 294}, - {0, 98}, - {987, 294}, - {0, 98}, - {783, 196}, - {1174, 392}, - {1318, 196}, - {1174, 196}, - {1108, 392}, - {880, 588}, - {0, 1372}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {880, 392}, + // {987, 196}, + // {1046, 196}, + // {1174, 196}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1318, 294}, + // {0, 98}, + // {880, 294}, + // {0, 98}, + // {1318, 392}, + // {880, 196}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1318, 392}, + // {1174, 196}, + // {1318, 196}, + // {1567, 392}, + // {1174, 196}, + // {1046, 196}, + // {987, 196}, + // {0, 392}, + // {1174, 294}, + // {0, 98}, + // {987, 294}, + // {0, 98}, + // {783, 196}, + // {1174, 392}, + // {1108, 196}, + // {1174, 196}, + // {1318, 392}, + // {987, 196}, + // {1046, 196}, + // {1174, 196}, + // {1318, 294}, + // {0, 98}, + // {880, 294}, + // {0, 98}, + // {1318, 392}, + // {880, 196}, + // {1318, 392}, + // {1174, 196}, + // {1318, 196}, + // {1567, 392}, + // {1174, 196}, + // {1046, 196}, + // {987, 196}, + // {0, 392}, + // {1174, 294}, + // {0, 98}, + // {987, 294}, + // {0, 98}, + // {783, 196}, + // {1174, 392}, + // {1318, 196}, + // {1174, 196}, + // {1108, 392}, + // {880, 588}, + // {0, 1372}, }; const melody_sequence_t bouken = MELODY_OF(bouken_data); static const melody_item_t gentle_jena_data[] = { - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {932, 775}, - {0, 66}, - {1479, 845}, - {0, 58}, - {1396, 445}, - {0, 29}, - {1244, 400}, - {0, 25}, - {1108, 395}, - {0, 54}, - {1244, 433}, - {1396, 400}, - {0, 479}, - {830, 441}, - {987, 291}, - {0, 154}, - {987, 404}, - {0, 237}, - {932, 54}, - {0, 50}, - {830, 75}, - {0, 50}, - {932, 616}, - {0, 325}, - {932, 641}, - {0, 237}, - {1479, 741}, - {0, 150}, - {1661, 400}, - {0, 41}, - {1479, 387}, - {0, 54}, - {1396, 395}, - {0, 37}, - {1479, 275}, - {0, 175}, - {1396, 1020}, - {0, 2508}, - {932, 829}, - {0, 50}, - {1479, 829}, - {0, 58}, - {1396, 441}, - {0, 12}, - {1244, 400}, - {0, 25}, - {1108, 408}, - {0, 37}, - {1244, 387}, - {0, 37}, - {1396, 450}, - {0, 450}, - {830, 429}, - {0, 16}, - {987, 258}, - {0, 179}, - {987, 416}, - {0, 233}, - {932, 45}, - {0, 20}, - {830, 120}, - {0, 16}, - {932, 608}, - {0, 275}, - {932, 620}, - {0, 262}, - {1479, 758}, - {0, 158}, - {1661, 400}, - {0, 54}, - {1479, 358}, - {0, 66}, - {1396, 412}, - {0, 45}, - {1479, 279}, - {0, 170}, - {1661, 1762}, - {0, 16}, - {1396, 1925}, - {0, 125}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {932, 775}, + // {0, 66}, + // {1479, 845}, + // {0, 58}, + // {1396, 445}, + // {0, 29}, + // {1244, 400}, + // {0, 25}, + // {1108, 395}, + // {0, 54}, + // {1244, 433}, + // {1396, 400}, + // {0, 479}, + // {830, 441}, + // {987, 291}, + // {0, 154}, + // {987, 404}, + // {0, 237}, + // {932, 54}, + // {0, 50}, + // {830, 75}, + // {0, 50}, + // {932, 616}, + // {0, 325}, + // {932, 641}, + // {0, 237}, + // {1479, 741}, + // {0, 150}, + // {1661, 400}, + // {0, 41}, + // {1479, 387}, + // {0, 54}, + // {1396, 395}, + // {0, 37}, + // {1479, 275}, + // {0, 175}, + // {1396, 1020}, + // {0, 2508}, + // {932, 829}, + // {0, 50}, + // {1479, 829}, + // {0, 58}, + // {1396, 441}, + // {0, 12}, + // {1244, 400}, + // {0, 25}, + // {1108, 408}, + // {0, 37}, + // {1244, 387}, + // {0, 37}, + // {1396, 450}, + // {0, 450}, + // {830, 429}, + // {0, 16}, + // {987, 258}, + // {0, 179}, + // {987, 416}, + // {0, 233}, + // {932, 45}, + // {0, 20}, + // {830, 120}, + // {0, 16}, + // {932, 608}, + // {0, 275}, + // {932, 620}, + // {0, 262}, + // {1479, 758}, + // {0, 158}, + // {1661, 400}, + // {0, 54}, + // {1479, 358}, + // {0, 66}, + // {1396, 412}, + // {0, 45}, + // {1479, 279}, + // {0, 170}, + // {1661, 1762}, + // {0, 16}, + // {1396, 1925}, + // {0, 125}, }; const melody_sequence_t gentle_jena = MELODY_OF(gentle_jena_data); static const melody_item_t gammapolisz_data[] = { - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {880, 1299}, - {0, 293}, - {1046, 779}, - {0, 19}, - {659, 799}, - {669, 10}, - {709, 10}, - {719, 10}, - {729, 10}, - {739, 1559}, - {0, 799}, - {739, 199}, - {783, 199}, - {880, 406}, - {783, 1506}, - {0, 93}, - {932, 773}, - {0, 19}, - {587, 799}, - {598, 10}, - {609, 10}, - {625, 10}, - {638, 10}, - {659, 1559}, - {0, 799}, - {659, 199}, - {698, 186}, - {783, 172}, - {0, 246}, - {698, 2059}, - {0, 333}, - {698, 186}, - {0, 13}, - {783, 199}, - {880, 46+333}, - {0, 26}, - {783, 2099}, - {0, 293}, - {783, 199}, - {880, 46+133}, - {0, 19}, - {987, 366}, - {0, 39}, - {1046, 1426}, - {0, 166}, - {1318, 399}, - {1174, 600}, - {0, 199}, - {1046, 399}, - {1046, 1599}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {880, 1299}, + // {0, 293}, + // {1046, 779}, + // {0, 19}, + // {659, 799}, + // {669, 10}, + // {709, 10}, + // {719, 10}, + // {729, 10}, + // {739, 1559}, + // {0, 799}, + // {739, 199}, + // {783, 199}, + // {880, 406}, + // {783, 1506}, + // {0, 93}, + // {932, 773}, + // {0, 19}, + // {587, 799}, + // {598, 10}, + // {609, 10}, + // {625, 10}, + // {638, 10}, + // {659, 1559}, + // {0, 799}, + // {659, 199}, + // {698, 186}, + // {783, 172}, + // {0, 246}, + // {698, 2059}, + // {0, 333}, + // {698, 186}, + // {0, 13}, + // {783, 199}, + // {880, 46+333}, + // {0, 26}, + // {783, 2099}, + // {0, 293}, + // {783, 199}, + // {880, 46+133}, + // {0, 19}, + // {987, 366}, + // {0, 39}, + // {1046, 1426}, + // {0, 166}, + // {1318, 399}, + // {1174, 600}, + // {0, 199}, + // {1046, 399}, + // {1046, 1599}, }; const melody_sequence_t gammapolisz = MELODY_OF(gammapolisz_data); static const melody_item_t like_the_wind_data[] = { - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {783, 199}, - {0, 30}, - {783, 199}, - {0, 30}, - {783, 315}, - {0, 146}, - {0x2FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {523, 199}, - {0, 30}, - {523, 199}, - {0, 30}, - {523, 315}, - {0, 146}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {391, 199}, - {0, 30}, - {523, 199}, - {0, 30}, - {698, 430}, - {0, 30}, - {622, 430}, - {0, 30}, - {587, 430}, - {0, 30}, - {622, 430}, - {0, 30}, - {587, 923}, - {622, 115}, - {587, 115}, - {523, 892}, - {0, 261}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {783, 199}, - {0, 30}, - {783, 199}, - {0, 30}, - {783, 315}, - {0, 146}, - {0x2FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {523, 199}, - {0, 30}, - {523, 199}, - {0, 30}, - {523, 315}, - {0, 146}, - {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - {391, 199}, - {0, 30}, - {523, 199}, - {0, 30}, - {698, 430}, - {0, 30}, - {622, 430}, - {0, 30}, - {587, 430}, - {0, 30}, - {622, 430}, - {0, 30}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {587, 1123}, - {0, 1184}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {783, 199}, + // {0, 30}, + // {783, 199}, + // {0, 30}, + // {783, 315}, + // {0, 146}, + // {0x2FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {523, 199}, + // {0, 30}, + // {523, 199}, + // {0, 30}, + // {523, 315}, + // {0, 146}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {391, 199}, + // {0, 30}, + // {523, 199}, + // {0, 30}, + // {698, 430}, + // {0, 30}, + // {622, 430}, + // {0, 30}, + // {587, 430}, + // {0, 30}, + // {622, 430}, + // {0, 30}, + // {587, 923}, + // {622, 115}, + // {587, 115}, + // {523, 892}, + // {0, 261}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {783, 199}, + // {0, 30}, + // {783, 199}, + // {0, 30}, + // {783, 315}, + // {0, 146}, + // {0x2FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {523, 199}, + // {0, 30}, + // {523, 199}, + // {0, 30}, + // {523, 315}, + // {0, 146}, + // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {391, 199}, + // {0, 30}, + // {523, 199}, + // {0, 30}, + // {698, 430}, + // {0, 30}, + // {622, 430}, + // {0, 30}, + // {587, 430}, + // {0, 30}, + // {622, 430}, + // {0, 30}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {587, 1123}, + // {0, 1184}, }; const melody_sequence_t like_the_wind = MELODY_OF(like_the_wind_data); static const melody_item_t waiting_freqs_data[] = { - {493, 1017}, - {0, 21}, - {466, 2051}, - {0, 299}, - {415, 269}, - {0, 25}, - {369, 307}, - {0, 17}, - {311, 294}, - {0, 4}, - {277, 260}, - {0, 34}, - {311, 2230}, - {0, 59}, - {207, 2303}, - {0, 34}, - {329, 1136}, - {0, 17}, - {311, 2871}, - {0, 12}, - {493, 277}, - {0, 42}, - {466, 269}, - {0, 55}, - {493, 2290}, + // {493, 1017}, + // {0, 21}, + // {466, 2051}, + // {0, 299}, + // {415, 269}, + // {0, 25}, + // {369, 307}, + // {0, 17}, + // {311, 294}, + // {0, 4}, + // {277, 260}, + // {0, 34}, + // {311, 2230}, + // {0, 59}, + // {207, 2303}, + // {0, 34}, + // {329, 1136}, + // {0, 17}, + // {311, 2871}, + // {0, 12}, + // {493, 277}, + // {0, 42}, + // {466, 269}, + // {0, 55}, + // {493, 2290}, }; const melody_sequence_t waiting_freqs = MELODY_OF(waiting_freqs_data); static const melody_item_t the_way_data[] = { - {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - {932, 100}, - {0, 20}, - {1244, 108}, - {0, 12}, - {1396, 100}, - {0, 20}, - {1479, 112}, - {0, 8}, - {1864, 2400}, - {0, 480}, - {2489, 480}, - {2793, 480}, - {2489, 24}, - {2217, 4}, - {0, 24}, - {2093, 28}, - {1864, 2304}, - {0, 16}, - {1661, 468}, - {0, 12}, - {1396, 2380}, - {0, 20}, - {932, 1908}, - {0, 12}, - {1864, 240}, - {1396, 480}, - {1864, 240}, - {1396, 480}, - {1864, 120}, - {1396, 120}, - {1864, 120}, - {1396, 120}, - {1661, 240}, - {1244, 480}, - {1661, 240}, - {1244, 480}, - {1661, 120}, - {1244, 120}, - {1661, 120}, - {1244, 120}, - {1479, 240}, - {1244, 480}, - {1479, 240}, - {1244, 480}, - {1479, 120}, - {1244, 120}, - {1479, 120}, - {1244, 120}, - {1479, 240}, - {1244, 480}, - {1479, 120}, - {1244, 120}, - {1479, 120}, - {1244, 120}, - {1479, 120}, - {0, 120}, - {1244, 240}, - {0, 240}, - {1396, 240}, - {932, 480}, - {1396, 120}, - {932, 120}, - {1396, 120}, - {0, 120}, - {1396, 240}, - {932, 480}, - {1396, 240}, - {932, 480}, - {1396, 120}, - {932, 120}, - {1396, 120}, - {0, 120}, - {1396, 240}, - {932, 480}, - {1396, 240}, - {932, 480}, - {1396, 120}, - {932, 120}, - {1396, 120}, - {0, 120}, - {1396, 240}, - {932, 480}, - {1396, 240}, - {932, 480}, - {1396, 120}, - {932, 120}, - {1396, 120}, - {932, 120}, - {1396, 240}, - {932, 480}, + // {932, 100}, + // {0, 20}, + // {1244, 108}, + // {0, 12}, + // {1396, 100}, + // {0, 20}, + // {1479, 112}, + // {0, 8}, + // {1864, 2400}, + // {0, 480}, + // {2489, 480}, + // {2793, 480}, + // {2489, 24}, + // {2217, 4}, + // {0, 24}, + // {2093, 28}, + // {1864, 2304}, + // {0, 16}, + // {1661, 468}, + // {0, 12}, + // {1396, 2380}, + // {0, 20}, + // {932, 1908}, + // {0, 12}, + // {1864, 240}, + // {1396, 480}, + // {1864, 240}, + // {1396, 480}, + // {1864, 120}, + // {1396, 120}, + // {1864, 120}, + // {1396, 120}, + // {1661, 240}, + // {1244, 480}, + // {1661, 240}, + // {1244, 480}, + // {1661, 120}, + // {1244, 120}, + // {1661, 120}, + // {1244, 120}, + // {1479, 240}, + // {1244, 480}, + // {1479, 240}, + // {1244, 480}, + // {1479, 120}, + // {1244, 120}, + // {1479, 120}, + // {1244, 120}, + // {1479, 240}, + // {1244, 480}, + // {1479, 120}, + // {1244, 120}, + // {1479, 120}, + // {1244, 120}, + // {1479, 120}, + // {0, 120}, + // {1244, 240}, + // {0, 240}, + // {1396, 240}, + // {932, 480}, + // {1396, 120}, + // {932, 120}, + // {1396, 120}, + // {0, 120}, + // {1396, 240}, + // {932, 480}, + // {1396, 240}, + // {932, 480}, + // {1396, 120}, + // {932, 120}, + // {1396, 120}, + // {0, 120}, + // {1396, 240}, + // {932, 480}, + // {1396, 240}, + // {932, 480}, + // {1396, 120}, + // {932, 120}, + // {1396, 120}, + // {0, 120}, + // {1396, 240}, + // {932, 480}, + // {1396, 240}, + // {932, 480}, + // {1396, 120}, + // {932, 120}, + // {1396, 120}, + // {932, 120}, + // {1396, 240}, + // {932, 480}, }; const melody_sequence_t the_way = MELODY_OF(the_way_data); static const melody_item_t guitar_hero_data[] = { - {0x90, SEQ_LEN_FLAG_TIMBRE_SET}, - {1108, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {1864, 86}, + // {0x90, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1108, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {1864, 86}, - // LOOP - {0x90, SEQ_LEN_FLAG_TIMBRE_SET}, - {0, SEQ_LEN_FLAG_THE_LOOPAH}, - {1661, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {1864, 167}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1567, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1567, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1567, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1567, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {2093, 167}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {2217, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1108, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {1864, 167}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1567, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1567, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1567, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {1567, 80}, - {0, 5}, - {1244, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {2093, 167}, - {0, 5}, - {1396, 80}, - {0, 5}, - {1661, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {2217, 80}, - {0, 5}, - {2093, 80}, - {0, 5}, - {1864, 80}, - {0, 5}, - {2093, 80}, + // // LOOP + // {0x90, SEQ_LEN_FLAG_TIMBRE_SET}, + // {0, SEQ_LEN_FLAG_THE_LOOPAH}, + // {1661, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {1864, 167}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1567, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1567, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1567, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1567, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {2093, 167}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {2217, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1108, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {1864, 167}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1567, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1567, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1567, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {1567, 80}, + // {0, 5}, + // {1244, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {2093, 167}, + // {0, 5}, + // {1396, 80}, + // {0, 5}, + // {1661, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {2217, 80}, + // {0, 5}, + // {2093, 80}, + // {0, 5}, + // {1864, 80}, + // {0, 5}, + // {2093, 80}, - // BRIDGE - {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - {830, 341}, - {0, 179}, - {830, 167}, - {0, 5}, - {1396, 231}, - {0, 115}, - {554, 86}, - {0, 86}, - {1396, 80}, - {0, 92}, - {1244, 80}, - {0, 92}, - {1396, 80}, - {0, 92}, - {1244, 80}, - {0, 92}, - {1396, 341}, - {0, 179}, - {1244, 341}, - {0, 5}, - {932, 341}, - {0, 5}, - {622, 173}, - {932, 167}, - {0, 5}, - {1567, 341}, - {0, 5}, - {698, 173}, - {1567, 80}, - {0, 92}, - {1046, 80}, - {0, 92}, - {1567, 80}, - {0, 92}, - {1046, 80}, - {0, 92}, - {1661, 341}, - {0, 5}, - {1661, 167}, - {0, 5}, - {1567, 167}, - {0, 5}, - {1244, 86}, - {0, 86}, + // // BRIDGE + // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {830, 341}, + // {0, 179}, + // {830, 167}, + // {0, 5}, + // {1396, 231}, + // {0, 115}, + // {554, 86}, + // {0, 86}, + // {1396, 80}, + // {0, 92}, + // {1244, 80}, + // {0, 92}, + // {1396, 80}, + // {0, 92}, + // {1244, 80}, + // {0, 92}, + // {1396, 341}, + // {0, 179}, + // {1244, 341}, + // {0, 5}, + // {932, 341}, + // {0, 5}, + // {622, 173}, + // {932, 167}, + // {0, 5}, + // {1567, 341}, + // {0, 5}, + // {698, 173}, + // {1567, 80}, + // {0, 92}, + // {1046, 80}, + // {0, 92}, + // {1567, 80}, + // {0, 92}, + // {1046, 80}, + // {0, 92}, + // {1661, 341}, + // {0, 5}, + // {1661, 167}, + // {0, 5}, + // {1567, 167}, + // {0, 5}, + // {1244, 86}, + // {0, 86}, }; const melody_sequence_t guitar_hero = MELODY_OF(guitar_hero_data); static const melody_item_t syabon_data[] = { - {739, 254}, - {1108, 127}, - {0, 127}, - {987, 127}, - {1108, 127}, - {0, 127}, - {1108, 127}, - {987, 127}, - {0, 127}, - {880, 127}, - {880, 381}, - {0, 254}, - {739, 254}, - {1108, 127}, - {0, 127}, - {987, 127}, - {1108, 127}, - {0, 127}, - {1108, 127}, - {987, 127}, - {0, 127}, - {880, 127}, - {1108, 127}, - {0, 381}, - {0, 127}, - {554, 254}, - {659, 127}, - {0, 127}, - {739, 127}, - {0, 254}, - {0, 127}, - {739, 254}, - {880, 127}, - {0, 127}, - {830, 127}, - {0, 127}, - {739, 127}, - {0, 127}, - {659, 127}, - {0, 127}, - {554, 127}, - {0, 127}, - {1108, 127}, - {0, 127}, - {987, 127}, - {0, 127}, - {987, 254}, - {880, 127}, - {0, 508}, - {0, 127}, - {739, 254}, - {1108, 127}, - {0, 127}, - {987, 127}, - {987, 127}, - {1108, 127}, - {1108, 127}, - {987, 127}, - {987, 127}, - {880, 127}, - {880, 381}, - {739, 127}, - {0, 127}, - {739, 254}, - {1108, 127}, - {0, 127}, - {987, 127}, - {0, 127}, - {1108, 127}, - {0, 127}, - {987, 127}, - {0, 127}, - {880, 127}, - {739, 127}, - {0, 381}, - {0, 127}, - {880, 254}, - {739, 127}, - {0, 127}, - {1108, 127}, - {0, 254}, - {880, 127}, - {0, 254}, - {739, 127}, - {659, 127}, - {739, 127}, - {880, 127}, - {1108, 127}, - {0, 127}, - {987, 127}, - {0, 127}, - {880, 127}, - {739, 127}, - {0, 381}, - {0, 889}, - {659, 254}, - {880, 127}, - {0, 127}, - {987, 127}, - {0, 127}, - {1108, 127}, - {0, 381}, - {880, 127}, - {0, 381}, - {1108, 127}, - {0, 381}, - {880, 127}, - {0, 254}, - {987, 127}, - {1108, 127}, - {0, 381}, - {987, 127}, - {987, 127}, - {880, 127}, - {739, 127}, - {0, 127}, - {0, 127}, - {739, 254}, - {880, 127}, - {0, 127}, - {987, 127}, - {0, 127}, - {1108, 127}, - {1174, 127}, - {0, 127}, - {1108, 254}, - {1174, 127}, - {0, 127}, - {1108, 127}, - {0, 254}, - {987, 127}, - {880, 127}, - {659, 127}, - {739, 127}, - {739, 254}, - {659, 127}, - {0, 127}, - {739, 127}, - {0, 127}, - {880, 127}, - {0, 127}, - {739, 127}, - {0, 127}, - {830, 127}, - {0, 127}, - {880, 127}, - {0, 127}, - {987, 127}, - {0, 127}, - {880, 127}, - {0, 127}, - {1108, 127}, - {0, 381}, - {880, 127}, - {0, 381}, - {1108, 127}, - {0, 381}, - {880, 127}, - {0, 254}, - {987, 127}, - {1108, 127}, - {0, 381}, - {987, 127}, - {987, 127}, - {880, 127}, - {739, 127}, - {0, 127}, - {0, 127}, - {739, 254}, - {880, 127}, - {0, 127}, - {987, 127}, - {0, 127}, - {1108, 127}, - {1108, 127}, - {880, 127}, - {880, 127}, - {739, 127}, - {739, 127}, - {830, 127}, - {739, 127}, - {659, 127}, - {0, 42}, - {739, 127}, - {0, 42}, - {880, 127}, - {0, 42}, - {830, 127}, - {0, 42}, - {739, 127}, - {0, 42}, - {659, 127}, - {0, 42}, - {739, 127}, - {2793, 127}, - {2959, 42}, - {0, 84}, - {2959, 127}, - {0, 127}, - {2217, 127}, - {1975, 127}, - {2093, 127}, - {0, 127}, - {1760, 127}, - {0, 127}, - {1479, 127}, - {0, 2033}, + // {739, 254}, + // {1108, 127}, + // {0, 127}, + // {987, 127}, + // {1108, 127}, + // {0, 127}, + // {1108, 127}, + // {987, 127}, + // {0, 127}, + // {880, 127}, + // {880, 381}, + // {0, 254}, + // {739, 254}, + // {1108, 127}, + // {0, 127}, + // {987, 127}, + // {1108, 127}, + // {0, 127}, + // {1108, 127}, + // {987, 127}, + // {0, 127}, + // {880, 127}, + // {1108, 127}, + // {0, 381}, + // {0, 127}, + // {554, 254}, + // {659, 127}, + // {0, 127}, + // {739, 127}, + // {0, 254}, + // {0, 127}, + // {739, 254}, + // {880, 127}, + // {0, 127}, + // {830, 127}, + // {0, 127}, + // {739, 127}, + // {0, 127}, + // {659, 127}, + // {0, 127}, + // {554, 127}, + // {0, 127}, + // {1108, 127}, + // {0, 127}, + // {987, 127}, + // {0, 127}, + // {987, 254}, + // {880, 127}, + // {0, 508}, + // {0, 127}, + // {739, 254}, + // {1108, 127}, + // {0, 127}, + // {987, 127}, + // {987, 127}, + // {1108, 127}, + // {1108, 127}, + // {987, 127}, + // {987, 127}, + // {880, 127}, + // {880, 381}, + // {739, 127}, + // {0, 127}, + // {739, 254}, + // {1108, 127}, + // {0, 127}, + // {987, 127}, + // {0, 127}, + // {1108, 127}, + // {0, 127}, + // {987, 127}, + // {0, 127}, + // {880, 127}, + // {739, 127}, + // {0, 381}, + // {0, 127}, + // {880, 254}, + // {739, 127}, + // {0, 127}, + // {1108, 127}, + // {0, 254}, + // {880, 127}, + // {0, 254}, + // {739, 127}, + // {659, 127}, + // {739, 127}, + // {880, 127}, + // {1108, 127}, + // {0, 127}, + // {987, 127}, + // {0, 127}, + // {880, 127}, + // {739, 127}, + // {0, 381}, + // {0, 889}, + // {659, 254}, + // {880, 127}, + // {0, 127}, + // {987, 127}, + // {0, 127}, + // {1108, 127}, + // {0, 381}, + // {880, 127}, + // {0, 381}, + // {1108, 127}, + // {0, 381}, + // {880, 127}, + // {0, 254}, + // {987, 127}, + // {1108, 127}, + // {0, 381}, + // {987, 127}, + // {987, 127}, + // {880, 127}, + // {739, 127}, + // {0, 127}, + // {0, 127}, + // {739, 254}, + // {880, 127}, + // {0, 127}, + // {987, 127}, + // {0, 127}, + // {1108, 127}, + // {1174, 127}, + // {0, 127}, + // {1108, 254}, + // {1174, 127}, + // {0, 127}, + // {1108, 127}, + // {0, 254}, + // {987, 127}, + // {880, 127}, + // {659, 127}, + // {739, 127}, + // {739, 254}, + // {659, 127}, + // {0, 127}, + // {739, 127}, + // {0, 127}, + // {880, 127}, + // {0, 127}, + // {739, 127}, + // {0, 127}, + // {830, 127}, + // {0, 127}, + // {880, 127}, + // {0, 127}, + // {987, 127}, + // {0, 127}, + // {880, 127}, + // {0, 127}, + // {1108, 127}, + // {0, 381}, + // {880, 127}, + // {0, 381}, + // {1108, 127}, + // {0, 381}, + // {880, 127}, + // {0, 254}, + // {987, 127}, + // {1108, 127}, + // {0, 381}, + // {987, 127}, + // {987, 127}, + // {880, 127}, + // {739, 127}, + // {0, 127}, + // {0, 127}, + // {739, 254}, + // {880, 127}, + // {0, 127}, + // {987, 127}, + // {0, 127}, + // {1108, 127}, + // {1108, 127}, + // {880, 127}, + // {880, 127}, + // {739, 127}, + // {739, 127}, + // {830, 127}, + // {739, 127}, + // {659, 127}, + // {0, 42}, + // {739, 127}, + // {0, 42}, + // {880, 127}, + // {0, 42}, + // {830, 127}, + // {0, 42}, + // {739, 127}, + // {0, 42}, + // {659, 127}, + // {0, 42}, + // {739, 127}, + // {2793, 127}, + // {2959, 42}, + // {0, 84}, + // {2959, 127}, + // {0, 127}, + // {2217, 127}, + // {1975, 127}, + // {2093, 127}, + // {0, 127}, + // {1760, 127}, + // {0, 127}, + // {1479, 127}, + // {0, 2033}, }; const melody_sequence_t syabon = MELODY_OF(syabon_data); static const melody_item_t steiner_data[] = { - {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - {1108, 576}, - {830, 961}, - {277, 576}, - {415, 384}, - {1108, 192}, - {830, 192}, - {1108, 192}, - {1244, 576}, - {830, 961}, - {415, 576}, - {622, 384}, - {1244, 192}, - {830, 192}, - {1244, 192}, - {1318, 576}, - {659, 384}, - {1318, 192}, - {1479, 192}, - {1318, 192}, - {1244, 576}, - {739, 384}, - {1244, 192}, - {1975, 192}, - {1661, 769}, - {622, 576}, - {739, 192}, - {830, 192}, - {207, 576}, - {622, 961}, - {622, 64}, - {0, 12}, - {830, 51}, - {1108, 544}, - {830, 865}, - {277, 576}, - {415, 384}, - {1108, 192}, - {830, 192}, - {1108, 192}, - {1244, 384}, - {1318, 192}, - {1244, 384}, - {830, 576}, - {415, 576}, - {622, 384}, - {830, 192}, - {1244, 192}, - {1318, 192}, - {1479, 576}, - {987, 384}, - {1661, 192}, - {1318, 192}, - {1244, 192}, - {246, 576}, - {987, 384}, - {1108, 192}, - {1244, 192}, - {1108, 769}, - {830, 576}, - {987, 384}, - {1108, 576}, - {1396, 576}, - {1479, 384}, - {1661, 576}, - {1479, 576}, - {1975, 384}, - {1661, 576}, - {1479, 576}, - {1244, 192}, - {1318, 192}, - {1479, 576}, - {1318, 576}, - {1975, 384}, - {1244, 576}, - {1318, 384}, - {622, 192}, - {659, 192}, - {622, 192}, - {1661, 576}, - {1479, 576}, - {1975, 384}, - {2217, 576}, - {1975, 384}, - {2637, 192}, - {2489, 192}, - {1661, 384}, - {5274, 192}, - {4978, 192}, - {3322, 576}, - {987, 358}, - {0, 25}, - {880, 576}, - {739, 384}, - {622, 192}, - {493, 384}, - {1661, 384}, - {1108, 192}, - {1479, 384}, - {880, 192}, - {1975, 192}, - {987, 192}, - {1661, 384}, - {880, 192}, - {1479, 576}, - {1244, 192}, - {1318, 192}, - {1479, 384}, - {830, 192}, - {1318, 384}, - {622, 192}, - {1975, 384}, - {1244, 576}, - {1318, 384}, - {622, 192}, - {659, 192}, - {622, 192}, - {1479, 384}, - {1661, 192}, - {1760, 384}, - {1975, 384}, - {2217, 384}, - {880, 192}, - {1318, 192}, - {880, 192}, - {2217, 192}, - {739, 192}, - {2959, 192}, - {1479, 192}, - {2959, 576}, - {830, 576}, - {622, 384}, - {2793, 1538}, - {0, 3076}, + // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1108, 576}, + // {830, 961}, + // {277, 576}, + // {415, 384}, + // {1108, 192}, + // {830, 192}, + // {1108, 192}, + // {1244, 576}, + // {830, 961}, + // {415, 576}, + // {622, 384}, + // {1244, 192}, + // {830, 192}, + // {1244, 192}, + // {1318, 576}, + // {659, 384}, + // {1318, 192}, + // {1479, 192}, + // {1318, 192}, + // {1244, 576}, + // {739, 384}, + // {1244, 192}, + // {1975, 192}, + // {1661, 769}, + // {622, 576}, + // {739, 192}, + // {830, 192}, + // {207, 576}, + // {622, 961}, + // {622, 64}, + // {0, 12}, + // {830, 51}, + // {1108, 544}, + // {830, 865}, + // {277, 576}, + // {415, 384}, + // {1108, 192}, + // {830, 192}, + // {1108, 192}, + // {1244, 384}, + // {1318, 192}, + // {1244, 384}, + // {830, 576}, + // {415, 576}, + // {622, 384}, + // {830, 192}, + // {1244, 192}, + // {1318, 192}, + // {1479, 576}, + // {987, 384}, + // {1661, 192}, + // {1318, 192}, + // {1244, 192}, + // {246, 576}, + // {987, 384}, + // {1108, 192}, + // {1244, 192}, + // {1108, 769}, + // {830, 576}, + // {987, 384}, + // {1108, 576}, + // {1396, 576}, + // {1479, 384}, + // {1661, 576}, + // {1479, 576}, + // {1975, 384}, + // {1661, 576}, + // {1479, 576}, + // {1244, 192}, + // {1318, 192}, + // {1479, 576}, + // {1318, 576}, + // {1975, 384}, + // {1244, 576}, + // {1318, 384}, + // {622, 192}, + // {659, 192}, + // {622, 192}, + // {1661, 576}, + // {1479, 576}, + // {1975, 384}, + // {2217, 576}, + // {1975, 384}, + // {2637, 192}, + // {2489, 192}, + // {1661, 384}, + // {5274, 192}, + // {4978, 192}, + // {3322, 576}, + // {987, 358}, + // {0, 25}, + // {880, 576}, + // {739, 384}, + // {622, 192}, + // {493, 384}, + // {1661, 384}, + // {1108, 192}, + // {1479, 384}, + // {880, 192}, + // {1975, 192}, + // {987, 192}, + // {1661, 384}, + // {880, 192}, + // {1479, 576}, + // {1244, 192}, + // {1318, 192}, + // {1479, 384}, + // {830, 192}, + // {1318, 384}, + // {622, 192}, + // {1975, 384}, + // {1244, 576}, + // {1318, 384}, + // {622, 192}, + // {659, 192}, + // {622, 192}, + // {1479, 384}, + // {1661, 192}, + // {1760, 384}, + // {1975, 384}, + // {2217, 384}, + // {880, 192}, + // {1318, 192}, + // {880, 192}, + // {2217, 192}, + // {739, 192}, + // {2959, 192}, + // {1479, 192}, + // {2959, 576}, + // {830, 576}, + // {622, 384}, + // {2793, 1538}, + // {0, 3076}, }; const melody_sequence_t steiner = MELODY_OF(steiner_data); static const melody_item_t towa_data[] = { - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {349, 94}, - {391, 94}, - {415, 569}, - {391, 94}, - {415, 94}, - {466, 379}, - {311, 379}, - {523, 379}, - {622, 379}, - {587, 189}, - {622, 189}, - {587, 189}, - {466, 189}, - {698, 379}, - {830, 379}, - {783, 284}, - {698, 284}, - {622, 189}, - {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - {523, 759}, - {0, 569}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {349, 94}, + // {391, 94}, + // {415, 569}, + // {391, 94}, + // {415, 94}, + // {466, 379}, + // {311, 379}, + // {523, 379}, + // {622, 379}, + // {587, 189}, + // {622, 189}, + // {587, 189}, + // {466, 189}, + // {698, 379}, + // {830, 379}, + // {783, 284}, + // {698, 284}, + // {622, 189}, + // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {523, 759}, + // {0, 569}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {349, 94}, - {391, 94}, - {415, 569}, - {391, 94}, - {415, 94}, - {466, 379}, - {311, 379}, - {523, 379}, - {622, 379}, - {587, 189}, - {622, 189}, - {587, 189}, - {466, 189}, - {698, 1518}, - {1396, 94}, - {0, 189}, - {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - {932, 94}, - {0, 94}, - {0x55, SEQ_LEN_FLAG_TIMBRE_SET}, - {1244, 94}, - {0, 189}, - {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - {830, 94}, - {0, 189}, - {0x55, SEQ_LEN_FLAG_TIMBRE_SET}, - {1108, 94}, - {0, 94}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1479, 94}, - {0, 189}, - {0, 1518}, - // LOOP - {0, SEQ_LEN_FLAG_THE_LOOPAH}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {698, 189}, - {783, 189}, - {830, 189}, - {783, 189}, - {698, 189}, - {523, 189}, - {466, 189}, - {523, 379}, - {622, 189}, - {523, 569}, - {0, 569}, - {698, 189}, - {783, 189}, - {830, 189}, - {783, 189}, - {698, 189}, - {830, 189}, - {932, 189}, - {1046, 759}, - {0, 949}, - {698, 189}, - {783, 189}, - {830, 189}, - {783, 189}, - {698, 189}, - {523, 189}, - {466, 189}, - {523, 189}, - {523, 189}, - {622, 189}, - {523, 569}, - {0, 569}, - {1046, 189}, - {932, 189}, - {1046, 189}, - {932, 189}, - {830, 189}, - {783, 189}, - {622, 189}, - {698, 759}, - {0, 113}, - {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - {830, 94}, - {0, 75}, - {830, 94}, - {0, 3}, - {783, 205}, - {0, 550}, - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {830, 189}, - {783, 189}, - {698, 379}, - {783, 189}, - {830, 189}, - {783, 189}, - {783, 189}, - {830, 189}, - {783, 189}, - {0, 189}, - {830, 189}, - {783, 189}, - {783, 189}, - {830, 189}, - {0, 189}, - {783, 189}, - {830, 189}, - {0, 189}, - {783, 189}, - {0, 189}, - {830, 189}, - {0, 189}, - {783, 189}, - {830, 189}, - {783, 189}, - {830, 189}, - {830, 189}, - {932, 379}, - {0, 379}, - {830, 189}, - {783, 189}, - {698, 379}, - {783, 189}, - {830, 189}, - {783, 379}, - {830, 189}, - {783, 379}, - {698, 379}, - {622, 189}, - {698, 189}, - {1046, 189}, - {1046, 759}, - {0, 189}, - {622, 189}, - {698, 379}, - {1046, 189}, - {1046, 379}, - {932, 379}, - {830, 189}, - {783, 1518}, - {0, 142}, - {391, 47}, - {622, 189}, - {554, 189}, - {523, 189}, - {0, 569}, - {698, 94}, - {783, 94}, - {830, 569}, - {932, 189}, - {830, 189}, - {783, 189}, - {698, 189}, - {622, 189}, - {523, 379}, - {1046, 379}, - {932, 379}, - {0, 189}, - {622, 94}, - {698, 94}, - {783, 569}, - {830, 189}, - {783, 189}, - {698, 189}, - {622, 189}, - {554, 189}, - {523, 379}, - {932, 379}, - {830, 379}, - {783, 379}, - {698, 379}, - {0, 189}, - {523, 189}, - {830, 379}, - {0, 189}, - {523, 189}, - {783, 569}, - {783, 189}, - {783, 379}, - {0, 189}, - {698, 189}, - {698, 379}, - {659, 379}, - {698, 569}, - {783, 189}, - {783, 759}, - {0, 569}, - {698, 94}, - {783, 94}, - {830, 569}, - {932, 189}, - {830, 189}, - {783, 189}, - {698, 189}, - {622, 189}, - {523, 379}, - {1046, 379}, - {932, 379}, - {0, 189}, - {622, 94}, - {698, 94}, - {783, 379}, - {783, 189}, - {830, 189}, - {783, 189}, - {698, 189}, - {622, 189}, - {554, 189}, - {523, 379}, - {932, 379}, - {830, 379}, - {783, 379}, - {698, 189}, - {0, 189}, - {349, 47}, - {554, 332}, - {391, 47}, - {622, 332}, - {415, 47}, - {698, 332}, - {466, 47}, - {783, 332}, - {523, 47}, - {830, 332}, - {466, 47}, - {783, 332}, - {391, 47}, - {622, 332}, - {415, 47}, - {698, 522}, - {698, 47}, - {1046, 142}, - {698, 47}, - {1046, 712}, - {0, 569}, - {830, 189}, - {783, 189}, - {622, 94}, - {523, 284}, - {783, 94}, - {698, 94}, - {0, 1518}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {349, 94}, + // {391, 94}, + // {415, 569}, + // {391, 94}, + // {415, 94}, + // {466, 379}, + // {311, 379}, + // {523, 379}, + // {622, 379}, + // {587, 189}, + // {622, 189}, + // {587, 189}, + // {466, 189}, + // {698, 1518}, + // {1396, 94}, + // {0, 189}, + // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {932, 94}, + // {0, 94}, + // {0x55, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1244, 94}, + // {0, 189}, + // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {830, 94}, + // {0, 189}, + // {0x55, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1108, 94}, + // {0, 94}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1479, 94}, + // {0, 189}, + // {0, 1518}, + // // LOOP + // {0, SEQ_LEN_FLAG_THE_LOOPAH}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {698, 189}, + // {783, 189}, + // {830, 189}, + // {783, 189}, + // {698, 189}, + // {523, 189}, + // {466, 189}, + // {523, 379}, + // {622, 189}, + // {523, 569}, + // {0, 569}, + // {698, 189}, + // {783, 189}, + // {830, 189}, + // {783, 189}, + // {698, 189}, + // {830, 189}, + // {932, 189}, + // {1046, 759}, + // {0, 949}, + // {698, 189}, + // {783, 189}, + // {830, 189}, + // {783, 189}, + // {698, 189}, + // {523, 189}, + // {466, 189}, + // {523, 189}, + // {523, 189}, + // {622, 189}, + // {523, 569}, + // {0, 569}, + // {1046, 189}, + // {932, 189}, + // {1046, 189}, + // {932, 189}, + // {830, 189}, + // {783, 189}, + // {622, 189}, + // {698, 759}, + // {0, 113}, + // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {830, 94}, + // {0, 75}, + // {830, 94}, + // {0, 3}, + // {783, 205}, + // {0, 550}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {830, 189}, + // {783, 189}, + // {698, 379}, + // {783, 189}, + // {830, 189}, + // {783, 189}, + // {783, 189}, + // {830, 189}, + // {783, 189}, + // {0, 189}, + // {830, 189}, + // {783, 189}, + // {783, 189}, + // {830, 189}, + // {0, 189}, + // {783, 189}, + // {830, 189}, + // {0, 189}, + // {783, 189}, + // {0, 189}, + // {830, 189}, + // {0, 189}, + // {783, 189}, + // {830, 189}, + // {783, 189}, + // {830, 189}, + // {830, 189}, + // {932, 379}, + // {0, 379}, + // {830, 189}, + // {783, 189}, + // {698, 379}, + // {783, 189}, + // {830, 189}, + // {783, 379}, + // {830, 189}, + // {783, 379}, + // {698, 379}, + // {622, 189}, + // {698, 189}, + // {1046, 189}, + // {1046, 759}, + // {0, 189}, + // {622, 189}, + // {698, 379}, + // {1046, 189}, + // {1046, 379}, + // {932, 379}, + // {830, 189}, + // {783, 1518}, + // {0, 142}, + // {391, 47}, + // {622, 189}, + // {554, 189}, + // {523, 189}, + // {0, 569}, + // {698, 94}, + // {783, 94}, + // {830, 569}, + // {932, 189}, + // {830, 189}, + // {783, 189}, + // {698, 189}, + // {622, 189}, + // {523, 379}, + // {1046, 379}, + // {932, 379}, + // {0, 189}, + // {622, 94}, + // {698, 94}, + // {783, 569}, + // {830, 189}, + // {783, 189}, + // {698, 189}, + // {622, 189}, + // {554, 189}, + // {523, 379}, + // {932, 379}, + // {830, 379}, + // {783, 379}, + // {698, 379}, + // {0, 189}, + // {523, 189}, + // {830, 379}, + // {0, 189}, + // {523, 189}, + // {783, 569}, + // {783, 189}, + // {783, 379}, + // {0, 189}, + // {698, 189}, + // {698, 379}, + // {659, 379}, + // {698, 569}, + // {783, 189}, + // {783, 759}, + // {0, 569}, + // {698, 94}, + // {783, 94}, + // {830, 569}, + // {932, 189}, + // {830, 189}, + // {783, 189}, + // {698, 189}, + // {622, 189}, + // {523, 379}, + // {1046, 379}, + // {932, 379}, + // {0, 189}, + // {622, 94}, + // {698, 94}, + // {783, 379}, + // {783, 189}, + // {830, 189}, + // {783, 189}, + // {698, 189}, + // {622, 189}, + // {554, 189}, + // {523, 379}, + // {932, 379}, + // {830, 379}, + // {783, 379}, + // {698, 189}, + // {0, 189}, + // {349, 47}, + // {554, 332}, + // {391, 47}, + // {622, 332}, + // {415, 47}, + // {698, 332}, + // {466, 47}, + // {783, 332}, + // {523, 47}, + // {830, 332}, + // {466, 47}, + // {783, 332}, + // {391, 47}, + // {622, 332}, + // {415, 47}, + // {698, 522}, + // {698, 47}, + // {1046, 142}, + // {698, 47}, + // {1046, 712}, + // {0, 569}, + // {830, 189}, + // {783, 189}, + // {622, 94}, + // {523, 284}, + // {783, 94}, + // {698, 94}, + // {0, 1518}, }; const melody_sequence_t towa = MELODY_OF(towa_data); static const melody_item_t mermgirl_data[] = { - {1174, 199}, - {0, 14}, - {1318, 199}, - {0, 14}, - {1396, 199}, - {0, 14}, - {932, 99}, - {0, 7}, - {1396, 199}, - {0, 14}, - {880, 99}, - {0, 7}, - {1174, 199}, - {0, 14}, - {1567, 199}, - {0, 14}, - {2093, 199}, - {0, 14}, - {1318, 35}, - {1567, 367}, - {0, 24}, - {880, 35}, - {1318, 164}, - {0, 14}, - {1318, 199}, - {0, 14}, - {1046, 199}, - {0, 14}, - {1318, 199}, - {0, 14}, - {1396, 199}, - {0, 14}, - {1567, 199}, - {0, 14}, - {1396, 403}, - {0, 24}, - {1396, 199}, - {0, 14}, - {1396, 99}, - {0, 7}, - {1396, 199}, - {0, 14}, - {880, 99}, - {0, 7}, - {1174, 199}, - {0, 14}, - {1567, 199}, - {0, 14}, - {2093, 199}, - {0, 14}, - {1567, 403}, - {0, 24}, - {1318, 35}, - {1567, 164}, - {0, 14}, - {1760, 199}, - {0, 14}, - {2093, 199}, - {0, 14}, - {1864, 199}, - {0, 14}, - {1760, 403}, - {0, 24}, - {1174, 199}, - {0, 14}, - {1318, 199}, - {0, 14}, - {1396, 199}, - {0, 14}, - {932, 99}, - {0, 7}, - {1396, 199}, - {0, 14}, - {880, 99}, - {0, 7}, - {1174, 199}, - {0, 14}, - {1046, 35}, - {1567, 164}, - {0, 14}, - {2093, 199}, - {0, 14}, - {1318, 35}, - {1567, 367}, - {0, 24}, - {1318, 199}, - {0, 14}, - {1318, 199}, - {0, 14}, - {1046, 199}, - {0, 14}, - {1318, 199}, - {0, 14}, - {1396, 199}, - {0, 14}, - {1567, 199}, - {0, 14}, - {1396, 403}, - {0, 24}, - {1396, 199}, - {0, 14}, - {1396, 99}, - {0, 7}, - {1396, 199}, - {0, 14}, - {880, 99}, - {0, 7}, - {1174, 199}, - {0, 14}, - {1567, 199}, - {0, 14}, - {2093, 199}, - {0, 14}, - {1567, 403}, - {0, 24}, - {1760, 199}, - {0, 14}, - {1760, 99}, - {0, 7}, - {1760, 199}, - {0, 14}, - {1567, 99}, - {0, 7}, - {1760, 199}, - {0, 14}, - {3520, 35}, - {1760, 164}, - {0, 14}, - {4186, 35}, - {2093, 164}, - {0, 14}, - {4698, 35}, - {2349, 164}, - {0, 228}, + // {1174, 199}, + // {0, 14}, + // {1318, 199}, + // {0, 14}, + // {1396, 199}, + // {0, 14}, + // {932, 99}, + // {0, 7}, + // {1396, 199}, + // {0, 14}, + // {880, 99}, + // {0, 7}, + // {1174, 199}, + // {0, 14}, + // {1567, 199}, + // {0, 14}, + // {2093, 199}, + // {0, 14}, + // {1318, 35}, + // {1567, 367}, + // {0, 24}, + // {880, 35}, + // {1318, 164}, + // {0, 14}, + // {1318, 199}, + // {0, 14}, + // {1046, 199}, + // {0, 14}, + // {1318, 199}, + // {0, 14}, + // {1396, 199}, + // {0, 14}, + // {1567, 199}, + // {0, 14}, + // {1396, 403}, + // {0, 24}, + // {1396, 199}, + // {0, 14}, + // {1396, 99}, + // {0, 7}, + // {1396, 199}, + // {0, 14}, + // {880, 99}, + // {0, 7}, + // {1174, 199}, + // {0, 14}, + // {1567, 199}, + // {0, 14}, + // {2093, 199}, + // {0, 14}, + // {1567, 403}, + // {0, 24}, + // {1318, 35}, + // {1567, 164}, + // {0, 14}, + // {1760, 199}, + // {0, 14}, + // {2093, 199}, + // {0, 14}, + // {1864, 199}, + // {0, 14}, + // {1760, 403}, + // {0, 24}, + // {1174, 199}, + // {0, 14}, + // {1318, 199}, + // {0, 14}, + // {1396, 199}, + // {0, 14}, + // {932, 99}, + // {0, 7}, + // {1396, 199}, + // {0, 14}, + // {880, 99}, + // {0, 7}, + // {1174, 199}, + // {0, 14}, + // {1046, 35}, + // {1567, 164}, + // {0, 14}, + // {2093, 199}, + // {0, 14}, + // {1318, 35}, + // {1567, 367}, + // {0, 24}, + // {1318, 199}, + // {0, 14}, + // {1318, 199}, + // {0, 14}, + // {1046, 199}, + // {0, 14}, + // {1318, 199}, + // {0, 14}, + // {1396, 199}, + // {0, 14}, + // {1567, 199}, + // {0, 14}, + // {1396, 403}, + // {0, 24}, + // {1396, 199}, + // {0, 14}, + // {1396, 99}, + // {0, 7}, + // {1396, 199}, + // {0, 14}, + // {880, 99}, + // {0, 7}, + // {1174, 199}, + // {0, 14}, + // {1567, 199}, + // {0, 14}, + // {2093, 199}, + // {0, 14}, + // {1567, 403}, + // {0, 24}, + // {1760, 199}, + // {0, 14}, + // {1760, 99}, + // {0, 7}, + // {1760, 199}, + // {0, 14}, + // {1567, 99}, + // {0, 7}, + // {1760, 199}, + // {0, 14}, + // {3520, 35}, + // {1760, 164}, + // {0, 14}, + // {4186, 35}, + // {2093, 164}, + // {0, 14}, + // {4698, 35}, + // {2349, 164}, + // {0, 228}, }; const melody_sequence_t mermgirl = MELODY_OF(mermgirl_data); static const melody_item_t eye_opener_data[] = { - // Open your eyes - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1046, 29}, - {523, 147}, - {1174, 29}, - {587, 147}, - {1318, 29}, - {659, 147}, - {1174, 29}, - {587, 323}, - {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - {220, 174}, - {0, 178}, - {220, 174}, + // // Open your eyes + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1046, 29}, + // {523, 147}, + // {1174, 29}, + // {587, 147}, + // {1318, 29}, + // {659, 147}, + // {1174, 29}, + // {587, 323}, + // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {220, 174}, + // {0, 178}, + // {220, 174}, - // See all the love in me - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1396, 29}, - {698, 147}, - {1318, 29}, - {659, 147}, - {1174, 29}, - {587, 147}, - {1318, 29}, - {659, 499}, - {1046, 29}, - {523, 147}, - {1046, 29}, - {523, 323}, - {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - {174, 174}, - {0, 178}, + // // See all the love in me + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1396, 29}, + // {698, 147}, + // {1318, 29}, + // {659, 147}, + // {1174, 29}, + // {587, 147}, + // {1318, 29}, + // {659, 499}, + // {1046, 29}, + // {523, 147}, + // {1046, 29}, + // {523, 323}, + // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {174, 174}, + // {0, 178}, - // I've got enough forever - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {783, 176}, - {698, 352}, - {659, 352}, - {587, 352}, - {523, 352}, - {587, 176}, - {659, 352}, - {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - {261, 176}, + // // I've got enough forever + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {783, 176}, + // {698, 352}, + // {659, 352}, + // {587, 352}, + // {523, 352}, + // {587, 176}, + // {659, 352}, + // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {261, 176}, - // Don't be afraid - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1046, 29}, - {523, 147}, - {1174, 29}, - {587, 147}, - {1318, 29}, - {659, 147}, - {1174, 29}, - {587, 323}, - {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - {220, 174}, - {0, 178}, - {220, 174}, + // // Don't be afraid + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1046, 29}, + // {523, 147}, + // {1174, 29}, + // {587, 147}, + // {1318, 29}, + // {659, 147}, + // {1174, 29}, + // {587, 323}, + // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {220, 174}, + // {0, 178}, + // {220, 174}, - // Take all you need from me - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {1396, 29}, - {698, 147}, - {1318, 29}, - {659, 147}, - {1174, 29}, - {587, 147}, - {1318, 29}, - {659, 499}, - {1046, 29}, - {523, 147}, - {1046, 29}, - {523, 323}, - {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - {174, 174}, - {0, 178}, + // // Take all you need from me + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1396, 29}, + // {698, 147}, + // {1318, 29}, + // {659, 147}, + // {1174, 29}, + // {587, 147}, + // {1318, 29}, + // {659, 499}, + // {1046, 29}, + // {523, 147}, + // {1046, 29}, + // {523, 323}, + // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {174, 174}, + // {0, 178}, - // And we'll be strong together - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {440, 176}, - {523, 352}, - {587, 352}, - {698, 352}, - {659, 352}, - {587, 176}, - {523, 529}, + // // And we'll be strong together + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {440, 176}, + // {523, 352}, + // {587, 352}, + // {698, 352}, + // {659, 352}, + // {587, 176}, + // {523, 529}, - // RIFF - {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - {1318, 175}, - {880, 87}, - {1318, 175}, - {880, 87}, - {1318, 175}, - {1318, 175}, - {880, 87}, - {1318, 175}, - {880, 87}, - {1318, 175}, - {1396, 175}, - {1046, 87}, - {1396, 175}, - {1046, 87}, - {1396, 175}, - {1396, 175}, - {1046, 87}, - {1396, 175}, - {1046, 87}, - {1396, 175}, - {1567, 175}, - {1046, 87}, - {1567, 175}, - {1046, 87}, - {1567, 175}, - {1567, 175}, - {1046, 87}, - {1567, 175}, - {1046, 87}, - {1567, 175}, - {1174, 175}, - {1046, 87}, - {1174, 175}, - {1046, 87}, - {1174, 175}, - {1174, 175}, - {1046, 87}, - {1174, 175}, - {1046, 87}, - {1174, 175}, - {1318, 175}, - {880, 87}, - {1318, 175}, - {880, 87}, - {1318, 175}, - {1318, 175}, - {880, 87}, - {1318, 175}, - {880, 87}, - {1318, 175}, - {1396, 175}, - {1046, 87}, - {1396, 175}, - {1046, 87}, - {1396, 175}, - {1396, 175}, - {1046, 87}, - {1396, 175}, - {1046, 87}, - {1396, 175}, - {1567, 175}, - {1046, 87}, - {1567, 175}, - {1046, 87}, - {1567, 175}, - {1567, 175}, - {1046, 87}, - {1567, 175}, - {1046, 87}, - {1567, 175}, - {1174, 175}, - {1046, 87}, - {1174, 175}, - {1046, 87}, - {1174, 175}, - {1174, 175}, - {1046, 87}, - {1174, 175}, - {1046, 87}, - {1174, 174}, - {0, 707}, + // // RIFF + // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1318, 175}, + // {880, 87}, + // {1318, 175}, + // {880, 87}, + // {1318, 175}, + // {1318, 175}, + // {880, 87}, + // {1318, 175}, + // {880, 87}, + // {1318, 175}, + // {1396, 175}, + // {1046, 87}, + // {1396, 175}, + // {1046, 87}, + // {1396, 175}, + // {1396, 175}, + // {1046, 87}, + // {1396, 175}, + // {1046, 87}, + // {1396, 175}, + // {1567, 175}, + // {1046, 87}, + // {1567, 175}, + // {1046, 87}, + // {1567, 175}, + // {1567, 175}, + // {1046, 87}, + // {1567, 175}, + // {1046, 87}, + // {1567, 175}, + // {1174, 175}, + // {1046, 87}, + // {1174, 175}, + // {1046, 87}, + // {1174, 175}, + // {1174, 175}, + // {1046, 87}, + // {1174, 175}, + // {1046, 87}, + // {1174, 175}, + // {1318, 175}, + // {880, 87}, + // {1318, 175}, + // {880, 87}, + // {1318, 175}, + // {1318, 175}, + // {880, 87}, + // {1318, 175}, + // {880, 87}, + // {1318, 175}, + // {1396, 175}, + // {1046, 87}, + // {1396, 175}, + // {1046, 87}, + // {1396, 175}, + // {1396, 175}, + // {1046, 87}, + // {1396, 175}, + // {1046, 87}, + // {1396, 175}, + // {1567, 175}, + // {1046, 87}, + // {1567, 175}, + // {1046, 87}, + // {1567, 175}, + // {1567, 175}, + // {1046, 87}, + // {1567, 175}, + // {1046, 87}, + // {1567, 175}, + // {1174, 175}, + // {1046, 87}, + // {1174, 175}, + // {1046, 87}, + // {1174, 175}, + // {1174, 175}, + // {1046, 87}, + // {1174, 175}, + // {1046, 87}, + // {1174, 174}, + // {0, 707}, }; const melody_sequence_t eye_opener = MELODY_OF(eye_opener_data); static const melody_item_t ark_data[] = { - {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, + // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - {880, 220}, - {987, 220}, - {1046, 220}, - {1174, 772}, - {0, 330}, - {783, 220}, - {880, 220}, - {987, 220}, - {880, 772}, - {0, 330}, - {880, 220}, - {987, 220}, - {1046, 220}, - {1174, 661}, - {1046, 220}, - {987, 330}, - {0, 110}, - {783, 36}, - {1567, 404}, - {659, 36}, - {1318, 735}, - {0, 330}, - {440, 36}, - {880, 183}, - {493, 36}, - {987, 183}, - {523, 36}, - {1046, 183}, - {587, 36}, - {1174, 735}, - {0, 330}, - {391, 36}, - {783, 183}, - {440, 36}, - {880, 183}, - {493, 36}, - {987, 183}, - {440, 36}, - {880, 735}, - {0, 551}, - {329, 36}, - {659, 183}, - {391, 36}, - {783, 183}, - {440, 36}, - {880, 1066}, - {0, 882}, - {493, 36}, - {987, 772}, - {0, 73}, + // {880, 220}, + // {987, 220}, + // {1046, 220}, + // {1174, 772}, + // {0, 330}, + // {783, 220}, + // {880, 220}, + // {987, 220}, + // {880, 772}, + // {0, 330}, + // {880, 220}, + // {987, 220}, + // {1046, 220}, + // {1174, 661}, + // {1046, 220}, + // {987, 330}, + // {0, 110}, + // {783, 36}, + // {1567, 404}, + // {659, 36}, + // {1318, 735}, + // {0, 330}, + // {440, 36}, + // {880, 183}, + // {493, 36}, + // {987, 183}, + // {523, 36}, + // {1046, 183}, + // {587, 36}, + // {1174, 735}, + // {0, 330}, + // {391, 36}, + // {783, 183}, + // {440, 36}, + // {880, 183}, + // {493, 36}, + // {987, 183}, + // {440, 36}, + // {880, 735}, + // {0, 551}, + // {329, 36}, + // {659, 183}, + // {391, 36}, + // {783, 183}, + // {440, 36}, + // {880, 1066}, + // {0, 882}, + // {493, 36}, + // {987, 772}, + // {0, 73}, - {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - {1046, 441}, - {1174, 441}, - {1318, 441}, - {659, 220}, - {1046, 441}, - {1567, 220}, - {1396, 220}, - {1318, 441}, - {1174, 661}, - {783, 36}, - {987, 404}, - {880, 36}, - {1046, 404}, - {987, 36}, - {1174, 404}, - {880, 220}, - {830, 441}, - {1396, 220}, - {1318, 220}, - {1174, 441}, - {1046, 661}, - {880, 441}, - {987, 441}, - {659, 36}, - {880, 36}, - {1046, 588}, - {1318, 36}, - {1567, 404}, - {0, 220}, - {1318, 36}, - {1567, 404}, - {1046, 441}, - {783, 220}, - {1567, 441}, - {0, 183}, - {783, 36}, - {1567, 441}, - {1174, 441}, - {739, 220}, - {1046, 661}, - {1174, 441}, - {1318, 661}, - {0, 220}, - {1046, 441}, - {1174, 441}, - {1318, 441}, - {523, 220}, - {880, 36}, - {1046, 404}, - {783, 36}, - {987, 36}, - {1567, 147}, - {698, 36}, - {880, 36}, - {1396, 147}, - {659, 36}, - {783, 36}, - {1318, 367}, - {698, 36}, - {1174, 624}, - {493, 36}, - {987, 404}, - {523, 36}, - {1046, 404}, - {587, 36}, - {1174, 404}, - {880, 220}, - {830, 441}, - {1396, 220}, - {1318, 220}, - {1174, 441}, - {1046, 661}, - {440, 36}, - {880, 404}, - {493, 36}, - {987, 404}, - {659, 36}, - {1046, 624}, - {783, 36}, - {1567, 404}, - {0, 220}, - {783, 36}, - {1567, 404}, - {523, 36}, - {1046, 624}, - {783, 36}, - {1567, 404}, - {0, 220}, - {783, 36}, - {1567, 404}, - {1396, 441}, - {698, 220}, - {1318, 441}, - {659, 110}, - {987, 110}, - {1174, 441}, - {1046, 294}, - {0, 36}, - {830, 110}, - {523, 220}, - {987, 661}, - {830, 441}, - {880, 1764}, + // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, + // {1046, 441}, + // {1174, 441}, + // {1318, 441}, + // {659, 220}, + // {1046, 441}, + // {1567, 220}, + // {1396, 220}, + // {1318, 441}, + // {1174, 661}, + // {783, 36}, + // {987, 404}, + // {880, 36}, + // {1046, 404}, + // {987, 36}, + // {1174, 404}, + // {880, 220}, + // {830, 441}, + // {1396, 220}, + // {1318, 220}, + // {1174, 441}, + // {1046, 661}, + // {880, 441}, + // {987, 441}, + // {659, 36}, + // {880, 36}, + // {1046, 588}, + // {1318, 36}, + // {1567, 404}, + // {0, 220}, + // {1318, 36}, + // {1567, 404}, + // {1046, 441}, + // {783, 220}, + // {1567, 441}, + // {0, 183}, + // {783, 36}, + // {1567, 441}, + // {1174, 441}, + // {739, 220}, + // {1046, 661}, + // {1174, 441}, + // {1318, 661}, + // {0, 220}, + // {1046, 441}, + // {1174, 441}, + // {1318, 441}, + // {523, 220}, + // {880, 36}, + // {1046, 404}, + // {783, 36}, + // {987, 36}, + // {1567, 147}, + // {698, 36}, + // {880, 36}, + // {1396, 147}, + // {659, 36}, + // {783, 36}, + // {1318, 367}, + // {698, 36}, + // {1174, 624}, + // {493, 36}, + // {987, 404}, + // {523, 36}, + // {1046, 404}, + // {587, 36}, + // {1174, 404}, + // {880, 220}, + // {830, 441}, + // {1396, 220}, + // {1318, 220}, + // {1174, 441}, + // {1046, 661}, + // {440, 36}, + // {880, 404}, + // {493, 36}, + // {987, 404}, + // {659, 36}, + // {1046, 624}, + // {783, 36}, + // {1567, 404}, + // {0, 220}, + // {783, 36}, + // {1567, 404}, + // {523, 36}, + // {1046, 624}, + // {783, 36}, + // {1567, 404}, + // {0, 220}, + // {783, 36}, + // {1567, 404}, + // {1396, 441}, + // {698, 220}, + // {1318, 441}, + // {659, 110}, + // {987, 110}, + // {1174, 441}, + // {1046, 294}, + // {0, 36}, + // {830, 110}, + // {523, 220}, + // {987, 661}, + // {830, 441}, + // {880, 1764}, }; const melody_sequence_t ark = MELODY_OF(ark_data); diff --git a/src/sound/sequencer.cpp b/src/sound/sequencer.cpp index 6bfdc6f..23589e3 100644 --- a/src/sound/sequencer.cpp +++ b/src/sound/sequencer.cpp @@ -1,111 +1,90 @@ #include #include +#include static char LOG_TAG[] = "MELODY"; -#define EVT_BIT_ENDED_PLAYING (1 << 0) +#define BIT_END_PLAY 0b00000001 -extern "C" void MelodyTaskFunction( void * pvParameter ); - -void MelodyTaskFunction( void * pvParameter ) -{ - ESP_LOGV(LOG_TAG, "Running task"); - BeepSequencer * that = static_cast ( pvParameter ); - that->task(); +NewSequencer::NewSequencer() { + for(int i = 0; i < CHANNELS; i++) voices[i] = new SquareGenerator(); + wait_end_group = xEventGroupCreate(); } +NewSequencer::~NewSequencer() { + for(int i = 0; i < CHANNELS; i++) delete voices[i]; +} -BeepSequencer::BeepSequencer(Beeper * b) { - beeper = b; +void NewSequencer::stop_sequence() { is_running = false; - pointer = 0; - hTask = NULL; - waitEndGroup = xEventGroupCreate(); + for(int i = 0; i < CHANNELS; i++) voices[i]->set_parameter(ToneGenerator::Parameter::PARAMETER_ACTIVE, false); + xEventGroupSetBits(wait_end_group, BIT_END_PLAY); } -BeepSequencer::~BeepSequencer() { - end_task(); +void NewSequencer::wait_end_play() { + xEventGroupWaitBits(wait_end_group, BIT_END_PLAY, pdFALSE, pdTRUE, portMAX_DELAY); } -void BeepSequencer::play_sequence(const melody_sequence_t melody, beeper_channel_t ch, int repeat) { +void NewSequencer::play_sequence(const melody_sequence_t * s, int repeat) { + repetitions = repeat; + sequence = s; pointer = 0; loop_point = 0; - timbre = DUTY_SQUARE; - current_sequence = melody; - current_channel = ch; - repetitions = repeat; is_running = true; - - start_task(); + remaining_delay_samples = 0; + xEventGroupClearBits(wait_end_group, BIT_END_PLAY); + process_steps_until_delay(); } -void BeepSequencer::start_task() { - if(hTask != NULL) return; - - if(xTaskCreate( - MelodyTaskFunction, - "MELODY", - 4096, - this, - pisosTASK_PRIORITY_MELODY_SEQUENCER, - &hTask - ) != pdPASS) { - ESP_LOGE(LOG_TAG, "Task creation failed!"); +void NewSequencer::process_steps_until_delay() { + if(!is_running) return; + if(pointer >= sequence->count) { + // End of Song condition + if(repetitions == -1 || repetitions > 0) { + if(repetitions > 0) repetitions--; + pointer = loop_point; + process_steps_until_delay(); + return; + } else if(repetitions == 0) { + stop_sequence(); + return; + } } -} -void BeepSequencer::end_task() { - if(hTask != NULL) { - vTaskDelete(hTask); - hTask = NULL; + const melody_item_t * cur_line = &sequence->array[pointer]; + switch(cur_line->command) { + case FREQ_SET: + voices[cur_line->channel]->set_parameter(ToneGenerator::Parameter::PARAMETER_FREQUENCY, cur_line->argument1); + break; + case LOOP_POINT_SET: + loop_point = pointer + 1; + break; + case DELAY: + remaining_delay_samples = cur_line->argument1 * WaveOut::BAUD_RATE / 1000; + break; + default: + break; } - xEventGroupSetBits(waitEndGroup, EVT_BIT_ENDED_PLAYING); -} + pointer++; -void BeepSequencer::stop_sequence() { - if(!is_running) return; - is_running = false; - end_task(); - beeper->stop_tone(current_channel); + if(cur_line->command != DELAY) { + process_steps_until_delay(); + } } -void BeepSequencer::task() { - while(is_running) { - melody_item_t cur = current_sequence.array[pointer]; - if(cur.length == SEQ_LEN_FLAG_TIMBRE_SET) { - timbre = cur.frequency; - } else if(cur.length == SEQ_LEN_FLAG_THE_LOOPAH) { - loop_point = pointer + 1; - } else { - if(cur.frequency == 0) { - beeper->stop_tone(current_channel); - } else { - beeper->start_tone(current_channel, cur.frequency, timbre); - } - vTaskDelay(cur.length); - } - - pointer ++; +size_t NewSequencer::fill_buffer(void* buffer, size_t length) { + if(!is_running) return 0; + if(remaining_delay_samples == 0) process_steps_until_delay(); - if(pointer >= current_sequence.count) { - if(repetitions > 0) { - repetitions--; - pointer = loop_point; - } else if(repetitions < 0) { - pointer = loop_point; - } else { - beeper->stop_tone(current_channel); - is_running = false; - hTask = NULL; - xEventGroupSetBits(waitEndGroup, EVT_BIT_ENDED_PLAYING); - vTaskDelete(NULL); - } - } + size_t generated = 0; + uint32_t want_samples = std::min(length * 8, (size_t) remaining_delay_samples); + for(int i = 0; i < CHANNELS; i++) { + size_t cur = voices[i]->generate_samples(buffer, length, want_samples); + if(cur > generated) generated = cur; } -} -void BeepSequencer::wait_end_play() { - xEventGroupClearBits(waitEndGroup, EVT_BIT_ENDED_PLAYING); - xEventGroupWaitBits(waitEndGroup, EVT_BIT_ENDED_PLAYING, false, true, portMAX_DELAY); + remaining_delay_samples -= want_samples; + + return generated; } \ No newline at end of file diff --git a/src/sound/waveout.cpp b/src/sound/waveout.cpp index 1ebd758..21e3a64 100644 --- a/src/sound/waveout.cpp +++ b/src/sound/waveout.cpp @@ -5,7 +5,7 @@ static char LOG_TAG[] = "WOUT"; bool WaveOut::i2sInited = false; TaskHandle_t WaveOut::hTask = NULL; -WaveGeneratorCallback WaveOut::callback = NULL_GENERATOR; +WaveGeneratorCallback WaveOut::callback[] = {NULL_GENERATOR, NULL_GENERATOR}; void WaveOut::init_I2S(gpio_num_t pin) { if(WaveOut::i2sInited) return; @@ -54,10 +54,14 @@ void WaveOut::task(void*) { const size_t fast_chunk_size = RENDER_CHUNK_SIZE / sizeof(uint32_t); static size_t out_size = 0; while(1) { - size_t generated_bytes = callback(chunk, RENDER_CHUNK_SIZE); - if(generated_bytes > 0) { + size_t total = 0; + for(int i = 0; i < CHANNEL_COUNT; i++) { + size_t generated_bytes = callback[i](chunk, RENDER_CHUNK_SIZE); + if(generated_bytes > total) total = generated_bytes; + } + if(total > 0) { for(size_t i = 0; i < fast_chunk_size; i++) fast_chunk[i] = ~fast_chunk[i]; - i2s_write(I2S_NUM, chunk, generated_bytes, &out_size, portMAX_DELAY); + i2s_write(I2S_NUM, chunk, total, &out_size, portMAX_DELAY); memset(chunk, 0, RENDER_CHUNK_SIZE); } else { i2s_write(I2S_NUM, null, RENDER_CHUNK_SIZE, &out_size, portMAX_DELAY); @@ -66,6 +70,6 @@ void WaveOut::task(void*) { } } -void WaveOut::set_output_callback(WaveGeneratorCallback cb) { - callback = cb; +void WaveOut::set_output_callback(int channel, WaveGeneratorCallback cb) { + callback[channel] = cb; } \ No newline at end of file From cdd267327ff19f5a1a65ca95521805e5c8312b3f Mon Sep 17 00:00:00 2001 From: akasaka Date: Thu, 1 Aug 2024 22:25:02 +0900 Subject: [PATCH 22/26] Finally a working PoC --- helper/chimes/arise.mid | Bin 492 -> 701 bytes helper/chimes/ark.mid | Bin 1116 -> 1772 bytes helper/chimes/bouken.mid | Bin 508 -> 893 bytes helper/chimes/duvet.mid | Bin 499 -> 499 bytes helper/chimes/gammapolisz.mid | Bin 452 -> 758 bytes helper/chimes/gentlejena.mid | Bin 502 -> 901 bytes helper/midi_to_chime.py | 71 +- include/sound/generators.h | 18 +- include/sound/sequencer.h | 1 + include/sound/waveout.h | 8 +- src/sound/melodies.cpp | 6707 ++++++++++++++++++++++----------- src/sound/sequencer.cpp | 5 + src/sound/waveout.cpp | 6 +- 13 files changed, 4681 insertions(+), 2135 deletions(-) diff --git a/helper/chimes/arise.mid b/helper/chimes/arise.mid index 7b0b1347a2794a306d788447fdb79f800bef09b4..461f3e50c81e4f9eede8daf737248aa0243bd6a2 100644 GIT binary patch delta 265 zcmaFEyq9%?A>+@9MxDG3rVI=d%u^c08q68wCMMcWW@gl_zrrw4JEhU2QJaBbqESkd zPNNZ!p$QVv1TqX#8dVz&82Et<8z9XvQ4dJ#0cqWoCa*?apfS2Y0bQVgHjoCHp#svX z0%WLx7-~R56l5TmzjWFWCUV>9BrD?$lhqm(5U)fpTRez UD4T(Sfps4L;RnMxET|Df|tl42|sO4000_Z6~ub>N2y=H<>KRv}W=KCSCv_xD0Xt diff --git a/helper/chimes/ark.mid b/helper/chimes/ark.mid index e90ae190facfde542060bfa21dc5d1504e7c8881..ac37e1a934572f8c637aa1deec7b3bcecc978d0a 100644 GIT binary patch literal 1772 zcmcgsO>YuW6ute7nVlQsiiIhG5ZYnjh0yRO5JJ;#nyBfbB~2YE9k3HEScpO8 z!NT(QU7GGLF3#V*Mbo``qDyaTQ~OCPj!u`KGJof#w2{$pjLIHt3>WV z!iK{x0xq@Ob8(#tVjLq>1MmwrYNJ+-Qq{l$dUNt@lc*9{6{6-O+-g$GXm4(L^c-S4wCaR8#sONYB9thYMuwk$hh#wtX3h(3}TX}Rn zEuyR474%rpan_rAE@V&xgNEgEgI1MEsF18)u&X-YgRdLC&H)2|c^oQal|}}1)mU&7 z#yRI2hbatA0e~|BywVJis_HCMsOO9fl1dj0c7jmBsJ=8+(p7^m*>Ldz+0YW0^;1K^ zmrsP^IP5dU>#Ut4u78uP735)I60Fth$dzEd4wYCkux1H_b)g$7Xj6C;{Q?%sIlc5i z_-YL2-hQF?wIJ-{BD0>!66Ji8Bg#V<+++5LUACto(yFglIbh(=p)|5G9g{&)S8xI2 z(!Nd;t+dSw0EYrN)(nuU*~3twUbow zyJ4Rx{#Vv!MlQiO9wH$h^Ie5LEEf3k;e~G&KAbdz>wsu0EtV*~f9XMr-`BDCwg18K zWM+LCcxb_6EMr#kG>@^*b8iPMRout!u;FwC7XXJrKa{NF=;jQQf%tg}`|&`j9-fj` zK0l~hla;=NCQRf5Fd0V-e3^l4PuWl4Kbqu?ZAp#wkh% z(Ta$SeyAW;zJ+m3tX=y2&HES^uk^5Abj9Z_Gjp+_CGe>p?~A{u(Z<+pU;%Y`0X2uF ziAUH@p<=C_!kcQG7+%if`*pH(H>E+gtHHGfdI;;lz~$mmVk2Ko0WJNk|H=3pF literal 1116 zcmdT@-)qxQ6h5wV$bAz;d@AD87=zL@ly$k6gpiWG3{>_oi$X22sa&k9?XtV9F2wx< z{y+Y4^*bk32fp~~TkbvQJKv9Ub9y$*h-i-<&|`9^XJ0H%ZQ8VmHm_QHKh9}$zPr2g z>=A9=>=50JHyvuaTJP$M?`EY9QTR!RL{Xt5qPVJG$21BG9T1s?lpU813Wi4JTCSFY zD7Oed27Jwjuo#8Z4y*z?t>!7wkyS@TNmZXDH0n-N7o%1lSbJ|(kGVYz_cP_Q0uLkl zR`o^433PNa)gcNB5A(WX0WSnR6|iG)*UCK@4AoB$->XBgEr72l@|4I4wJhrg-e^$F>}P5Y(B63hpozG5fASR9VoPrBI0 z)WK8@&@<(pq1#6!jo^kksWK=X3o2EYneGfpx(!tLl*HE9VkP!Qk(L8we@?0B2wE}KwMm{471VPRr2h1E7wD21*50e_kQ z!~z#4D>f9@7`vUfZ{L11yQ}rXJ%CfRaDlK|KRw3k4BOk2?CW!Lx4njGt#iCN4Gt)j z1+Y*qfJ#{bUTcrsY3-1E4IXgH=(Kh6FzQPU%XG>T_GzKgx)ePuK&7!eLU3&2ntFDNj>>Q+}f|!kKWE=4p!cVxE2S=JMw`kbNB92HCIg H`#+0se;BxT delta 30 mcmey%_J?_b#^e}gUKU1vhKU<>I2f6lRVH6#S~IzTnHK<))Cm&+ diff --git a/helper/chimes/duvet.mid b/helper/chimes/duvet.mid index 734611b0a14c9b2563e37cdbbf37dda07ec7561b..78a93dcc71324f298b7b56683e6139b24703934d 100644 GIT binary patch delta 78 xcmey&{F!-!Jfl;6gQWw*1hbSTjRv!n(*ODlz9B`~3=9mclk|z?OipB+1OU>47byS$ delta 34 ocmey&{F!-!JR@IrgQWw*1hbT~2D6kV>&c0Xk&_oNN&#^&0Mm&J$p8QV diff --git a/helper/chimes/gammapolisz.mid b/helper/chimes/gammapolisz.mid index c72b7b7eea15f3acc7900d73a5694308b3e75191..95408232567d40b9d498aedc6e08a2c1935a7e7a 100644 GIT binary patch literal 758 zcmchV%TB^j5QYb8@rKup5(q&XBT+;fl-;}T3TPBIrwoN3p zB-Xx(#Yub}7(bSzskYaYK~u}7DUyURgpo!jVjQZyq%oZw>VrAN*TC0c;N$aU;A_$N zv;!ExPy-XjF8Xkm5?W)u$X5a?A zgA?hp26kDp=sJ2V^@ayM4tgYcBzYuz49a?8%Th>7YA0<;szmR8Mtge6fdzDc&SKa{ z=P*2CXrxQ@m&9SEJ}Zr&8)z3Dd}>dhIA6z?hrqeXm&9D*JtnzDavMGU|?M$gqt(Dkg0X@c_t|Uj#wt< diff --git a/helper/chimes/gentlejena.mid b/helper/chimes/gentlejena.mid index 1499aa474dbc3c60cea3805fb28382254ced3c48..d1b994f7c9fd9d55428f94aa167013693d34fb92 100644 GIT binary patch delta 434 zcmW-d%}T>S6opT$P1Dw<{!x%P1czZl9HMTDn<6!42vUY>kXl;W^iPX|is-(GxN#vC zAH#?7ZQSbU;=+Y{@A>XI-X7=dr_HhUA^Ut@L@rt=CdoJ?4I^?i~ z90{1bd82!$ed=JHCVh&cr=}hjXtYaFBaM`x#KI{<){llhOctgLcBR#+AWxDJL6OEo ziZZFS2wbBfCpe6yVy>@pGb~PSXVeN-}AIEN(y0Cb?&yf>yB9P_H0mrhV`VR8+ zWK5Cs;!COw4?e{anW+JR%})MF(L|G2yvlH1X?H8I$eErl(F6UTNm?reshem(jyHN7 zB@t;W3q0B6ICGN0KR|EVo}Bze6>m`}B6USlnbd`PqhCxy{ delta 27 jcmZo=|HeE)laX_xR^!C2eJl*DTf-+iGP_I`U@ip!e`E-x diff --git a/helper/midi_to_chime.py b/helper/midi_to_chime.py index f068125..7a7061f 100644 --- a/helper/midi_to_chime.py +++ b/helper/midi_to_chime.py @@ -1,8 +1,6 @@ #!/usr/bin/env python3 -# this is very jank, do not expect it to work as is -# it worked for some melodies though - +import pdb from sys import argv from mido import MidiFile import freq_note_converter @@ -10,45 +8,64 @@ mid = MidiFile(argv[1]) name = argv[2] -last_time = 0 -evts = [] # of (freq in hz or 0, delay in ms) ended = False +class Event(): + def __init__(self, kind, chan, arg): + self.kind = kind + self.chan = chan + self.arg = arg + + def __str__(self): + return f" {{{self.kind}, {str(self.chan)}, {str(int(self.arg))}}}," + +class Comment(): + def __init__(self, s): + self.content = s + self.kind = "REM" + + def __str__(self): + return f" /* {self.content} */" + +evts = [] + +def prev_note_off_event(chan): + for i in range(1,len(evts)+1): + e = evts[-i] + if e.kind == "FREQ_SET" and e.arg == 0 and e.chan == chan: + return e + elif e.kind == "DELAY": + return None + return None + for msg in mid: + print(msg) if msg.type == "note_on" or msg.type == "note_off": - print(msg) - if msg.time > 0 and len(evts) > 0 and evts[-1][1] == 0: - evts[-1][1] = int(msg.time * 1000) + if msg.time > 0.005: + evts.append(Event("DELAY", 0, msg.time * 1000)) if msg.type == "note_on" and msg.velocity > 0: - evts.append([int(freq_note_converter.from_note_index(msg.note).freq), 0, ""]) + existing_evt = prev_note_off_event(msg.channel) + if existing_evt is not None: + existing_evt.arg = freq_note_converter.from_note_index(msg.note).freq + else: + evts.append(Event("FREQ_SET", msg.channel, freq_note_converter.from_note_index(msg.note).freq)) else: # note off - evts.append([0, 0, ""]) + evts.append(Event("FREQ_SET", msg.channel, 0)) elif msg.type == "end_of_track": - print(msg) if ended: raise Exception("WTF, already ended") ended = True - if evts[-1][0] == 0: - # pause exists, just extend it - evts[-1][1] = int(msg.time * 1000) - else: - evts.append([0, int(msg.time*1000), ""]) + evts.append(Event("DELAY", 0, msg.time * 1000)) elif msg.type == "marker": - evts[-1][2] = msg.text - + if msg.time > 0.005: + evts.append(Event("DELAY", 0, msg.time * 1000)) + evts.append(Comment(msg.text)) -print(evts) print("static const melody_item_t "+name+"_data[] = {") -i = 0 -while i < len(evts): - if evts[i][0] != 0 or evts[i][1] != 0: - print(" {"+str(evts[i][0])+", "+str(evts[i][1])+"}, ") - if evts[i][2] != "": - print(" ") - print(" // " + evts[i][2]) - i+=1 +for e in evts: + print(str(e)) print("};") print("const melody_sequence_t "+name+" = MELODY_OF("+name+"_data);") \ No newline at end of file diff --git a/include/sound/generators.h b/include/sound/generators.h index 5fcbcd3..ea9cc7d 100644 --- a/include/sound/generators.h +++ b/include/sound/generators.h @@ -5,10 +5,12 @@ class ToneGenerator { public: enum Parameter { PARAMETER_FREQUENCY, + PARAMETER_DUTY, PARAMETER_ACTIVE }; virtual size_t generate_samples(void* buffer, size_t length, uint32_t wanted_samples) { return 0; } virtual void set_parameter(Parameter p, int v) { } + virtual void reset_phase() {} }; @@ -18,7 +20,7 @@ class SquareGenerator: public ToneGenerator { phase{0}, wavelength{0}, active { false }, - duty_offset { 0 } + duty { 2 } {} void set_frequency(int freq) { @@ -37,6 +39,10 @@ class SquareGenerator: public ToneGenerator { phase = 0; } + void reset_phase() override { + phase = 0; + } + void set_parameter(Parameter p, int v) override { switch(p) { case PARAMETER_ACTIVE: @@ -48,6 +54,11 @@ class SquareGenerator: public ToneGenerator { set_active(v != 0); break; + case PARAMETER_DUTY: + if(abs(v) < 2) duty = 2; + else duty = v; + break; + default: break; } } @@ -55,7 +66,8 @@ class SquareGenerator: public ToneGenerator { size_t generate_samples(void* buffer, size_t length, uint32_t want_samples_) override { if(!active || wavelength == 0) return 0; - int bits_high = wavelength / 2 - duty_offset; + int bits_high = wavelength / abs(duty); + if(duty < 0) bits_high = wavelength - bits_high; uint8_t* buff = (uint8_t*) buffer; uint32_t want_samples = want_samples == 0 ? (length * 8) : std::min(want_samples_, length * 8); size_t idx = 0; @@ -77,6 +89,6 @@ class SquareGenerator: public ToneGenerator { private: int phase; int wavelength; - int duty_offset; + int duty; bool active; }; diff --git a/include/sound/sequencer.h b/include/sound/sequencer.h index 1e02d45..cc52d53 100644 --- a/include/sound/sequencer.h +++ b/include/sound/sequencer.h @@ -4,6 +4,7 @@ typedef enum melody_item_type { FREQ_SET, // or 0 to turn off + DUTY_SET, DELAY, LOOP_POINT_SET, MAX_INVALID diff --git a/include/sound/waveout.h b/include/sound/waveout.h index 65720cc..d22e11b 100644 --- a/include/sound/waveout.h +++ b/include/sound/waveout.h @@ -10,19 +10,19 @@ static const WaveGeneratorCallback NULL_GENERATOR = [](uint8_t*, size_t) { retur class WaveOut { public: - static const int BAUD_RATE = 352800; // <- don't ask why this is 4 times larger, I don't know myself + static const int BAUD_RATE = 352800*2; // <- don't ask why this is 4 times larger, I don't know myself static const int NYQUIST = BAUD_RATE / 2; // <- we are not using this to connect a DAC but directly a speaker to the data bus, so the max possible frequency is achieved when outputting 01010101... - static const size_t RENDER_CHUNK_SIZE = 128; + static const size_t RENDER_CHUNK_SIZE = 512; static const int CHANNEL_COUNT = 2; static void init_I2S(gpio_num_t pin); static void set_output_callback(int channel, WaveGeneratorCallback callback); private: - static const size_t SAMPLE_RATE = 11025; + static const size_t SAMPLE_RATE = 22050; static const i2s_port_t I2S_NUM = I2S_NUM_0; static const size_t DMA_BUF_LEN = RENDER_CHUNK_SIZE; - static const size_t DMA_NUM_BUF = 2; + static const size_t DMA_NUM_BUF = 3; static bool i2sInited; static TaskHandle_t hTask; static void task(void*); diff --git a/src/sound/melodies.cpp b/src/sound/melodies.cpp index f4b86e1..38ca8c6 100644 --- a/src/sound/melodies.cpp +++ b/src/sound/melodies.cpp @@ -68,2174 +68,4685 @@ const melody_sequence_t oelutz_fvu = MELODY_OF(oelutz_fvu_data); // A.M. - Arise static const melody_item_t arise_data[] = { - // {622, 692}, - // {932, 1153}, - // {554, 692}, - // {830, 634}, - // {0, 57}, - // {830, 230}, - // {739, 230}, - // {698, 1269}, - // {0, 115}, - // {698, 230}, - // {622, 230}, - // {415, 692}, - // {466, 692}, - // {554, 461}, - // {622, 519}, - // {0, 115}, - // {932, 1153}, - // {554, 692}, - // {830, 634}, - // {0, 57}, - // {830, 230}, - // {739, 230}, - // {698, 1269}, - // {0, 115}, - // {698, 230}, - // {739, 230}, - // {830, 692}, - // {932, 692}, - // {1108, 519}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 692}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 466}, + {DELAY, 0, 1153}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 277}, + {DELAY, 0, 692}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 415}, + {DELAY, 0, 634}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 57}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 415}, + {DELAY, 0, 230}, + {FREQ_SET, 0, 739}, + {FREQ_SET, 1, 369}, + {DELAY, 0, 230}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 349}, + {DELAY, 0, 1269}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 115}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 349}, + {DELAY, 0, 230}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 230}, + {FREQ_SET, 0, 415}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 692}, + {FREQ_SET, 0, 466}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 692}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 277}, + {DELAY, 0, 461}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 115}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 466}, + {DELAY, 0, 1153}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 277}, + {DELAY, 0, 692}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 415}, + {DELAY, 0, 634}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 57}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 415}, + {DELAY, 0, 230}, + {FREQ_SET, 0, 739}, + {FREQ_SET, 1, 369}, + {DELAY, 0, 230}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 349}, + {DELAY, 0, 1269}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 115}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 349}, + {DELAY, 0, 230}, + {FREQ_SET, 0, 739}, + {FREQ_SET, 1, 369}, + {DELAY, 0, 230}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 415}, + {DELAY, 0, 692}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 466}, + {DELAY, 0, 692}, + {FREQ_SET, 0, 1108}, + {FREQ_SET, 1, 554}, + {DELAY, 0, 519}, }; const melody_sequence_t arise = MELODY_OF(arise_data); // Caramell - Caramelldansen static const melody_item_t caramell_data[] = { - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {880, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {293, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1479, 181}, - // {1318, 181}, - // {1174, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {293, 181}, - // {0, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1318, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {220, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1174, 181}, - // {1318, 181}, - // {1174, 181}, - // {1318, 181}, - // {1318, 181}, - // {1479, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {220, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {987, 181}, - // {0, 181}, - // {1479, 181}, - // {1318, 181}, - // {1174, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {246, 181}, - // {246, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1318, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {195, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1174, 181}, - // {1318, 181}, - // {1479, 181}, - // {1318, 181}, - // {1318, 181}, - // {1174, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {195, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {880, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {293, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1479, 181}, - // {1318, 181}, - // {1174, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {293, 181}, - // {0, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1318, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {220, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1174, 181}, - // {1318, 181}, - // {1174, 181}, - // {1318, 181}, - // {1318, 181}, - // {1479, 363}, - // {1760, 181}, - // {0, 181}, - // {1567, 181}, - // {1479, 181}, - // {1174, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {293, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1174, 181}, - // {1318, 181}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {293, 181}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1174, 181}, - // {1479, 181}, - // {1479, 181}, - // {1318, 363}, - // {1174, 181}, - // {0, 181}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 293}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 293}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 220}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 220}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 246}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 246}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 195}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 195}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 293}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 293}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 220}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 363}, + {FREQ_SET, 0, 1760}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 293}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 293}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 363}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 181}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 181}, }; const melody_sequence_t caramell = MELODY_OF(caramell_data); // BoA - Duvet (Serial Experiments Lain OP) static const melody_item_t duvet_data[] = { - // {783, 575}, - // {0, 69}, - // {698, 284}, - // {0, 37}, - // {523, 284}, - // {0, 37}, - // {523, 575}, - // {0, 69}, - // {523, 284}, - // {0, 682}, - // {783, 284}, - // {0, 37}, - // {698, 284}, - // {0, 37}, - // {523, 284}, - // {0, 37}, - // {523, 575}, - // {0, 69}, - // {523, 284}, - // {0, 682}, - // {783, 284}, - // {0, 37}, - // {698, 284}, - // {0, 37}, - // {523, 284}, - // {0, 37}, - // {523, 575}, - // {0, 69}, - // {523, 284}, - // {0, 37}, - // {523, 575}, - // {0, 69}, - // {466, 284}, - // {0, 37}, - // {466, 284}, - // {0, 37}, - // {523, 284}, - // {0, 37}, - // {698, 575}, - // {587, 634}, - // {0, 1693}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 575}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 69}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 575}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 69}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 682}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 575}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 69}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 682}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 575}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 69}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 575}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 69}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 682}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 1591}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 1252}, }; const melody_sequence_t duvet = MELODY_OF(duvet_data); // T-Square - Truth static const melody_item_t truth_data[] = { - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {932, 371}, - // {0, 12}, - // {698, 182}, - // {0, 9}, - // {1046, 374}, - // {0, 9}, - // {698, 371}, - // {0, 12}, - // {1108, 374}, - // {0, 9}, - // {698, 371}, - // {0, 12}, - // {1244, 374}, - // {0, 9}, - // {1108, 182}, - // {0, 9}, - // {1046, 57}, - // {0, 6}, - // {1108, 57}, - // {0, 6}, - // {1046, 57}, - // {0, 6}, - // {932, 182}, - // {0, 9}, - // {830, 371}, - // {0, 12}, - // {622, 182}, - // {0, 9}, - // {932, 374}, - // {0, 9}, - // {622, 371}, - // {0, 12}, - // {1046, 374}, - // {0, 9}, - // {622, 371}, - // {0, 12}, - // {1108, 374}, - // {0, 9}, - // {1046, 182}, - // {0, 9}, - // {932, 57}, - // {0, 6}, - // {1046, 57}, - // {0, 6}, - // {932, 57}, - // {0, 6}, - // {830, 182}, - // {0, 9}, - // {739, 371}, - // {0, 12}, - // {554, 182}, - // {0, 9}, - // {830, 374}, - // {0, 9}, - // {554, 371}, - // {0, 12}, - // {932, 374}, - // {0, 9}, - // {554, 371}, - // {0, 12}, - // {1046, 374}, - // {0, 9}, - // {932, 182}, - // {0, 9}, - // {830, 57}, - // {0, 6}, - // {932, 57}, - // {0, 6}, - // {830, 57}, - // {0, 6}, - // {739, 182}, - // {0, 9}, - // {698, 951}, - // {0, 9}, - // {739, 182}, - // {0, 9}, - // {698, 182}, - // {0, 9}, - // {622, 182}, - // {0, 9}, - // {554, 182}, - // {0, 9}, - // {622, 182}, - // {0, 9}, - // {698, 182}, - // {0, 9}, - // {739, 374}, - // {0, 9}, - // {622, 182}, - // {0, 9}, - // {830, 182}, - // {0, 201}, + {DUTY_SET, 0, 3}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 371}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 374}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 371}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 374}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 371}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 374}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 57}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 57}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 57}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 371}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 374}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 371}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 374}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 371}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 374}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 57}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 57}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 57}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 371}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 374}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 371}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 374}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 371}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 374}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 57}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 57}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 57}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 951}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 374}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 9}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 182}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 201}, }; const melody_sequence_t truth = MELODY_OF(truth_data); // Kosaki Satoru - Haruhi no omoi static const melody_item_t haruhi_no_omoi_data[] = { - // {466, 681}, - // {622, 1363}, - // {587, 681}, - // {932, 1363}, - // {932, 681}, - // {830, 1363}, - // {932, 681}, - // {698, 1363}, - // {783, 340}, - // {830, 340}, - // {932, 1363}, - // {622, 681}, - // {830, 1363}, - // {783, 681}, - // {698, 2045}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 681}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 1363}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 681}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 1363}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 681}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 1363}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 681}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 1363}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 340}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 340}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 1363}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 681}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 1363}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 681}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 2045}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 3579}, }; const melody_sequence_t haruhi_no_omoi = MELODY_OF(haruhi_no_omoi_data); static const melody_item_t wpip_data[] = { - // {659, 625}, - // {0, 75}, - // {659, 291}, - // {0, 8}, - // {830, 416}, - // {0, 91}, - // {987, 404}, - // {0, 87}, - // {1318, 483}, - // {0, 12}, - // {1244, 462}, - // {0, 37}, - // {1108, 475}, - // {0, 12}, - // {987, 370}, - // {0, 141}, - // {554, 275}, - // {0, 12}, - // {622, 225}, - // {0, 245}, - // {622, 754}, - // {0, 508}, - // {830, 241}, - // {0, 8}, - // {932, 441}, - // {0, 58}, - // {783, 720}, - // {0, 33}, - // {622, 441}, - // {0, 50}, - // {659, 516}, - // {0, 220}, - // {659, 216}, - // {0, 33}, - // {830, 500}, - // {987, 479}, - // {0, 29}, - // {1479, 225}, - // {0, 12}, - // {1318, 483}, - // {0, 4}, - // {1244, 225}, - // {0, 41}, - // {1318, 475}, - // {0, 33}, - // {1108, 466}, - // {0, 20}, - // {1244, 1025}, - // {0, 3041}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 625}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 75}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 291}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 8}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 416}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 91}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 404}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 87}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 483}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 462}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 475}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 370}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 141}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 275}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 225}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 245}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 754}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 508}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 241}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 8}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 58}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 720}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 50}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 516}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 216}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 500}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 479}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 225}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 483}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 225}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 41}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 475}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 466}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 1025}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 3041}, }; const melody_sequence_t wpip = MELODY_OF(wpip_data); static const melody_item_t hishoku_data[] = { - // {1046, 214}, - // {1108, 214}, - // {1244, 428}, - // {1244, 428}, - // {1396, 214}, - // {1244, 642}, - // {0, 857}, - // {1661, 428}, - // {1567, 428}, - // {1244, 428}, - // {1046, 857}, - // {0, 428}, - // {932, 214}, - // {1046, 642}, - // {0, 428}, - // {1046, 214}, - // {1108, 214}, - // {1244, 214}, - // {1244, 428}, - // {830, 214}, - // {830, 428}, - // {0, 428}, - // {830, 214}, - // {1244, 428}, - // {830, 214}, - // {830, 428}, - // {0, 428}, - // {830, 214}, - // {1244, 214}, - // {1567, 857}, - // {0, 428}, - // {1396, 214}, - // {1661, 857}, - // {0, 214}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 642}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 857}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 857}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 642}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 857}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 428}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 214}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 857}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 214}, }; const melody_sequence_t hishoku = MELODY_OF(hishoku_data); static const melody_item_t bouken_data[] = { - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {880, 392}, - // {987, 196}, - // {1046, 196}, - // {1174, 196}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1318, 294}, - // {0, 98}, - // {880, 294}, - // {0, 98}, - // {1318, 392}, - // {880, 196}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1318, 392}, - // {1174, 196}, - // {1318, 196}, - // {1567, 392}, - // {1174, 196}, - // {1046, 196}, - // {987, 196}, - // {0, 392}, - // {1174, 294}, - // {0, 98}, - // {987, 294}, - // {0, 98}, - // {783, 196}, - // {1174, 392}, - // {1108, 196}, - // {1174, 196}, - // {1318, 392}, - // {987, 196}, - // {1046, 196}, - // {1174, 196}, - // {1318, 294}, - // {0, 98}, - // {880, 294}, - // {0, 98}, - // {1318, 392}, - // {880, 196}, - // {1318, 392}, - // {1174, 196}, - // {1318, 196}, - // {1567, 392}, - // {1174, 196}, - // {1046, 196}, - // {987, 196}, - // {0, 392}, - // {1174, 294}, - // {0, 98}, - // {987, 294}, - // {0, 98}, - // {783, 196}, - // {1174, 392}, - // {1318, 196}, - // {1174, 196}, - // {1108, 392}, - // {880, 588}, - // {0, 1372}, + {DUTY_SET, 1, 3}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 392}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1318}, + {FREQ_SET, 1, 87}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 880}, + {FREQ_SET, 1, 174}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 1318}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 174}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 880}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1318}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 87}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1318}, + {FREQ_SET, 1, 174}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1567}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {FREQ_SET, 1, 174}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1046}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 987}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 82}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 123}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 987}, + {FREQ_SET, 1, 123}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {FREQ_SET, 1, 123}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 55}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1108}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {FREQ_SET, 1, 110}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1318}, + {FREQ_SET, 1, 138}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 987}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1046}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {FREQ_SET, 1, 110}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1318}, + {FREQ_SET, 1, 87}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 880}, + {FREQ_SET, 1, 174}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 1318}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 174}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 880}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1318}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 87}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1318}, + {FREQ_SET, 1, 174}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1567}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {FREQ_SET, 1, 174}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1046}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 987}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 82}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 123}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 987}, + {FREQ_SET, 1, 123}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 98}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {FREQ_SET, 1, 123}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 110}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1318}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1174}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 1108}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 880}, + {FREQ_SET, 1, 138}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 110}, + {DELAY, 0, 196}, + {FREQ_SET, 1, 82}, + {DELAY, 0, 196}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 1372}, }; const melody_sequence_t bouken = MELODY_OF(bouken_data); static const melody_item_t gentle_jena_data[] = { - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {932, 775}, - // {0, 66}, - // {1479, 845}, - // {0, 58}, - // {1396, 445}, - // {0, 29}, - // {1244, 400}, - // {0, 25}, - // {1108, 395}, - // {0, 54}, - // {1244, 433}, - // {1396, 400}, - // {0, 479}, - // {830, 441}, - // {987, 291}, - // {0, 154}, - // {987, 404}, - // {0, 237}, - // {932, 54}, - // {0, 50}, - // {830, 75}, - // {0, 50}, - // {932, 616}, - // {0, 325}, - // {932, 641}, - // {0, 237}, - // {1479, 741}, - // {0, 150}, - // {1661, 400}, - // {0, 41}, - // {1479, 387}, - // {0, 54}, - // {1396, 395}, - // {0, 37}, - // {1479, 275}, - // {0, 175}, - // {1396, 1020}, - // {0, 2508}, - // {932, 829}, - // {0, 50}, - // {1479, 829}, - // {0, 58}, - // {1396, 441}, - // {0, 12}, - // {1244, 400}, - // {0, 25}, - // {1108, 408}, - // {0, 37}, - // {1244, 387}, - // {0, 37}, - // {1396, 450}, - // {0, 450}, - // {830, 429}, - // {0, 16}, - // {987, 258}, - // {0, 179}, - // {987, 416}, - // {0, 233}, - // {932, 45}, - // {0, 20}, - // {830, 120}, - // {0, 16}, - // {932, 608}, - // {0, 275}, - // {932, 620}, - // {0, 262}, - // {1479, 758}, - // {0, 158}, - // {1661, 400}, - // {0, 54}, - // {1479, 358}, - // {0, 66}, - // {1396, 412}, - // {0, 45}, - // {1479, 279}, - // {0, 170}, - // {1661, 1762}, - // {0, 16}, - // {1396, 1925}, - // {0, 125}, + {DUTY_SET, 0, 4}, + {DUTY_SET, 1, 6}, + + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 387}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 350}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 54}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 408}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 25}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 391}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 58}, + {FREQ_SET, 0, 1396}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 1, 123}, + {DELAY, 0, 337}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 70}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 16}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 375}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 25}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 246}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 395}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 29}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 8}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 16}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 179}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 250}, + {FREQ_SET, 1, 138}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 391}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 8}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 45}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 429}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 16}, + {FREQ_SET, 1, 277}, + {DELAY, 0, 404}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 0, 987}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 287}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 108}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 45}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 12}, + {FREQ_SET, 1, 92}, + {DELAY, 0, 375}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 16}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 138}, + {DELAY, 0, 216}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 54}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 50}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 75}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 8}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 404}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 62}, + {FREQ_SET, 1, 138}, + {DELAY, 0, 141}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 216}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 108}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 387}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 41}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 191}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 183}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 41}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 416}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 25}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 83}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 216}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 145}, + {FREQ_SET, 1, 123}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 383}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 16}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 41}, + {FREQ_SET, 0, 1479}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 387}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 0, 1396}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 391}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 183}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 91}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 175}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 16}, + {FREQ_SET, 1, 138}, + {DELAY, 0, 375}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 62}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 425}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 1, 277}, + {DELAY, 0, 108}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 287}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 320}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 104}, + /* Rise */ + {DUTY_SET, 1, 5}, + {FREQ_SET, 1, 349}, + {DELAY, 0, 416}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 1, 415}, + {DELAY, 0, 379}, + {FREQ_SET, 1, 0}, + {DUTY_SET, 1, 4}, + {DELAY, 0, 58}, + {FREQ_SET, 1, 554}, + {DELAY, 0, 412}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 1, 622}, + {DELAY, 0, 158}, + {FREQ_SET, 1, 0}, + + {DUTY_SET, 0, 4}, + {DUTY_SET, 1, 6}, + {DELAY, 0, 291}, + /* Cont. */ + {FREQ_SET, 0, 932}, + {DELAY, 0, 12}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 395}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 387}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 29}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 16}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 400}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 400}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 8}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 58}, + {FREQ_SET, 0, 1396}, + {FREQ_SET, 1, 123}, + {DELAY, 0, 391}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 387}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 16}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 8}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 408}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 8}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 25}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 145}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 241}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 1396}, + {FREQ_SET, 1, 138}, + {DELAY, 0, 400}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 50}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 8}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 425}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 16}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 16}, + {FREQ_SET, 1, 277}, + {DELAY, 0, 412}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 987}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 75}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 183}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 179}, + {FREQ_SET, 0, 987}, + {FREQ_SET, 1, 92}, + {DELAY, 0, 379}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 1, 138}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 233}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 45}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 95}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 25}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 16}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 8}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 408}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 25}, + {FREQ_SET, 1, 138}, + {DELAY, 0, 70}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 95}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 275}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 25}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 395}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 29}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 170}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 216}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 45}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 8}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 429}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 8}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 116}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 195}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 154}, + {FREQ_SET, 1, 123}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 395}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 20}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 358}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 29}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 37}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 391}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 25}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 8}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 125}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 154}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 166}, + {FREQ_SET, 1, 138}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 391}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 58}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 379}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 66}, + {FREQ_SET, 1, 277}, + {DELAY, 0, 420}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 16}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 408}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 16}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 8}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 429}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 441}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 1, 349}, + {DELAY, 0, 987}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 1866}, }; const melody_sequence_t gentle_jena = MELODY_OF(gentle_jena_data); static const melody_item_t gammapolisz_data[] = { - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {880, 1299}, - // {0, 293}, - // {1046, 779}, - // {0, 19}, - // {659, 799}, - // {669, 10}, - // {709, 10}, - // {719, 10}, - // {729, 10}, - // {739, 1559}, - // {0, 799}, - // {739, 199}, - // {783, 199}, - // {880, 406}, - // {783, 1506}, - // {0, 93}, - // {932, 773}, - // {0, 19}, - // {587, 799}, - // {598, 10}, - // {609, 10}, - // {625, 10}, - // {638, 10}, - // {659, 1559}, - // {0, 799}, - // {659, 199}, - // {698, 186}, - // {783, 172}, - // {0, 246}, - // {698, 2059}, - // {0, 333}, - // {698, 186}, - // {0, 13}, - // {783, 199}, - // {880, 46+333}, - // {0, 26}, - // {783, 2099}, - // {0, 293}, - // {783, 199}, - // {880, 46+133}, - // {0, 19}, - // {987, 366}, - // {0, 39}, - // {1046, 1426}, - // {0, 166}, - // {1318, 399}, - // {1174, 600}, - // {0, 199}, - // {1046, 399}, - // {1046, 1599}, + {DUTY_SET, 0, 4}, + {DUTY_SET, 1, 6}, + + {DELAY, 0, 6}, + {FREQ_SET, 0, 880}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 746}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 446}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 86}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 19}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 293}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 759}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 13}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 19}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 740}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 53}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 899}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 293}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 99}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 300}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 740}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 193}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 186}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 13}, + {FREQ_SET, 0, 880}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 353}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 53}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 899}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 293}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 86}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 226}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 93}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 746}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 26}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 19}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 146}, + {DELAY, 0, 633}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 159}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 926}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 266}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 339}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 653}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 146}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 164}, + {DELAY, 0, 173}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 19}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 180}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 13}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 366}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 13}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 26}, + {FREQ_SET, 1, 146}, + {DELAY, 0, 6}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 826}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 360}, + {FREQ_SET, 1, 174}, + {DELAY, 0, 379}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 19}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 466}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 313}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 19}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 174}, + {DELAY, 0, 180}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 13}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 166}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 13}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 19}, + {FREQ_SET, 0, 880}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 26}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 840}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 353}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 79}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 319}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 506}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 193}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 99}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 146}, + {DELAY, 0, 159}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 33}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 180}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 13}, + {FREQ_SET, 0, 987}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 366}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 39}, + {FREQ_SET, 0, 1046}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 913}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 279}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 113}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 166}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 393}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 319}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 86}, + {FREQ_SET, 1, 195}, + {DELAY, 0, 193}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 1046}, + {FREQ_SET, 1, 130}, + {DELAY, 0, 339}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 261}, + {DELAY, 0, 866}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 326}, + {FREQ_SET, 1, 261}, + {DELAY, 0, 73}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 326}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 1, 261}, + {DELAY, 0, 779}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 13}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 639}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 159}, }; const melody_sequence_t gammapolisz = MELODY_OF(gammapolisz_data); static const melody_item_t like_the_wind_data[] = { - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {783, 199}, - // {0, 30}, - // {783, 199}, - // {0, 30}, - // {783, 315}, - // {0, 146}, - // {0x2FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {523, 199}, - // {0, 30}, - // {523, 199}, - // {0, 30}, - // {523, 315}, - // {0, 146}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {391, 199}, - // {0, 30}, - // {523, 199}, - // {0, 30}, - // {698, 430}, - // {0, 30}, - // {622, 430}, - // {0, 30}, - // {587, 430}, - // {0, 30}, - // {622, 430}, - // {0, 30}, - // {587, 923}, - // {622, 115}, - // {587, 115}, - // {523, 892}, - // {0, 261}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {783, 199}, - // {0, 30}, - // {783, 199}, - // {0, 30}, - // {783, 315}, - // {0, 146}, - // {0x2FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {523, 199}, - // {0, 30}, - // {523, 199}, - // {0, 30}, - // {523, 315}, - // {0, 146}, - // {0x1FF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {391, 199}, - // {0, 30}, - // {523, 199}, - // {0, 30}, - // {698, 430}, - // {0, 30}, - // {622, 430}, - // {0, 30}, - // {587, 430}, - // {0, 30}, - // {622, 430}, - // {0, 30}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {587, 1123}, - // {0, 1184}, -}; -const melody_sequence_t like_the_wind = MELODY_OF(like_the_wind_data); - -static const melody_item_t waiting_freqs_data[] = { - // {493, 1017}, - // {0, 21}, - // {466, 2051}, - // {0, 299}, - // {415, 269}, - // {0, 25}, - // {369, 307}, - // {0, 17}, - // {311, 294}, - // {0, 4}, - // {277, 260}, - // {0, 34}, - // {311, 2230}, - // {0, 59}, - // {207, 2303}, - // {0, 34}, - // {329, 1136}, - // {0, 17}, - // {311, 2871}, - // {0, 12}, - // {493, 277}, - // {0, 42}, - // {466, 269}, - // {0, 55}, - // {493, 2290}, -}; -const melody_sequence_t waiting_freqs = MELODY_OF(waiting_freqs_data); - -static const melody_item_t the_way_data[] = { - // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - - // {932, 100}, - // {0, 20}, - // {1244, 108}, - // {0, 12}, - // {1396, 100}, - // {0, 20}, - // {1479, 112}, - // {0, 8}, - // {1864, 2400}, - // {0, 480}, - // {2489, 480}, - // {2793, 480}, - // {2489, 24}, - // {2217, 4}, - // {0, 24}, - // {2093, 28}, - // {1864, 2304}, - // {0, 16}, - // {1661, 468}, - // {0, 12}, - // {1396, 2380}, - // {0, 20}, - // {932, 1908}, - // {0, 12}, - // {1864, 240}, - // {1396, 480}, - // {1864, 240}, - // {1396, 480}, - // {1864, 120}, - // {1396, 120}, - // {1864, 120}, - // {1396, 120}, - // {1661, 240}, - // {1244, 480}, - // {1661, 240}, - // {1244, 480}, - // {1661, 120}, - // {1244, 120}, - // {1661, 120}, - // {1244, 120}, - // {1479, 240}, - // {1244, 480}, - // {1479, 240}, - // {1244, 480}, - // {1479, 120}, - // {1244, 120}, - // {1479, 120}, - // {1244, 120}, - // {1479, 240}, - // {1244, 480}, - // {1479, 120}, - // {1244, 120}, - // {1479, 120}, - // {1244, 120}, - // {1479, 120}, - // {0, 120}, - // {1244, 240}, - // {0, 240}, - // {1396, 240}, - // {932, 480}, - // {1396, 120}, - // {932, 120}, - // {1396, 120}, - // {0, 120}, - // {1396, 240}, - // {932, 480}, - // {1396, 240}, - // {932, 480}, - // {1396, 120}, - // {932, 120}, - // {1396, 120}, - // {0, 120}, - // {1396, 240}, - // {932, 480}, - // {1396, 240}, - // {932, 480}, - // {1396, 120}, - // {932, 120}, - // {1396, 120}, - // {0, 120}, - // {1396, 240}, - // {932, 480}, - // {1396, 240}, - // {932, 480}, - // {1396, 120}, - // {932, 120}, - // {1396, 120}, - // {932, 120}, - // {1396, 240}, - // {932, 480}, -}; -const melody_sequence_t the_way = MELODY_OF(the_way_data); - -static const melody_item_t guitar_hero_data[] = { - // {0x90, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1108, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {1864, 86}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 315}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 146}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 315}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 146}, + {FREQ_SET, 0, 391}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 430}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 430}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 430}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 430}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 923}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 115}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 115}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 892}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 261}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 315}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 146}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 315}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 146}, + {FREQ_SET, 0, 391}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 430}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 430}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 430}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 430}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 30}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 1123}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 1184}, +}; +const melody_sequence_t like_the_wind = MELODY_OF(like_the_wind_data); + +static const melody_item_t waiting_freqs_data[] = { + {DELAY, 0, 8}, + {FREQ_SET, 0, 493}, + {DELAY, 0, 1017}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 21}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 2051}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 299}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 269}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 25}, + {FREQ_SET, 0, 369}, + {DELAY, 0, 307}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 17}, + {FREQ_SET, 0, 311}, + {DELAY, 0, 294}, + {FREQ_SET, 0, 277}, + {DELAY, 0, 260}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 34}, + {FREQ_SET, 0, 311}, + {DELAY, 0, 2230}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 59}, + {FREQ_SET, 0, 207}, + {DELAY, 0, 2303}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 34}, + {FREQ_SET, 0, 329}, + {DELAY, 0, 1136}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 17}, + {FREQ_SET, 0, 311}, + {DELAY, 0, 2871}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 493}, + {DELAY, 0, 277}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 42}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 269}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 55}, + {FREQ_SET, 0, 493}, + {DELAY, 0, 2290}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 1722}, +}; +const melody_sequence_t waiting_freqs = MELODY_OF(waiting_freqs_data); + +static const melody_item_t the_way_data[] = { + {FREQ_SET, 0, 932}, + {DELAY, 0, 100}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 108}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 100}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 112}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 8}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 2400}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 2489}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 2793}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 2489}, + {DELAY, 0, 24}, + {FREQ_SET, 0, 2217}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 24}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 28}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 2304}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 16}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 468}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 2380}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 1908}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 120}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 480}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 2912}, +}; +const melody_sequence_t the_way = MELODY_OF(the_way_data); - // // LOOP - // {0x90, SEQ_LEN_FLAG_TIMBRE_SET}, - // {0, SEQ_LEN_FLAG_THE_LOOPAH}, - // {1661, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {1864, 167}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1567, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1567, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1567, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1567, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {2093, 167}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {2217, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1108, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {1864, 167}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1567, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1567, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1567, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {1567, 80}, - // {0, 5}, - // {1244, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {2093, 167}, - // {0, 5}, - // {1396, 80}, - // {0, 5}, - // {1661, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {2217, 80}, - // {0, 5}, - // {2093, 80}, - // {0, 5}, - // {1864, 80}, - // {0, 5}, - // {2093, 80}, +static const melody_item_t guitar_hero_data[] = { + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 86}, - // // BRIDGE - // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {830, 341}, - // {0, 179}, - // {830, 167}, - // {0, 5}, - // {1396, 231}, - // {0, 115}, - // {554, 86}, - // {0, 86}, - // {1396, 80}, - // {0, 92}, - // {1244, 80}, - // {0, 92}, - // {1396, 80}, - // {0, 92}, - // {1244, 80}, - // {0, 92}, - // {1396, 341}, - // {0, 179}, - // {1244, 341}, - // {0, 5}, - // {932, 341}, - // {0, 5}, - // {622, 173}, - // {932, 167}, - // {0, 5}, - // {1567, 341}, - // {0, 5}, - // {698, 173}, - // {1567, 80}, - // {0, 92}, - // {1046, 80}, - // {0, 92}, - // {1567, 80}, - // {0, 92}, - // {1046, 80}, - // {0, 92}, - // {1661, 341}, - // {0, 5}, - // {1661, 167}, - // {0, 5}, - // {1567, 167}, - // {0, 5}, - // {1244, 86}, - // {0, 86}, + {LOOP_POINT_SET, 0, 0}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 167}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 167}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2217}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 167}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 167}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2217}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + /* BRIDGE */ + {FREQ_SET, 0, 830}, + {DELAY, 0, 341}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 179}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 167}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 231}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 115}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 92}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 92}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 92}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 92}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 341}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 179}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 341}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 341}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 173}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 167}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 341}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 173}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 92}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 92}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 92}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 92}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 341}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 167}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 167}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 5}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 86}, }; const melody_sequence_t guitar_hero = MELODY_OF(guitar_hero_data); static const melody_item_t syabon_data[] = { - // {739, 254}, - // {1108, 127}, - // {0, 127}, - // {987, 127}, - // {1108, 127}, - // {0, 127}, - // {1108, 127}, - // {987, 127}, - // {0, 127}, - // {880, 127}, - // {880, 381}, - // {0, 254}, - // {739, 254}, - // {1108, 127}, - // {0, 127}, - // {987, 127}, - // {1108, 127}, - // {0, 127}, - // {1108, 127}, - // {987, 127}, - // {0, 127}, - // {880, 127}, - // {1108, 127}, - // {0, 381}, - // {0, 127}, - // {554, 254}, - // {659, 127}, - // {0, 127}, - // {739, 127}, - // {0, 254}, - // {0, 127}, - // {739, 254}, - // {880, 127}, - // {0, 127}, - // {830, 127}, - // {0, 127}, - // {739, 127}, - // {0, 127}, - // {659, 127}, - // {0, 127}, - // {554, 127}, - // {0, 127}, - // {1108, 127}, - // {0, 127}, - // {987, 127}, - // {0, 127}, - // {987, 254}, - // {880, 127}, - // {0, 508}, - // {0, 127}, - // {739, 254}, - // {1108, 127}, - // {0, 127}, - // {987, 127}, - // {987, 127}, - // {1108, 127}, - // {1108, 127}, - // {987, 127}, - // {987, 127}, - // {880, 127}, - // {880, 381}, - // {739, 127}, - // {0, 127}, - // {739, 254}, - // {1108, 127}, - // {0, 127}, - // {987, 127}, - // {0, 127}, - // {1108, 127}, - // {0, 127}, - // {987, 127}, - // {0, 127}, - // {880, 127}, - // {739, 127}, - // {0, 381}, - // {0, 127}, - // {880, 254}, - // {739, 127}, - // {0, 127}, - // {1108, 127}, - // {0, 254}, - // {880, 127}, - // {0, 254}, - // {739, 127}, - // {659, 127}, - // {739, 127}, - // {880, 127}, - // {1108, 127}, - // {0, 127}, - // {987, 127}, - // {0, 127}, - // {880, 127}, - // {739, 127}, - // {0, 381}, - // {0, 889}, - // {659, 254}, - // {880, 127}, - // {0, 127}, - // {987, 127}, - // {0, 127}, - // {1108, 127}, - // {0, 381}, - // {880, 127}, - // {0, 381}, - // {1108, 127}, - // {0, 381}, - // {880, 127}, - // {0, 254}, - // {987, 127}, - // {1108, 127}, - // {0, 381}, - // {987, 127}, - // {987, 127}, - // {880, 127}, - // {739, 127}, - // {0, 127}, - // {0, 127}, - // {739, 254}, - // {880, 127}, - // {0, 127}, - // {987, 127}, - // {0, 127}, - // {1108, 127}, - // {1174, 127}, - // {0, 127}, - // {1108, 254}, - // {1174, 127}, - // {0, 127}, - // {1108, 127}, - // {0, 254}, - // {987, 127}, - // {880, 127}, - // {659, 127}, - // {739, 127}, - // {739, 254}, - // {659, 127}, - // {0, 127}, - // {739, 127}, - // {0, 127}, - // {880, 127}, - // {0, 127}, - // {739, 127}, - // {0, 127}, - // {830, 127}, - // {0, 127}, - // {880, 127}, - // {0, 127}, - // {987, 127}, - // {0, 127}, - // {880, 127}, - // {0, 127}, - // {1108, 127}, - // {0, 381}, - // {880, 127}, - // {0, 381}, - // {1108, 127}, - // {0, 381}, - // {880, 127}, - // {0, 254}, - // {987, 127}, - // {1108, 127}, - // {0, 381}, - // {987, 127}, - // {987, 127}, - // {880, 127}, - // {739, 127}, - // {0, 127}, - // {0, 127}, - // {739, 254}, - // {880, 127}, - // {0, 127}, - // {987, 127}, - // {0, 127}, - // {1108, 127}, - // {1108, 127}, - // {880, 127}, - // {880, 127}, - // {739, 127}, - // {739, 127}, - // {830, 127}, - // {739, 127}, - // {659, 127}, - // {0, 42}, - // {739, 127}, - // {0, 42}, - // {880, 127}, - // {0, 42}, - // {830, 127}, - // {0, 42}, - // {739, 127}, - // {0, 42}, - // {659, 127}, - // {0, 42}, - // {739, 127}, - // {2793, 127}, - // {2959, 42}, - // {0, 84}, - // {2959, 127}, - // {0, 127}, - // {2217, 127}, - // {1975, 127}, - // {2093, 127}, - // {0, 127}, - // {1760, 127}, - // {0, 127}, - // {1479, 127}, - // {0, 2033}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 508}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 889}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 381}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 254}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 42}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 42}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 42}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 42}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 42}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 42}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 2793}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 2959}, + {DELAY, 0, 42}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 84}, + {FREQ_SET, 0, 2959}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 2217}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1975}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1760}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 127}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 2033}, }; const melody_sequence_t syabon = MELODY_OF(syabon_data); static const melody_item_t steiner_data[] = { - // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1108, 576}, - // {830, 961}, - // {277, 576}, - // {415, 384}, - // {1108, 192}, - // {830, 192}, - // {1108, 192}, - // {1244, 576}, - // {830, 961}, - // {415, 576}, - // {622, 384}, - // {1244, 192}, - // {830, 192}, - // {1244, 192}, - // {1318, 576}, - // {659, 384}, - // {1318, 192}, - // {1479, 192}, - // {1318, 192}, - // {1244, 576}, - // {739, 384}, - // {1244, 192}, - // {1975, 192}, - // {1661, 769}, - // {622, 576}, - // {739, 192}, - // {830, 192}, - // {207, 576}, - // {622, 961}, - // {622, 64}, - // {0, 12}, - // {830, 51}, - // {1108, 544}, - // {830, 865}, - // {277, 576}, - // {415, 384}, - // {1108, 192}, - // {830, 192}, - // {1108, 192}, - // {1244, 384}, - // {1318, 192}, - // {1244, 384}, - // {830, 576}, - // {415, 576}, - // {622, 384}, - // {830, 192}, - // {1244, 192}, - // {1318, 192}, - // {1479, 576}, - // {987, 384}, - // {1661, 192}, - // {1318, 192}, - // {1244, 192}, - // {246, 576}, - // {987, 384}, - // {1108, 192}, - // {1244, 192}, - // {1108, 769}, - // {830, 576}, - // {987, 384}, - // {1108, 576}, - // {1396, 576}, - // {1479, 384}, - // {1661, 576}, - // {1479, 576}, - // {1975, 384}, - // {1661, 576}, - // {1479, 576}, - // {1244, 192}, - // {1318, 192}, - // {1479, 576}, - // {1318, 576}, - // {1975, 384}, - // {1244, 576}, - // {1318, 384}, - // {622, 192}, - // {659, 192}, - // {622, 192}, - // {1661, 576}, - // {1479, 576}, - // {1975, 384}, - // {2217, 576}, - // {1975, 384}, - // {2637, 192}, - // {2489, 192}, - // {1661, 384}, - // {5274, 192}, - // {4978, 192}, - // {3322, 576}, - // {987, 358}, - // {0, 25}, - // {880, 576}, - // {739, 384}, - // {622, 192}, - // {493, 384}, - // {1661, 384}, - // {1108, 192}, - // {1479, 384}, - // {880, 192}, - // {1975, 192}, - // {987, 192}, - // {1661, 384}, - // {880, 192}, - // {1479, 576}, - // {1244, 192}, - // {1318, 192}, - // {1479, 384}, - // {830, 192}, - // {1318, 384}, - // {622, 192}, - // {1975, 384}, - // {1244, 576}, - // {1318, 384}, - // {622, 192}, - // {659, 192}, - // {622, 192}, - // {1479, 384}, - // {1661, 192}, - // {1760, 384}, - // {1975, 384}, - // {2217, 384}, - // {880, 192}, - // {1318, 192}, - // {880, 192}, - // {2217, 192}, - // {739, 192}, - // {2959, 192}, - // {1479, 192}, - // {2959, 576}, - // {830, 576}, - // {622, 384}, - // {2793, 1538}, - // {0, 3076}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 384}, + {LOOP_POINT_SET, 0, 0}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 961}, + {FREQ_SET, 0, 277}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 961}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1975}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 769}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 207}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 961}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 64}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 12}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 51}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 544}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 865}, + {FREQ_SET, 0, 277}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 246}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 769}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1975}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1975}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1975}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 2217}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1975}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 2637}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 2489}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 5274}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 4978}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 3322}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 358}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 25}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 493}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1975}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1975}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1661}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1760}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 1975}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 2217}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 2217}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 2959}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 192}, + {FREQ_SET, 0, 2959}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 576}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 384}, + {FREQ_SET, 0, 2793}, + {DELAY, 0, 1538}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 3076}, }; const melody_sequence_t steiner = MELODY_OF(steiner_data); static const melody_item_t towa_data[] = { - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {349, 94}, - // {391, 94}, - // {415, 569}, - // {391, 94}, - // {415, 94}, - // {466, 379}, - // {311, 379}, - // {523, 379}, - // {622, 379}, - // {587, 189}, - // {622, 189}, - // {587, 189}, - // {466, 189}, - // {698, 379}, - // {830, 379}, - // {783, 284}, - // {698, 284}, - // {622, 189}, - // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {523, 759}, - // {0, 569}, - - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {349, 94}, - // {391, 94}, - // {415, 569}, - // {391, 94}, - // {415, 94}, - // {466, 379}, - // {311, 379}, - // {523, 379}, - // {622, 379}, - // {587, 189}, - // {622, 189}, - // {587, 189}, - // {466, 189}, - // {698, 1518}, - // {1396, 94}, - // {0, 189}, - // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {932, 94}, - // {0, 94}, - // {0x55, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1244, 94}, - // {0, 189}, - // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {830, 94}, - // {0, 189}, - // {0x55, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1108, 94}, - // {0, 94}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1479, 94}, - // {0, 189}, - // {0, 1518}, - // // LOOP - // {0, SEQ_LEN_FLAG_THE_LOOPAH}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {698, 189}, - // {783, 189}, - // {830, 189}, - // {783, 189}, - // {698, 189}, - // {523, 189}, - // {466, 189}, - // {523, 379}, - // {622, 189}, - // {523, 569}, - // {0, 569}, - // {698, 189}, - // {783, 189}, - // {830, 189}, - // {783, 189}, - // {698, 189}, - // {830, 189}, - // {932, 189}, - // {1046, 759}, - // {0, 949}, - // {698, 189}, - // {783, 189}, - // {830, 189}, - // {783, 189}, - // {698, 189}, - // {523, 189}, - // {466, 189}, - // {523, 189}, - // {523, 189}, - // {622, 189}, - // {523, 569}, - // {0, 569}, - // {1046, 189}, - // {932, 189}, - // {1046, 189}, - // {932, 189}, - // {830, 189}, - // {783, 189}, - // {622, 189}, - // {698, 759}, - // {0, 113}, - // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {830, 94}, - // {0, 75}, - // {830, 94}, - // {0, 3}, - // {783, 205}, - // {0, 550}, - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {830, 189}, - // {783, 189}, - // {698, 379}, - // {783, 189}, - // {830, 189}, - // {783, 189}, - // {783, 189}, - // {830, 189}, - // {783, 189}, - // {0, 189}, - // {830, 189}, - // {783, 189}, - // {783, 189}, - // {830, 189}, - // {0, 189}, - // {783, 189}, - // {830, 189}, - // {0, 189}, - // {783, 189}, - // {0, 189}, - // {830, 189}, - // {0, 189}, - // {783, 189}, - // {830, 189}, - // {783, 189}, - // {830, 189}, - // {830, 189}, - // {932, 379}, - // {0, 379}, - // {830, 189}, - // {783, 189}, - // {698, 379}, - // {783, 189}, - // {830, 189}, - // {783, 379}, - // {830, 189}, - // {783, 379}, - // {698, 379}, - // {622, 189}, - // {698, 189}, - // {1046, 189}, - // {1046, 759}, - // {0, 189}, - // {622, 189}, - // {698, 379}, - // {1046, 189}, - // {1046, 379}, - // {932, 379}, - // {830, 189}, - // {783, 1518}, - // {0, 142}, - // {391, 47}, - // {622, 189}, - // {554, 189}, - // {523, 189}, - // {0, 569}, - // {698, 94}, - // {783, 94}, - // {830, 569}, - // {932, 189}, - // {830, 189}, - // {783, 189}, - // {698, 189}, - // {622, 189}, - // {523, 379}, - // {1046, 379}, - // {932, 379}, - // {0, 189}, - // {622, 94}, - // {698, 94}, - // {783, 569}, - // {830, 189}, - // {783, 189}, - // {698, 189}, - // {622, 189}, - // {554, 189}, - // {523, 379}, - // {932, 379}, - // {830, 379}, - // {783, 379}, - // {698, 379}, - // {0, 189}, - // {523, 189}, - // {830, 379}, - // {0, 189}, - // {523, 189}, - // {783, 569}, - // {783, 189}, - // {783, 379}, - // {0, 189}, - // {698, 189}, - // {698, 379}, - // {659, 379}, - // {698, 569}, - // {783, 189}, - // {783, 759}, - // {0, 569}, - // {698, 94}, - // {783, 94}, - // {830, 569}, - // {932, 189}, - // {830, 189}, - // {783, 189}, - // {698, 189}, - // {622, 189}, - // {523, 379}, - // {1046, 379}, - // {932, 379}, - // {0, 189}, - // {622, 94}, - // {698, 94}, - // {783, 379}, - // {783, 189}, - // {830, 189}, - // {783, 189}, - // {698, 189}, - // {622, 189}, - // {554, 189}, - // {523, 379}, - // {932, 379}, - // {830, 379}, - // {783, 379}, - // {698, 189}, - // {0, 189}, - // {349, 47}, - // {554, 332}, - // {391, 47}, - // {622, 332}, - // {415, 47}, - // {698, 332}, - // {466, 47}, - // {783, 332}, - // {523, 47}, - // {830, 332}, - // {466, 47}, - // {783, 332}, - // {391, 47}, - // {622, 332}, - // {415, 47}, - // {698, 522}, - // {698, 47}, - // {1046, 142}, - // {698, 47}, - // {1046, 712}, - // {0, 569}, - // {830, 189}, - // {783, 189}, - // {622, 94}, - // {523, 284}, - // {783, 94}, - // {698, 94}, - // {0, 1518}, + {FREQ_SET, 0, 349}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 391}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 391}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 311}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 759}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 349}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 391}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 391}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 311}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 1518}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 1244}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 1479}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 1708}, + /* LOOP */ + {LOOP_POINT_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 759}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 949}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 759}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 113}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 75}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 205}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 550}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 759}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 1518}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 142}, + {FREQ_SET, 0, 391}, + {DELAY, 0, 47}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 759}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 379}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 349}, + {DELAY, 0, 47}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 332}, + {FREQ_SET, 0, 391}, + {DELAY, 0, 47}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 332}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 47}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 332}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 47}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 332}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 47}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 332}, + {FREQ_SET, 0, 466}, + {DELAY, 0, 47}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 332}, + {FREQ_SET, 0, 391}, + {DELAY, 0, 47}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 332}, + {FREQ_SET, 0, 415}, + {DELAY, 0, 47}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 522}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 47}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 142}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 47}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 712}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 569}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 189}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 284}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 94}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 1518}, }; const melody_sequence_t towa = MELODY_OF(towa_data); static const melody_item_t mermgirl_data[] = { - // {1174, 199}, - // {0, 14}, - // {1318, 199}, - // {0, 14}, - // {1396, 199}, - // {0, 14}, - // {932, 99}, - // {0, 7}, - // {1396, 199}, - // {0, 14}, - // {880, 99}, - // {0, 7}, - // {1174, 199}, - // {0, 14}, - // {1567, 199}, - // {0, 14}, - // {2093, 199}, - // {0, 14}, - // {1318, 35}, - // {1567, 367}, - // {0, 24}, - // {880, 35}, - // {1318, 164}, - // {0, 14}, - // {1318, 199}, - // {0, 14}, - // {1046, 199}, - // {0, 14}, - // {1318, 199}, - // {0, 14}, - // {1396, 199}, - // {0, 14}, - // {1567, 199}, - // {0, 14}, - // {1396, 403}, - // {0, 24}, - // {1396, 199}, - // {0, 14}, - // {1396, 99}, - // {0, 7}, - // {1396, 199}, - // {0, 14}, - // {880, 99}, - // {0, 7}, - // {1174, 199}, - // {0, 14}, - // {1567, 199}, - // {0, 14}, - // {2093, 199}, - // {0, 14}, - // {1567, 403}, - // {0, 24}, - // {1318, 35}, - // {1567, 164}, - // {0, 14}, - // {1760, 199}, - // {0, 14}, - // {2093, 199}, - // {0, 14}, - // {1864, 199}, - // {0, 14}, - // {1760, 403}, - // {0, 24}, - // {1174, 199}, - // {0, 14}, - // {1318, 199}, - // {0, 14}, - // {1396, 199}, - // {0, 14}, - // {932, 99}, - // {0, 7}, - // {1396, 199}, - // {0, 14}, - // {880, 99}, - // {0, 7}, - // {1174, 199}, - // {0, 14}, - // {1046, 35}, - // {1567, 164}, - // {0, 14}, - // {2093, 199}, - // {0, 14}, - // {1318, 35}, - // {1567, 367}, - // {0, 24}, - // {1318, 199}, - // {0, 14}, - // {1318, 199}, - // {0, 14}, - // {1046, 199}, - // {0, 14}, - // {1318, 199}, - // {0, 14}, - // {1396, 199}, - // {0, 14}, - // {1567, 199}, - // {0, 14}, - // {1396, 403}, - // {0, 24}, - // {1396, 199}, - // {0, 14}, - // {1396, 99}, - // {0, 7}, - // {1396, 199}, - // {0, 14}, - // {880, 99}, - // {0, 7}, - // {1174, 199}, - // {0, 14}, - // {1567, 199}, - // {0, 14}, - // {2093, 199}, - // {0, 14}, - // {1567, 403}, - // {0, 24}, - // {1760, 199}, - // {0, 14}, - // {1760, 99}, - // {0, 7}, - // {1760, 199}, - // {0, 14}, - // {1567, 99}, - // {0, 7}, - // {1760, 199}, - // {0, 14}, - // {3520, 35}, - // {1760, 164}, - // {0, 14}, - // {4186, 35}, - // {2093, 164}, - // {0, 14}, - // {4698, 35}, - // {2349, 164}, - // {0, 228}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 99}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 7}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 99}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 7}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 35}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 367}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 24}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 35}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 164}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 403}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 24}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 99}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 7}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 99}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 7}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 403}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 24}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 35}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 164}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1760}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1864}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1760}, + {DELAY, 0, 403}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 24}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 99}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 7}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 99}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 7}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 35}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 164}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 35}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 367}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 24}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 403}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 24}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 99}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 7}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 99}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 7}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 403}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 24}, + {FREQ_SET, 0, 1760}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1760}, + {DELAY, 0, 99}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 7}, + {FREQ_SET, 0, 1760}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 99}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 7}, + {FREQ_SET, 0, 1760}, + {DELAY, 0, 199}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 3520}, + {DELAY, 0, 35}, + {FREQ_SET, 0, 1760}, + {DELAY, 0, 164}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 4186}, + {DELAY, 0, 35}, + {FREQ_SET, 0, 2093}, + {DELAY, 0, 164}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 14}, + {FREQ_SET, 0, 4698}, + {DELAY, 0, 35}, + {FREQ_SET, 0, 2349}, + {DELAY, 0, 164}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 228}, }; const melody_sequence_t mermgirl = MELODY_OF(mermgirl_data); static const melody_item_t eye_opener_data[] = { - // // Open your eyes - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1046, 29}, - // {523, 147}, - // {1174, 29}, - // {587, 147}, - // {1318, 29}, - // {659, 147}, - // {1174, 29}, - // {587, 323}, - // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {220, 174}, - // {0, 178}, - // {220, 174}, - - // // See all the love in me - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1396, 29}, - // {698, 147}, - // {1318, 29}, - // {659, 147}, - // {1174, 29}, - // {587, 147}, - // {1318, 29}, - // {659, 499}, - // {1046, 29}, - // {523, 147}, - // {1046, 29}, - // {523, 323}, - // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {174, 174}, - // {0, 178}, - - // // I've got enough forever - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {783, 176}, - // {698, 352}, - // {659, 352}, - // {587, 352}, - // {523, 352}, - // {587, 176}, - // {659, 352}, - // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {261, 176}, - - // // Don't be afraid - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1046, 29}, - // {523, 147}, - // {1174, 29}, - // {587, 147}, - // {1318, 29}, - // {659, 147}, - // {1174, 29}, - // {587, 323}, - // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {220, 174}, - // {0, 178}, - // {220, 174}, - - // // Take all you need from me - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1396, 29}, - // {698, 147}, - // {1318, 29}, - // {659, 147}, - // {1174, 29}, - // {587, 147}, - // {1318, 29}, - // {659, 499}, - // {1046, 29}, - // {523, 147}, - // {1046, 29}, - // {523, 323}, - // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {174, 174}, - // {0, 178}, - - // // And we'll be strong together - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - // {440, 176}, - // {523, 352}, - // {587, 352}, - // {698, 352}, - // {659, 352}, - // {587, 176}, - // {523, 529}, - - // // RIFF - // {0xAA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1318, 175}, - // {880, 87}, - // {1318, 175}, - // {880, 87}, - // {1318, 175}, - // {1318, 175}, - // {880, 87}, - // {1318, 175}, - // {880, 87}, - // {1318, 175}, - // {1396, 175}, - // {1046, 87}, - // {1396, 175}, - // {1046, 87}, - // {1396, 175}, - // {1396, 175}, - // {1046, 87}, - // {1396, 175}, - // {1046, 87}, - // {1396, 175}, - // {1567, 175}, - // {1046, 87}, - // {1567, 175}, - // {1046, 87}, - // {1567, 175}, - // {1567, 175}, - // {1046, 87}, - // {1567, 175}, - // {1046, 87}, - // {1567, 175}, - // {1174, 175}, - // {1046, 87}, - // {1174, 175}, - // {1046, 87}, - // {1174, 175}, - // {1174, 175}, - // {1046, 87}, - // {1174, 175}, - // {1046, 87}, - // {1174, 175}, - // {1318, 175}, - // {880, 87}, - // {1318, 175}, - // {880, 87}, - // {1318, 175}, - // {1318, 175}, - // {880, 87}, - // {1318, 175}, - // {880, 87}, - // {1318, 175}, - // {1396, 175}, - // {1046, 87}, - // {1396, 175}, - // {1046, 87}, - // {1396, 175}, - // {1396, 175}, - // {1046, 87}, - // {1396, 175}, - // {1046, 87}, - // {1396, 175}, - // {1567, 175}, - // {1046, 87}, - // {1567, 175}, - // {1046, 87}, - // {1567, 175}, - // {1567, 175}, - // {1046, 87}, - // {1567, 175}, - // {1046, 87}, - // {1567, 175}, - // {1174, 175}, - // {1046, 87}, - // {1174, 175}, - // {1046, 87}, - // {1174, 175}, - // {1174, 175}, - // {1046, 87}, - // {1174, 175}, - // {1046, 87}, - // {1174, 174}, - // {0, 707}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 523}, + /* Open your eyes */ + {DELAY, 0, 147}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 323}, + {FREQ_SET, 0, 220}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 177}, + {FREQ_SET, 0, 220}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1396}, + /* See all the love in me */ + {DELAY, 0, 29}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 499}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 323}, + {FREQ_SET, 0, 174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 177}, + /* I've got enough forever */ + {FREQ_SET, 0, 783}, + {DELAY, 0, 176}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 352}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 352}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 352}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 352}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 176}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 352}, + {FREQ_SET, 0, 261}, + {DELAY, 0, 176}, + {FREQ_SET, 0, 1046}, + /* Don't be afraid */ + {DELAY, 0, 29}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 323}, + {FREQ_SET, 0, 220}, + {DELAY, 0, 176}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 176}, + {FREQ_SET, 0, 220}, + {DELAY, 0, 176}, + {FREQ_SET, 0, 1396}, + /* Take all you need from me */ + {DELAY, 0, 29}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 499}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 147}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 29}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 323}, + {FREQ_SET, 0, 174}, + {DELAY, 0, 176}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 176}, + /* And we'll be strong together */ + {FREQ_SET, 0, 440}, + {DELAY, 0, 176}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 352}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 352}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 352}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 352}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 176}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 529}, + {FREQ_SET, 0, 1318}, + /* RIFF */ + {DELAY, 0, 174}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1396}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 86}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 174}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 707}, }; const melody_sequence_t eye_opener = MELODY_OF(eye_opener_data); static const melody_item_t ark_data[] = { - // {0xFF, SEQ_LEN_FLAG_TIMBRE_SET}, - - // {880, 220}, - // {987, 220}, - // {1046, 220}, - // {1174, 772}, - // {0, 330}, - // {783, 220}, - // {880, 220}, - // {987, 220}, - // {880, 772}, - // {0, 330}, - // {880, 220}, - // {987, 220}, - // {1046, 220}, - // {1174, 661}, - // {1046, 220}, - // {987, 330}, - // {0, 110}, - // {783, 36}, - // {1567, 404}, - // {659, 36}, - // {1318, 735}, - // {0, 330}, - // {440, 36}, - // {880, 183}, - // {493, 36}, - // {987, 183}, - // {523, 36}, - // {1046, 183}, - // {587, 36}, - // {1174, 735}, - // {0, 330}, - // {391, 36}, - // {783, 183}, - // {440, 36}, - // {880, 183}, - // {493, 36}, - // {987, 183}, - // {440, 36}, - // {880, 735}, - // {0, 551}, - // {329, 36}, - // {659, 183}, - // {391, 36}, - // {783, 183}, - // {440, 36}, - // {880, 1066}, - // {0, 882}, - // {493, 36}, - // {987, 772}, - // {0, 73}, - - // {0x2AA, SEQ_LEN_FLAG_TIMBRE_SET}, - // {1046, 441}, - // {1174, 441}, - // {1318, 441}, - // {659, 220}, - // {1046, 441}, - // {1567, 220}, - // {1396, 220}, - // {1318, 441}, - // {1174, 661}, - // {783, 36}, - // {987, 404}, - // {880, 36}, - // {1046, 404}, - // {987, 36}, - // {1174, 404}, - // {880, 220}, - // {830, 441}, - // {1396, 220}, - // {1318, 220}, - // {1174, 441}, - // {1046, 661}, - // {880, 441}, - // {987, 441}, - // {659, 36}, - // {880, 36}, - // {1046, 588}, - // {1318, 36}, - // {1567, 404}, - // {0, 220}, - // {1318, 36}, - // {1567, 404}, - // {1046, 441}, - // {783, 220}, - // {1567, 441}, - // {0, 183}, - // {783, 36}, - // {1567, 441}, - // {1174, 441}, - // {739, 220}, - // {1046, 661}, - // {1174, 441}, - // {1318, 661}, - // {0, 220}, - // {1046, 441}, - // {1174, 441}, - // {1318, 441}, - // {523, 220}, - // {880, 36}, - // {1046, 404}, - // {783, 36}, - // {987, 36}, - // {1567, 147}, - // {698, 36}, - // {880, 36}, - // {1396, 147}, - // {659, 36}, - // {783, 36}, - // {1318, 367}, - // {698, 36}, - // {1174, 624}, - // {493, 36}, - // {987, 404}, - // {523, 36}, - // {1046, 404}, - // {587, 36}, - // {1174, 404}, - // {880, 220}, - // {830, 441}, - // {1396, 220}, - // {1318, 220}, - // {1174, 441}, - // {1046, 661}, - // {440, 36}, - // {880, 404}, - // {493, 36}, - // {987, 404}, - // {659, 36}, - // {1046, 624}, - // {783, 36}, - // {1567, 404}, - // {0, 220}, - // {783, 36}, - // {1567, 404}, - // {523, 36}, - // {1046, 624}, - // {783, 36}, - // {1567, 404}, - // {0, 220}, - // {783, 36}, - // {1567, 404}, - // {1396, 441}, - // {698, 220}, - // {1318, 441}, - // {659, 110}, - // {987, 110}, - // {1174, 441}, - // {1046, 294}, - // {0, 36}, - // {830, 110}, - // {523, 220}, - // {987, 661}, - // {830, 441}, - // {880, 1764}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 772}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 330}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 772}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 330}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 330}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 110}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 1567}, + {DELAY, 0, 404}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 1318}, + {DELAY, 0, 735}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 330}, + {FREQ_SET, 0, 440}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 183}, + {FREQ_SET, 0, 493}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 183}, + {FREQ_SET, 0, 523}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 1046}, + {DELAY, 0, 183}, + {FREQ_SET, 0, 587}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 1174}, + {DELAY, 0, 735}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 330}, + {FREQ_SET, 0, 391}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 183}, + {FREQ_SET, 0, 440}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 183}, + {FREQ_SET, 0, 493}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 183}, + {FREQ_SET, 0, 440}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 735}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 551}, + {FREQ_SET, 0, 329}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 659}, + {DELAY, 0, 183}, + {FREQ_SET, 0, 391}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 783}, + {DELAY, 0, 183}, + {FREQ_SET, 0, 440}, + {DELAY, 0, 36}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 1066}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 882}, + {FREQ_SET, 1, 987}, + {DELAY, 0, 882}, + {DUTY_SET, 0, 6}, + {DUTY_SET, 1, 6}, + {DUTY_SET, 2, 6}, + {DUTY_SET, 3, 6}, + {FREQ_SET, 0, 523}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 440}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 293}, + {FREQ_SET, 2, 493}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 659}, + {FREQ_SET, 1, 329}, + {FREQ_SET, 2, 523}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 523}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 440}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 391}, + {FREQ_SET, 2, 493}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 349}, + {FREQ_SET, 2, 440}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 659}, + {FREQ_SET, 1, 329}, + {FREQ_SET, 2, 391}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 293}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 493}, + {FREQ_SET, 1, 246}, + {FREQ_SET, 2, 391}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 523}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 440}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 293}, + {FREQ_SET, 2, 493}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 440}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 415}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 349}, + {FREQ_SET, 2, 440}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 659}, + {FREQ_SET, 1, 329}, + {FREQ_SET, 2, 391}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 293}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 523}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 329}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 440}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 493}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 440}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 329}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 391}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 659}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 391}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 659}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 391}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 329}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 391}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 659}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 391}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 659}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 293}, + {FREQ_SET, 2, 369}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 523}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 329}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 293}, + {FREQ_SET, 2, 369}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 659}, + {FREQ_SET, 1, 329}, + {FREQ_SET, 2, 415}, + {DELAY, 0, 882}, + {FREQ_SET, 0, 523}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 440}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 293}, + {FREQ_SET, 2, 493}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 659}, + {FREQ_SET, 1, 329}, + {FREQ_SET, 2, 523}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 440}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 523}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 391}, + {FREQ_SET, 2, 493}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 349}, + {FREQ_SET, 2, 440}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 659}, + {FREQ_SET, 1, 329}, + {FREQ_SET, 2, 391}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 293}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 493}, + {FREQ_SET, 1, 246}, + {FREQ_SET, 2, 391}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 523}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 440}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 293}, + {FREQ_SET, 2, 493}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 440}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 415}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 349}, + {FREQ_SET, 2, 440}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 659}, + {FREQ_SET, 1, 329}, + {FREQ_SET, 2, 391}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 293}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 523}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 329}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 440}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 493}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 246}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 523}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 329}, + {FREQ_SET, 3, 440}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 391}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 659}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 391}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 659}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 523}, + {FREQ_SET, 1, 391}, + {FREQ_SET, 2, 261}, + {FREQ_SET, 3, 329}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 391}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 659}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 783}, + {FREQ_SET, 1, 391}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 659}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 349}, + {FREQ_SET, 2, 587}, + {FREQ_SET, 3, 1396}, + {DELAY, 0, 441}, + {FREQ_SET, 3, 698}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 659}, + {FREQ_SET, 1, 329}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 1318}, + {DELAY, 0, 441}, + {FREQ_SET, 3, 659}, + {DELAY, 0, 110}, + {FREQ_SET, 3, 987}, + {DELAY, 0, 110}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 293}, + {FREQ_SET, 2, 493}, + {FREQ_SET, 3, 1174}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 415}, + {FREQ_SET, 1, 261}, + {FREQ_SET, 2, 523}, + {FREQ_SET, 3, 1046}, + {DELAY, 0, 294}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 36}, + {FREQ_SET, 3, 830}, + {DELAY, 0, 110}, + {FREQ_SET, 3, 523}, + {DELAY, 0, 220}, + {FREQ_SET, 0, 415}, + {FREQ_SET, 1, 246}, + {FREQ_SET, 2, 493}, + {FREQ_SET, 3, 987}, + {DELAY, 0, 661}, + {FREQ_SET, 0, 415}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 329}, + {FREQ_SET, 3, 830}, + {DELAY, 0, 441}, + {FREQ_SET, 0, 440}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 880}, + {DELAY, 0, 1764}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 0}, }; const melody_sequence_t ark = MELODY_OF(ark_data); diff --git a/src/sound/sequencer.cpp b/src/sound/sequencer.cpp index 23589e3..9ef18a7 100644 --- a/src/sound/sequencer.cpp +++ b/src/sound/sequencer.cpp @@ -32,6 +32,7 @@ void NewSequencer::play_sequence(const melody_sequence_t * s, int repeat) { loop_point = 0; is_running = true; remaining_delay_samples = 0; + for(int i = 0; i < CHANNELS; i++) voices[i]->set_parameter(ToneGenerator::Parameter::PARAMETER_DUTY, 0); xEventGroupClearBits(wait_end_group, BIT_END_PLAY); process_steps_until_delay(); } @@ -55,6 +56,10 @@ void NewSequencer::process_steps_until_delay() { switch(cur_line->command) { case FREQ_SET: voices[cur_line->channel]->set_parameter(ToneGenerator::Parameter::PARAMETER_FREQUENCY, cur_line->argument1); + // if(cur_line->argument1 > 0) for(int i = 0; i < CHANNELS; i++) voices[i]->reset_phase(); // retrig for unison + break; + case DUTY_SET: + voices[cur_line->channel]->set_parameter(ToneGenerator::Parameter::PARAMETER_DUTY, cur_line->argument1); break; case LOOP_POINT_SET: loop_point = pointer + 1; diff --git a/src/sound/waveout.cpp b/src/sound/waveout.cpp index 21e3a64..0cf20ff 100644 --- a/src/sound/waveout.cpp +++ b/src/sound/waveout.cpp @@ -48,8 +48,8 @@ void WaveOut::init_I2S(gpio_num_t pin) { } void WaveOut::task(void*) { - static uint8_t chunk[RENDER_CHUNK_SIZE] = { 0x0 }; - static const uint8_t null[RENDER_CHUNK_SIZE] = { 0xFF }; + static uint8_t chunk[RENDER_CHUNK_SIZE+1] = { 0x0 }; + static const uint8_t null[RENDER_CHUNK_SIZE+1] = { 0xFF }; static uint32_t * fast_chunk = (uint32_t*) chunk; const size_t fast_chunk_size = RENDER_CHUNK_SIZE / sizeof(uint32_t); static size_t out_size = 0; @@ -62,7 +62,7 @@ void WaveOut::task(void*) { if(total > 0) { for(size_t i = 0; i < fast_chunk_size; i++) fast_chunk[i] = ~fast_chunk[i]; i2s_write(I2S_NUM, chunk, total, &out_size, portMAX_DELAY); - memset(chunk, 0, RENDER_CHUNK_SIZE); + memset(chunk, 0, RENDER_CHUNK_SIZE+1); } else { i2s_write(I2S_NUM, null, RENDER_CHUNK_SIZE, &out_size, portMAX_DELAY); } From 2eb4c1a91973123165ac70b9ad09d88643eea899 Mon Sep 17 00:00:00 2001 From: akasaka Date: Fri, 2 Aug 2024 09:35:56 +0900 Subject: [PATCH 23/26] Inverting is not needed --- README.md | 2 +- include/device_config.h | 8 ++++++++ include/sound/generators.h | 2 +- src/sound/waveout.cpp | 4 ++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 79b8c9d..c567ca7 100644 --- a/README.md +++ b/README.md @@ -172,7 +172,7 @@ The basic configuration without any bluetooth functionality (no Switchbot or Bal ### Speaker (at least one required) -* Piezo speaker ([driver](src/sound/beeper.cpp), [music](src/sound/melodies.cpp)) +* Piezo speakers: *now with 1-bit DMA polyphony!* ([driver](src/sound/beeper.cpp), [music](src/sound/melodies.cpp), [sequencer](src/sound/sequencer.cpp)) ### Haptics (WIP) diff --git a/include/device_config.h b/include/device_config.h index 53be4e3..c4b0ad3 100644 --- a/include/device_config.h +++ b/include/device_config.h @@ -4,9 +4,17 @@ #define HAS(x) defined(HAS_##x) // ---- SOFTWARE FEATURE FLAGS + +// Enable the Wordnik API and Word Of The Day screen. UNSTABLE: Uses a lot of RAM for HTTPS. #define HAS_WORDNIK_API + +// Enable over-the-air firmware version upgrade. NB: Requires a new partition map, someday later // #define HAS_OTAFVU + +// Enable Switchbot Meter temperature probing. UNSTABLE: Uses NimBLE so a lot of RAM, disconnects over time. // #define HAS_SWITCHBOT_METER_INTEGRATION + +// Enable Wii Balance Board measuring. UNSTABLE: Uses Bluedroid (a FUCKTON of RAM), periodic disconnects or reboots without leaving a stack trace. // #define HAS_BALANCE_BOARD_INTEGRATION // ---- HARDWARE diff --git a/include/sound/generators.h b/include/sound/generators.h index ea9cc7d..af6e841 100644 --- a/include/sound/generators.h +++ b/include/sound/generators.h @@ -69,7 +69,7 @@ class SquareGenerator: public ToneGenerator { int bits_high = wavelength / abs(duty); if(duty < 0) bits_high = wavelength - bits_high; uint8_t* buff = (uint8_t*) buffer; - uint32_t want_samples = want_samples == 0 ? (length * 8) : std::min(want_samples_, length * 8); + uint32_t want_samples = want_samples_ == 0 ? (length * 8) : std::min(want_samples_, length * 8); size_t idx = 0; int bit = 7; diff --git a/src/sound/waveout.cpp b/src/sound/waveout.cpp index 0cf20ff..261ab91 100644 --- a/src/sound/waveout.cpp +++ b/src/sound/waveout.cpp @@ -49,7 +49,7 @@ void WaveOut::init_I2S(gpio_num_t pin) { void WaveOut::task(void*) { static uint8_t chunk[RENDER_CHUNK_SIZE+1] = { 0x0 }; - static const uint8_t null[RENDER_CHUNK_SIZE+1] = { 0xFF }; + static const uint8_t null[RENDER_CHUNK_SIZE+1] = { 0 }; static uint32_t * fast_chunk = (uint32_t*) chunk; const size_t fast_chunk_size = RENDER_CHUNK_SIZE / sizeof(uint32_t); static size_t out_size = 0; @@ -60,7 +60,7 @@ void WaveOut::task(void*) { if(generated_bytes > total) total = generated_bytes; } if(total > 0) { - for(size_t i = 0; i < fast_chunk_size; i++) fast_chunk[i] = ~fast_chunk[i]; + // for(size_t i = 0; i < fast_chunk_size; i++) fast_chunk[i] = ~fast_chunk[i]; i2s_write(I2S_NUM, chunk, total, &out_size, portMAX_DELAY); memset(chunk, 0, RENDER_CHUNK_SIZE+1); } else { From 7204bfd03cc7f8c605de6bde8bdb8c224193df45 Mon Sep 17 00:00:00 2001 From: akasaka Date: Sat, 3 Aug 2024 11:37:29 +0900 Subject: [PATCH 24/26] Skibidi bop bop bop yes yes --- helper/chimes/skibidi_toilet.mid | Bin 0 -> 1703 bytes helper/midi_to_chime.py | 2 + include/sound/generators.h | 86 +--- include/sound/sequencer.h | 4 +- src/sound/generators.cpp | 146 ++++++ src/sound/melodies.cpp | 763 ++++++++++++++++++++++++++++++- src/sound/sequencer.cpp | 6 +- 7 files changed, 936 insertions(+), 71 deletions(-) create mode 100644 helper/chimes/skibidi_toilet.mid create mode 100644 src/sound/generators.cpp diff --git a/helper/chimes/skibidi_toilet.mid b/helper/chimes/skibidi_toilet.mid new file mode 100644 index 0000000000000000000000000000000000000000..b3921e8a25e2c68498ed6ac9a84d9b693ebccf1f GIT binary patch literal 1703 zcmd^8J!{)g6g_c_+fh((Y&=8=9=5zhU}Sq0$5!lyl%|D}gf2Rqd(XM&y~owg-gpF{f;CjuzwGS2+$Vd2 z>5Fo?RC|o+v-L;Mf$0_&EpsGqdM4F9BzDhaVGkIP4oC;21E6oxS|7=fIPN13*bUfS z!Eta|Ucj|3m5{(JAhQBY^t4iby1OgOW0cM>thbKITMp8iGOVH3C^ZOF6n zy#H(3M7L+pauB&V5yyzb_jF9`Aa=MkWW$2}x|UfEK3UhzdUe!&HNRe4{zu=^&)z$q zYwmLoS8zyP^SOFH(BYzVfG)SS3-L!ucXY!h4sE6nbqKZiD85PR8?|R$*Xc0&TvDr?G4_)z`EqEI(c0Vw~6Dw@Pj`6 jfc 0.005: evts.append(Event("DELAY", 0, msg.time * 1000)) evts.append(Comment(msg.text)) + if msg.text == "LOOP": + evts.append(Event("LOOP_POINT_SET", 0, 0)) print("static const melody_item_t "+name+"_data[] = {") diff --git a/include/sound/generators.h b/include/sound/generators.h index af6e841..dc8e31f 100644 --- a/include/sound/generators.h +++ b/include/sound/generators.h @@ -16,79 +16,31 @@ class ToneGenerator { class SquareGenerator: public ToneGenerator { public: - SquareGenerator(): - phase{0}, - wavelength{0}, - active { false }, - duty { 2 } - {} + SquareGenerator(); + void set_frequency(int freq); + void set_active(bool a); + void reset_phase() override; + void set_parameter(Parameter p, int v) override; + size_t generate_samples(void* buffer, size_t length, uint32_t want_samples_) override; - void set_frequency(int freq) { - if(freq == 0) return; - if(freq > WaveOut::NYQUIST) { - ESP_LOGE("SQGEN", "Cannot %i hz!", freq); - return; - } - - wavelength = (WaveOut::BAUD_RATE / freq); - phase = 0; - } - - void set_active(bool a) { - active = a; - phase = 0; - } - - void reset_phase() override { - phase = 0; - } - - void set_parameter(Parameter p, int v) override { - switch(p) { - case PARAMETER_ACTIVE: - set_active(v != 0); - break; - - case PARAMETER_FREQUENCY: - set_frequency(v); - set_active(v != 0); - break; - - case PARAMETER_DUTY: - if(abs(v) < 2) duty = 2; - else duty = v; - break; - - default: break; - } - } - - size_t generate_samples(void* buffer, size_t length, uint32_t want_samples_) override { - if(!active || wavelength == 0) return 0; +private: + int phase; + int wavelength; + int duty; + bool active; +}; - int bits_high = wavelength / abs(duty); - if(duty < 0) bits_high = wavelength - bits_high; - uint8_t* buff = (uint8_t*) buffer; - uint32_t want_samples = want_samples_ == 0 ? (length * 8) : std::min(want_samples_, length * 8); - size_t idx = 0; - int bit = 7; - for(int s = 0; s < want_samples; s++) { - bool state = (phase < bits_high); - idx = s / 8; - bit = 8 - (s % 8); - if(state) { - buff[idx] |= (1 << bit); - } - phase = (phase + 1) % wavelength; - } - - return idx + 1; - } +class NoiseGenerator: public ToneGenerator { +public: + NoiseGenerator(); + void set_parameter(Parameter p, int v) override; + size_t generate_samples(void* buffer, size_t length, uint32_t want_samples_) override; private: int phase; int wavelength; - int duty; + bool state; bool active; + uint32_t rng; }; diff --git a/include/sound/sequencer.h b/include/sound/sequencer.h index cc52d53..b79392d 100644 --- a/include/sound/sequencer.h +++ b/include/sound/sequencer.h @@ -34,7 +34,9 @@ class NewSequencer: public WaveGenerator { size_t fill_buffer(void* buffer, size_t length) override; private: - static const int CHANNELS = 4; + static const int TONE_CHANNELS = 4; + static const int EXTRA_CHANNELS = 1; + static const int CHANNELS = TONE_CHANNELS + EXTRA_CHANNELS; ToneGenerator * voices[CHANNELS] = { nullptr }; const melody_sequence_t * sequence; size_t pointer; diff --git a/src/sound/generators.cpp b/src/sound/generators.cpp new file mode 100644 index 0000000..f8497d1 --- /dev/null +++ b/src/sound/generators.cpp @@ -0,0 +1,146 @@ +#include +#include + +SquareGenerator::SquareGenerator(): + phase{0}, + wavelength{0}, + active { false }, + duty { 2 } + {} + +void SquareGenerator::set_frequency(int freq) { + if(freq == 0) return; + if(freq > WaveOut::NYQUIST) { + ESP_LOGE("SQGEN", "Cannot %i hz!", freq); + return; + } + + wavelength = (WaveOut::BAUD_RATE / freq); + phase = 0; +} + +void SquareGenerator::set_active(bool a) { + active = a; + phase = 0; +} + +void SquareGenerator::reset_phase() { + phase = 0; +} + +void SquareGenerator::set_parameter(Parameter p, int v) { + switch(p) { + case PARAMETER_ACTIVE: + set_active(v != 0); + break; + + case PARAMETER_FREQUENCY: + set_frequency(v); + set_active(v != 0); + break; + + case PARAMETER_DUTY: + if(abs(v) < 2) duty = 2; + else duty = v; + break; + + default: break; + } +} + +size_t SquareGenerator::generate_samples(void* buffer, size_t length, uint32_t want_samples_) { + if(!active || wavelength == 0) return 0; + + int bits_high = wavelength / abs(duty); + if(duty < 0) bits_high = wavelength - bits_high; + uint8_t* buff = (uint8_t*) buffer; + uint32_t want_samples = want_samples_ == 0 ? (length * 8) : std::min(want_samples_, length * 8); + size_t idx = 0; + int bit = 7; + + for(int s = 0; s < want_samples; s++) { + bool state = (phase < bits_high); + idx = s / 8; + bit = 8 - (s % 8); + if(state) { + buff[idx] |= (1 << bit); + } + phase = (phase + 1) % wavelength; + } + + return idx + 1; +} + + +static const int NOISETAB_SIZE = 256; +static uint8_t NOISETAB[NOISETAB_SIZE] = { 0 }; +static bool NOISETAB_READY = false; + +static void _create_noisetab_if_needed() { + if(!NOISETAB_READY) { + esp_fill_random(NOISETAB, NOISETAB_SIZE); + NOISETAB_READY = true; + } +} + +NoiseGenerator::NoiseGenerator(): + phase { 0 }, + wavelength { 0 }, + active { false } { + rng = 1; +} + +void NoiseGenerator::set_parameter(Parameter p, int v) { + switch(p) { + case PARAMETER_ACTIVE: + active = (v != 0); + phase = 0; + break; + + case PARAMETER_FREQUENCY: + if(v == 0) { + active = false; + } + else { + wavelength = (WaveOut::BAUD_RATE / (v * 2)); + active = true; + } + break; + + case PARAMETER_DUTY: + // Not supported + break; + + default: break; + } +} + +size_t NoiseGenerator::generate_samples(void* buffer, size_t length, uint32_t want_samples_) { + if(!active || wavelength == 0) return 0; + + uint8_t* buff = (uint8_t*) buffer; + uint32_t want_samples = want_samples_ == 0 ? (length * 8) : std::min(want_samples_, length * 8); + size_t idx = 0; + int bit = 7; + + for(int s = 0; s < want_samples; s++) { + idx = s / 8; + bit = 8 - (s % 8); + if(state && (rng & 1) > 0) { + buff[idx] |= (1 << bit); + } + phase = (phase + 1) % wavelength; + if(phase == 0) { + state ^= 1; + if (state) { + // random number generator from MAME: + // https://github.com/mamedev/mame/blob/master/src/devices/sound/ay8910.cpp + + rng ^= (((rng & 1) ^ ((rng >> 3) & 1)) << 17); + rng >>= 1; + } + } + } + + return idx + 1; +} \ No newline at end of file diff --git a/src/sound/melodies.cpp b/src/sound/melodies.cpp index 38ca8c6..87abfe3 100644 --- a/src/sound/melodies.cpp +++ b/src/sound/melodies.cpp @@ -4750,6 +4750,765 @@ static const melody_item_t ark_data[] = { }; const melody_sequence_t ark = MELODY_OF(ark_data); +static const melody_item_t skibidi_data[] = { + {DUTY_SET, 0, 5}, + {DUTY_SET, 1, 5}, + {DUTY_SET, 2, 5}, + {DUTY_SET, 3, 5}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 160}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 160}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 1108}, + {DELAY, 0, 240}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 140}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 100}, + {FREQ_SET, 0, 987}, + {DELAY, 0, 180}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 160}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 160}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 180}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 180}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 4, 1000}, + {DELAY, 0, 40}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 160}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 160}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 80}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 0, 880}, + {DELAY, 0, 200}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 4, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 200}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 120}, + /* LOOP */ + {LOOP_POINT_SET, 0, 0}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 200}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 200}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 277}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 277}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 220}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 100}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 100}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 240}, + {FREQ_SET, 1, 293}, + {DELAY, 0, 300}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 277}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 200}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 200}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 240}, + {FREQ_SET, 1, 277}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 277}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 220}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 100}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 100}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 240}, + {FREQ_SET, 1, 293}, + {DELAY, 0, 300}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 277}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 200}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 200}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 240}, + {FREQ_SET, 1, 277}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 277}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 220}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 100}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 100}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 240}, + {FREQ_SET, 1, 293}, + {DELAY, 0, 300}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 277}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 200}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 200}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 246}, + {DELAY, 0, 240}, + {FREQ_SET, 1, 277}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 277}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 220}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 100}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 100}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 220}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 220}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 240}, + {FREQ_SET, 1, 293}, + {DELAY, 0, 300}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 180}, + {FREQ_SET, 1, 277}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 200}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 2, 554}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 2, 554}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 100}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 240}, + {FREQ_SET, 2, 493}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 587}, + {DELAY, 0, 120}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 200}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 120}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 100}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 100}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 200}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 200}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 2, 554}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 100}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 240}, + {FREQ_SET, 2, 493}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 587}, + {DELAY, 0, 120}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 220}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 160}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 4, 1000}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 4, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 200}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 240}, + {FREQ_SET, 2, 493}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 554}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 2, 554}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 100}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 240}, + {FREQ_SET, 2, 493}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 587}, + {DELAY, 0, 120}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 220}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 160}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 100}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 200}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 240}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 120}, + {FREQ_SET, 2, 554}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 80}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 2, 554}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 100}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 2, 554}, + {DELAY, 0, 240}, + {FREQ_SET, 2, 493}, + {DELAY, 0, 80}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 587}, + {DELAY, 0, 120}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 220}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 100}, + {FREQ_SET, 3, 97}, + {DELAY, 0, 120}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 160}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 80}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 20}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 3, 110}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 4, 1000}, + {DELAY, 0, 40}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 60}, + {FREQ_SET, 1, 184}, + {DELAY, 0, 60}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 140}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 4, 0}, + {DELAY, 0, 40}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 200}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 160}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 240}, + {FREQ_SET, 3, 0}, +}; +const melody_sequence_t skibidi = MELODY_OF(skibidi_data); + const melody_sequence_t all_chime_list[] = { just_beep, pc98_pipo, @@ -4775,10 +5534,11 @@ const melody_sequence_t all_chime_list[] = { mermgirl, eye_opener, ark, + skibidi, }; const int all_chime_count = sizeof(all_chime_list)/sizeof(melody_sequence_t); -const char * all_chime_names_csv = "Just Beep,PC-98 Boot,Русь 28,Штрих-М,A.M. - Arise,Caramelldansen,BoA - Duvet,T-Square - Truth,Haruhi no Omoi,WAVE & DRAX - When Present Is Past,Hishoku no Sora,Bouken Desho Desho,Gentle Jena,Omega - Gammapolisz,Like The Wind (TMMS),NightRadio - Waiting Freqs,NightRadio - The Way,Dougal & Gammer - Guitar Hero,Hachiya Nanashi - Shabon,Gate Of Steiner,deadballP - Towa ni tsuzuku gosenfu,Cream puff - Mermaid girl,Brisk & Trixxy - Eye Opener,Hiroyuki Oshima - The Ark Awakes From The Sea Of Chaos,Random"; +const char * all_chime_names_csv = "Just Beep,PC-98 Boot,Русь 28,Штрих-М,A.M. - Arise,Caramelldansen,BoA - Duvet,T-Square - Truth,Haruhi no Omoi,WAVE & DRAX - When Present Is Past,Hishoku no Sora,Bouken Desho Desho,Gentle Jena,Omega - Gammapolisz,Like The Wind (TMMS),NightRadio - Waiting Freqs,NightRadio - The Way,Dougal & Gammer - Guitar Hero,Hachiya Nanashi - Shabon,Gate Of Steiner,deadballP - Towa ni tsuzuku gosenfu,Cream puff - Mermaid girl,Brisk & Trixxy - Eye Opener,Hiroyuki Oshima - The Ark Awakes From The Sea Of Chaos,Skibidi Toilet,Random"; const std::vector all_chime_names = { "Beep", "PC-98 Boot", @@ -4804,5 +5564,6 @@ const std::vector all_chime_names = { "Mermaid girl", "Eye Opener", "The Ark Awakes From The Sea Of Chaos", + "Skibidi Toilet", "(Randomize)" }; \ No newline at end of file diff --git a/src/sound/sequencer.cpp b/src/sound/sequencer.cpp index 9ef18a7..b8f079e 100644 --- a/src/sound/sequencer.cpp +++ b/src/sound/sequencer.cpp @@ -7,7 +7,9 @@ static char LOG_TAG[] = "MELODY"; #define BIT_END_PLAY 0b00000001 NewSequencer::NewSequencer() { - for(int i = 0; i < CHANNELS; i++) voices[i] = new SquareGenerator(); + // Ch 0, 1, 2, 3: tone + for(int i = 0; i < TONE_CHANNELS; i++) voices[i] = new SquareGenerator(); + voices[4] = new NoiseGenerator(); // Ch4: Noise wait_end_group = xEventGroupCreate(); } @@ -56,7 +58,7 @@ void NewSequencer::process_steps_until_delay() { switch(cur_line->command) { case FREQ_SET: voices[cur_line->channel]->set_parameter(ToneGenerator::Parameter::PARAMETER_FREQUENCY, cur_line->argument1); - // if(cur_line->argument1 > 0) for(int i = 0; i < CHANNELS; i++) voices[i]->reset_phase(); // retrig for unison + // if(cur_line->argument1 > 0) for(int i = 0; i < TONE_CHANNELS; i++) voices[i]->reset_phase(); // retrig for unison break; case DUTY_SET: voices[cur_line->channel]->set_parameter(ToneGenerator::Parameter::PARAMETER_DUTY, cur_line->argument1); From 12db68427c2f66ddc763b74b3459ae6a090f0081 Mon Sep 17 00:00:00 2001 From: akasaka Date: Sun, 4 Aug 2024 10:43:59 +0900 Subject: [PATCH 25/26] Samples just because I can --- helper/pwm.py | 60 + include/sound/generators.h | 28 +- include/sound/sequencer.h | 3 +- src/app/idle.cpp | 6 +- src/sound/generators.cpp | 96 ++ src/sound/melodies.cpp | 2252 +++++++++++++++++++++++++++++++++++- src/sound/sequencer.cpp | 4 + 7 files changed, 2442 insertions(+), 7 deletions(-) create mode 100644 helper/pwm.py diff --git a/helper/pwm.py b/helper/pwm.py new file mode 100644 index 0000000..3a11390 --- /dev/null +++ b/helper/pwm.py @@ -0,0 +1,60 @@ +#-*- coding: utf-8 -*- + +# Super jank converter from 8bit WAV into RLE PWM + preview +# Not reading the header or anything hence super jank + +import sys + +MARGIN = 4 + +fname = sys.argv[1] +sname = sys.argv[2] +oname = sys.argv[3] if len(sys.argv) >= 4 else None +sdata = open(fname, 'rb').read() +outf = None +if oname is not None: + outf = open(oname, 'wb') + outf.write(sdata[:0x28]) + +sdata = sdata[0x28::] +i = 0 +min = 999 +max = 0 +sts = 0xFF +last_sts = 0xFF +rle_buf = [0] + +def median(data): + x = list(data) + x.sort() + mid = len(x) // 2 + return (x[mid] + x[~mid]) / 2.0 + +med = median(sdata) +print("Median", med) +HIGH = med + MARGIN +LO = med - MARGIN + +while i < len(sdata): + curSample = sdata[i] + if curSample >= HIGH: + sts = 255 + elif curSample <= LO: + sts = 1 + if curSample < min and curSample > 0: + min = curSample + if curSample > max and curSample > 0: + max = curSample + if outf is not None: + outf.write(bytes([sts, sts])) + if sts != last_sts: + rle_buf.append(0) + last_sts = sts + if rle_buf[-1] == 255: + rle_buf.append(0) + rle_buf.append(0) + rle_buf[-1] += 1 + i += 2 + +print(f"static const uint8_t {sname}_rle_data[] = {{" + str(rle_buf)[1::][:-1:] + "};") +print(f"static const rle_sample_t {sname} = {{ .sample_rate = 4000, .root_frequency = 524 /* C5 */, .rle_data = {sname}_rle_data, .length = {len(rle_buf)} }};") \ No newline at end of file diff --git a/include/sound/generators.h b/include/sound/generators.h index dc8e31f..1a3dcd9 100644 --- a/include/sound/generators.h +++ b/include/sound/generators.h @@ -6,7 +6,8 @@ class ToneGenerator { enum Parameter { PARAMETER_FREQUENCY, PARAMETER_DUTY, - PARAMETER_ACTIVE + PARAMETER_ACTIVE, + PARAMETER_SAMPLE_ADDR, }; virtual size_t generate_samples(void* buffer, size_t length, uint32_t wanted_samples) { return 0; } virtual void set_parameter(Parameter p, int v) { } @@ -44,3 +45,28 @@ class NoiseGenerator: public ToneGenerator { bool active; uint32_t rng; }; + +typedef struct rle_sample { + const uint16_t sample_rate; + const uint16_t root_frequency; + const uint8_t* rle_data; + const size_t length; +} rle_sample_t; + +class Sampler: public ToneGenerator { +public: + Sampler(); + void set_parameter(Parameter p, int v) override; + size_t generate_samples(void* buffer, size_t length, uint32_t want_samples_) override; + + void load_sample(const rle_sample_t *); +private: + bool active; + bool state; + const rle_sample_t * waveform; + int playhead; + int remaining_samples; + int skip_factor; + int stretch_factor; + void rewind(); +}; diff --git a/include/sound/sequencer.h b/include/sound/sequencer.h index b79392d..e323f44 100644 --- a/include/sound/sequencer.h +++ b/include/sound/sequencer.h @@ -7,6 +7,7 @@ typedef enum melody_item_type { DUTY_SET, DELAY, LOOP_POINT_SET, + SAMPLE_LOAD, MAX_INVALID } melody_item_type_t; @@ -35,7 +36,7 @@ class NewSequencer: public WaveGenerator { private: static const int TONE_CHANNELS = 4; - static const int EXTRA_CHANNELS = 1; + static const int EXTRA_CHANNELS = 2; static const int CHANNELS = TONE_CHANNELS + EXTRA_CHANNELS; ToneGenerator * voices[CHANNELS] = { nullptr }; const melody_sequence_t * sequence; diff --git a/src/app/idle.cpp b/src/app/idle.cpp index 16d935d..1523907 100644 --- a/src/app/idle.cpp +++ b/src/app/idle.cpp @@ -325,7 +325,11 @@ void app_idle_process() { } else { change_screen_if_needed(); - touchArrows->active = hid_test_key_any(KEYMASK_ALL) != KEYSTATE_RELEASED; + key_state_t anykey = hid_test_key_any(KEYMASK_ALL); + touchArrows->active = anykey != KEYSTATE_RELEASED; + if(anykey != KEYSTATE_RELEASED) { + sequencer->stop_sequence(); + } } hourly_chime(); diff --git a/src/sound/generators.cpp b/src/sound/generators.cpp index f8497d1..84e5018 100644 --- a/src/sound/generators.cpp +++ b/src/sound/generators.cpp @@ -142,5 +142,101 @@ size_t NoiseGenerator::generate_samples(void* buffer, size_t length, uint32_t wa } } + return idx + 1; +} + +Sampler::Sampler(): + playhead { 0 }, + waveform { nullptr }, + remaining_samples { 0 }, + skip_factor { 1 }, + stretch_factor { 1 }, + active { false }, + state { false } +{} + +void Sampler::load_sample(const rle_sample_t * s) { + waveform = s; + rewind(); + skip_factor = 1; + stretch_factor = 1; +} + +void Sampler::rewind() { + if(waveform == nullptr || waveform->rle_data == nullptr || waveform->length == 0) return; + playhead = 0; + remaining_samples = waveform->rle_data[0]; +} + +void Sampler::set_parameter(Parameter p, int v) { + switch(p) { + case PARAMETER_ACTIVE: + active = (v != 0); + rewind(); + break; + + case PARAMETER_FREQUENCY: + if(waveform == nullptr) return; + if(v == 0) { + active = false; + } + else { + if(v >= waveform->root_frequency) { + stretch_factor = std::max(WaveOut::BAUD_RATE / waveform->sample_rate , 1); + skip_factor = std::max(v / waveform->root_frequency, 1); // not handling the case where sample rate is > waveout rate + } + else if(v < waveform->root_frequency) { + stretch_factor = std::max(WaveOut::BAUD_RATE / waveform->sample_rate, 1) * std::max(waveform->root_frequency / v, 1); + skip_factor = 1; // not handling the case where sample rate is > waveout rate + } + ESP_LOGV("SAMP", "New stretch = %i, skip = %i", stretch_factor, skip_factor); + active = true; + rewind(); + } + break; + + case PARAMETER_SAMPLE_ADDR: + if(v == 0) return; + load_sample((const rle_sample_t*) v); + break; + + default: break; + } +} + +size_t Sampler::generate_samples(void * buffer, size_t length, uint32_t want_samples_) { + if(!active || waveform == nullptr || waveform->length == 0 || waveform->rle_data == nullptr) + return 0; + + uint8_t* buff = (uint8_t*) buffer; + uint32_t want_samples = want_samples_ == 0 ? (length * 8) : std::min(want_samples_, length * 8); + size_t idx = 0; + int bit = 7; + + for(int s = 0; s < want_samples; s++) { + idx = s / 8; + bit = 8 - (s % 8); + + if(state) { + buff[idx] |= (1 << bit); + } + + if(stretch_factor == 1 || (s > 0 && (s % stretch_factor) == 0)) { + if(skip_factor > remaining_samples) { + playhead = (playhead + std::max(skip_factor / 8, 1)) % waveform->length; + remaining_samples = waveform->rle_data[playhead] - ((skip_factor % 8) - remaining_samples); + state ^= 1; + } else { + remaining_samples -= skip_factor; + } + + if(remaining_samples == 0) { + playhead = (playhead + 1) % waveform->length; + remaining_samples = waveform->rle_data[playhead]; + state ^= 1; + } + } + } + return idx + 1; } \ No newline at end of file diff --git a/src/sound/melodies.cpp b/src/sound/melodies.cpp index 87abfe3..7c85403 100644 --- a/src/sound/melodies.cpp +++ b/src/sound/melodies.cpp @@ -5503,11 +5503,2253 @@ static const melody_item_t skibidi_data[] = { {DELAY, 0, 200}, {FREQ_SET, 3, 0}, {DELAY, 0, 160}, +}; +const melody_sequence_t skibidi = MELODY_OF(skibidi_data); + + +static const uint8_t ohmy_rle_data[] = {1, 3, 2, 2, 2, 2, 2, 3, 1, 1, 3, 2, 2, 4, 3, 2, 2, 1, 2, 3, 2, 2, 2, 2, 2, 3, 3, 3, 2, 2, 3, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 3, 2, 2, 5, 2, 2, 2, 2, 3, 2, 2, 1, 2, 3, 3, 4, 5, 4, 2, 3, 2, 2, 3, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 2, 2, 4, 2, 3, 2, 3, 2, 2, 3, 2, 4, 4, 2, 4, 2, 3, 2, 2, 2, 3, 2, 4, 3, 3, 4, 2, 3, 3, 2, 3, 2, 3, 2, 4, 3, 2, 2, 3, 3, 2, 2, 3, 2, 2, 2, 3, 3, 2, 3, 2, 2, 7, 1, 3, 2, 3, 2, 3, 2, 3, 3, 2, 3, 3, 2, 4, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 2, 2, 3, 3, 1, 3, 2, 3, 4, 5, 1, 2, 2, 2, 4, 2, 3, 2, 3, +2, 2, 2, 6, 6, 2, 6, 2, 2, 2, 2, 10, 2, 2, 30, 7, 71, 4, 3, 5, 5, 3, 7, 2, 5, 2, 1, 4, 1, 2, 2, 2, 2, 2, 4, 2, 2, 2, 1, 1, 2, 2, 2, 5, 2, 1, 4, 3, 2, 2, 3, 3, 2, 2, 1, 4, 1, 2, 1, 2, 2, 1, 2, 4, 2, 1, 1, 2, 1, 1, 1, 2, 4, 2, 2, 3, 1, 2, 1, 1, 2, 3, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 3, 2, 3, 4, 2, 3, 3, 2, 2, 3, 5, 3, 2, 1, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 7, 2, 2, 1, 1, 4, 1, 1, 1, 1, 6, 1, 1, 1, 12, 1, 7, 1, 3, 5, 7, 3, 3, 3, 6, 2, 6, 42, 114, 1, 4, 1, 1, 3, 5, 3, 1, 1, 2, 3, 5, 2, 2, 5, 6, 6, 6, 5, 5, 4, 4, 2, 3, 2, 1, 1, 5, 1, 3, 3, 1, 1, 1, 1, 1, 4, 4, 1, 1, 2, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 5, 1, 1, 1, 2, 4, 1, 2, 3, 2, 1, 1, 2, 2, 1, 3, 3, 2, 4, 1, 1, 1, 4, 2, 1, 1, 2, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 4, 1, 3, 1, 4, 1, 4, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 3, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 3, 1, 4, 1, 2, 3, 1, 1, 1, 2, 1, 1, 2, 4, 1, 2, 1, 4, 1, 1, 1, 1, 2, 2, 2, 3, 3, 2, 2, 2, 1, 3, 1, 3, 2, 1, 4, 1, 2, 2, 2, 3, 1, 3, 2, 2, 3, 2, 2, 1, 2, 3, 2, 1, 3, 1, 2, 1, 1, 1, 2, 1, 4, 1, 2, 4, 1, 2, 2, 3, 2, 2, 1, 2, 1, 1, 3, 1, 1, 2, 3, 2, 1, 2, 2, 2, 3, 1, 2, 2, 4, 1, 2, 3, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 1, +4, 2, 2, 2, 2, 2, 2, 3, 2, 1, 2, 3, 7, 4, 4, 5, 4, 4, 2, 1, 1, 2, 2, 1, 2, 5, 3, 3, 1, 2, 3, 2, 2, 1, 4, 2, 1, 2, 2, 4, 1, 3, 2, 2, 1, 3, 2, 2, 2, 3, 3, 1, 2, 2, 1, 2, 1, 1, 2, 2, 4, 2, 2, 2, 2, 2, 2, 4, 1, 1, 2, 1, 2, 4, 1, 2, 4, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 2, 2, 2, 2, 3, 2, 2, 1, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 1, 2, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 1, 2, 1, 3, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, 3, 1, 2, 2, 3, 1, 2, 2, 1, 3, 2, 2, 1, 2, 3, 2, 2, 2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 3, 2, 1, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 3, 1, 2, 2, 2, 4, 1, 2, 2, 2, 1, 4, 1, 2, 1, 2, 4, 2, 1, 2, 2, 2, 2, 3, 2, 2, 2, 3, 2, 4, 1, 3, 1, 4, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 3, 2, 1, 1, 5, 1, 3, 2, 2, 3, 2, 3, 1, 2, 3, 1, 3, 4, 4, 1, 1, 1, 1, 2, 1, 1, 1, 2, 3, 3, 1, 2, 1, 1, 1, 2, 3, 2, 3, 2, 2, 4, 2, 2, 4, 2, 3, 2, 3, 1, 1, 1, 2, 2, 1, 2, 4, 2, 2, 4, 2, 3, 3, 2, 3, 3, 3, 8, 2, 1, 4, 5, +5, 1, 3}; +static const rle_sample_t ohmy = { .sample_rate = 4000, .root_frequency = 524 /* C5 */, .rle_data = ohmy_rle_data, .length = 1008 }; + +static const uint8_t gott_rle_data[] = {0, 2, 8, 4, 2, 2, 6, 1, 3, 2, 2, 14, 2, 6, 6, 9, 8, 1, 6, 14, 13, 1, 3, 1, 2, 1, 2, 2, 1, 2, 2, 1, 3, 1, 2, 1, 2, 2, 1, 2, 1, 3, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 3, 1, 2, 1, 2, 8, 2, 2, 5, 5, 5, 2, 4, 5, 1, 1, 3, 1, 5, 7, 3, 2, 5, 7, 2, 2, 4, 8, 2, 2, 4, 8, 2, 3, 4, 7, 2, 1, 6, 5, 4, 3, 4, 7, 2, 3, 4, 7, 2, 2, 4, 5, 1, 2, 2, 3, 4, 7, 2, 2, 4, 4, 2, 1, 3, 2, 5, 6, 3, 1, 5, 7, 3, 2, 5, 6, 8, 8, 8, 2, 1, 5, 8, 7, 9, 2, 2, 5, 7, 5, 8, 1, 1, 3, 2, 5, 6, 5, 8, 2, 1, 3, 2, 4, 6, 7, 7, 2, 1, 3, 2, 4, 7, 7, 6, 2, 1, 2, 3, 4, 6, 7, 7, 1, 1, 2, 3, 4, 5, 8, 10, 1, 3, 17, 9, 2, 2, 12, 12, 17, 9, 16, 15, 9, 2, 1, 15, 10, 17, 12, 17, 12, 3, 1, 3, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 2, 2, 1, 3, 3, 4, 4, 1, 3, 2, 2, 2, 1, 4, 2, 1, 3, 2, 3, 1, 4, 1, 3, 2, 2, 1, 1, 5, 1, 1, 7, 8, 1, 1, 2, 10, 4, 1, 2, 2, 1, 2, 1, 2, 5, 7, 7, 2, 2, 4, 2, 2, 1, 2, 2, 1, 1, 2, 11, 4, 1, 2, 2, 1, 1, 1, 1, 4, 2, 2, 8, 8, 2, 4, 3, 1, 2, 1, 8, 7, 2, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 3, 1, 1, 4, 1, 1, 2, 1, 2, 1, 3, 3, 1, 2, 1, 3, 1, 1, 1, 1, 1, 5, 6, 1, 3, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 3, 1, 2, 3, 4, 6, 1, 2, 7, 6, 5, 4, 1, 4, 3, 1, 3, 6, 6, 3, 1, 3, 8, 1, 1, 2, 6, 4, 1, 4, 7, 5, 3, 1, 2, 3, 2, 3, 3, 1, 3, 5, 3, 1, 2, 3, 2, 3, 3, 2, 2, 2, 1, 2, 5, 4, 2, 3, 2, 2, 3, 2, 2, 2, 4, 9, 3, 1, 3, 2, 2, 2, 4, 2, 1, 3, 1, 2, 3, 1, 3, 3, 1, 3, 3, 10, 7, 6, 4, 5, 1, 3, 7, 6, 4, 6, 2, 2, 7, 6, 4, 6, 1, 2, 8, 6, 4, 9, 6, 8, 4, 8, 7, 8, 4, 6, 1, 1, 7, 8, 5, 4, 2, 1, 7, 8, 5, 7, 8, 7, 6, 5, 2, 1, 6, 7, 6, 5, 10, 5, 1, 2, 4, 6, 2, 1, 6, 7, 5, 5, 2, 3, 6, 3, 2, 2, 5, 6, 7, 1, 2, 2, 1, 2, 5, 5, 2, 3, 7, 8, 3, 3, 1, 3, 1, 2, 4, 2, 2, 3, 1, 2, 2, 3, 2, 4, 3, 1, 3, 1, 2, 5, 1, 1, 5, 2, 5, 2, 1, 1, 2, 2, 2, 2, 2, 1, 4, 1, 2, 1, 9, 2, 1, 3, 2, 2, 1, 3, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 3, 2, 1, 1, 2, 2, 3, 4, 1, 2, 3, 2, 1, 1, 1, 1, 2, +1, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 6, 4, 1, 1, 6, 1, 1, 1, 4, 2, 1, 1, 1, 1, 3, 2, 2, 1, 1, 1, 5, 1, 1, 2, 6, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 4, 1, 1, 3, 1, 1, 2, 1, 1, 6, 2, 2, 1, 1, 3, 1, 2, 1, 1, 4, 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 4, 2, 1, 4, 1, 1, 1, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 7, 7, 6, 6, 8, 8, 6, 6, 8, 8, 6, 6, 8, 8, 6, 6, 8, 8, 7, 5, 9, 7, 7, 5, 8, 8, 7, 6, 7, 9, 6, 6, 8, 9, 6, 6, 9, 7, 8, 2, 3, 1, 1, 1, 4, 2, 3, 1, 1, 2, 2, 1, 1, 2, 1, 2, 2, 4, 2, 2, 2, 1, 1, 2, 3, 3, 3, 3, 5, 2, 1, 1, 2, 2, 1, 2, 2, 1, 1, 3, 2, 2, 1, 2, 4, 3, 1, 2, 2, 1, 2, 2, 2, 6, 5, 2, 2, 2, 8, 7, 2, 3, 4, 1, 2, 5, 2, 4, 1, 1, 3, 6, 5, 1, 1, 5, 2, 1, 1, 1, 11, 2, 2, 5, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 3, 3, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 3, 1, 2, 4, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, 3, 2, 1, 2, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 2, 1, 1, 4, 2, 3, 1, 1, 1, 2, 3, 2, 1, 3, 2, 2, 3, 2, 3, 4, 8, 3, 2, 5, 4, 1, 2, 1, 3, 6, 6, 3, 2, 3, 1, 2, 10, 4, 1, 2, 6, 2, 3, 3, 1, 3, 3, 1, 1, 1, 3, 5, 2, 1, 5, 2, 2, 4, 1, 2, 3, 1, 5, 5, 8, 2, 3, 3, 2, 2, 9, 6, 1, +1, 5, 2, 1, 5, 1, 1, 5, 1, 1, 1, 3, 4, 9, 1, 2, 5, 2, 1, 5, 1, 3, 1, 1, 3, 4, 1, 3, 1, 3, 1, 1, 6, 8, 2, 2, 2, 3, 2, 2, 3, 2, 5, 1, 2, 1, 1, 1, 1, 5, 2, 1, 2, 7, 3, 1, 4, 3, 3, 1, 2, 4, 2, 2, 1, 1, 2, 2, 3, 1, 4, 2, 3, 1, 2, 1, 4, 4, 3, 3, 4, 2, 1, 1, 3, 1, 1, 3, 1, 3, 8, 3, 3, 6, 1, 3, 3, 2, 6, 2, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 2, 4, 5, 1, 2, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 3, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 2, 3, 3, 1, 2, 1, 2, 3, 3, 2, 3, 1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 1, 3, 3, 3, 2, 2, 4, 2, 2, 4, 7, 2, 2, 7, 5, 2, 1, 5, 7, 2, 2, 5, 1, 2, 4, 1, 2, 4, 1, 2, 5, 1, 2, 7, 1, 2, 3, 1, 3, 3, 7, 2, 3, 4, 2, 1, 5, 1, 2, 3, 2, 2, 4, 2, 2, 7, 6, 1, 1, 5, 8, 2, 1, 5, 2, 2, 4, 1, 2, 4, 8, 1, 2, 6, 2, 1, 4, 1, 2, 4, 7, 2, 2, 5, 2, 2, 4, 2, 1, 5, 6, 3, 1, 6, 7, 1, 2, 5, 7, 3, 1, 5, 7, 1, 2, 6, 6, 2, 1, 7, 9, 5, 7, 10, 7, 1, 1, 6, 7, 10, 8, 7, 6, 10, 9, 6, 6, 11, 8, 7, 5, 11, 8, 7, 5, 3, 1, 7, 9, 6, 6, 10, 8, 7, 6, 10, 9, 6, 7, 8, 2, 2, 7, 3, 2, 3, 3, 7, 6, 8, 6, 3, 3, 7, 6, 6, 6, 8, 8, 2, 1, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 2, 1, 1, 5, 3, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 3, 1, 1, 3, 1, 1, 2, 1, 2, 4, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 4, 5, 1, 1, 5, 5, 3, 2, 3, 7, 4, 2, 3, 6, 2, 1, 2, 1, 3, 5, 5, 3, 1, 1, 1, 2, 2, 4, 7, 5, 1, 1, 5, 1, 1, 7, 3, 1, 4, 8, 4, 1, 1, 3, 1, 4, 4, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 4, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 4, 4, 1, 3, 1, 1, 1, 2, 1, 1, 2, 4, 1, 2, 1, 1, 1, 1, 3, 1, 2, 4, 1, 2, 1, 2, 2, 3, 2, 1, 1, 3, 2, 3, 3, 2, 1, 2, +1, 1, 2, 2, 3, 1, 3, 2, 1, 3, 3, 3, 1, 1, 4, 1, 3, 2, 1, 3, 1, 2, 3, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 3, 2, 3, 2, 2, 3, 4, 4, 3, 2, 3, 3, 5, 4, 2, 2, 2, 2, 5, 5, 1, 1, 1, 1, 3, 3, 6, 7, 2, 3, 3, 3, 2, 2, 3, 5, 6, 5, 2, 1, 3, 2, 4, 3, 1, 6, 2, 2, 7, 5, 1, 2, 2, 2, 4, 3, 3, 4, 2, 3, 7, 3, 2, 2, 2, 2, 5, 2, 1, 2, 1, 4, 2, 2, 5, 2, 1, 3, 2, 1, 2, 3, 4, 2, 2, 2, 1, 3, 2, 2, 7, 4, 2, 2, 2, 2, 4, 3, 1, 1, 1, 2, 1, 2, 2, 2, 5, 1, 2, 2, 2, 2, 2, 3, 3, 3, 2, 6, 2, 2, 8, 4, 1, 2, 2, 2, 4, 8, 1, 1, 2, 3, 5, 1, 1, 4, 1, 2, 2, 3, 3, 5, 4, 2, 1, 3, 6, 5, 2, 1, 2, 3, 3, 4, 1, 2, 2, 3}; +static const rle_sample_t gott = { .sample_rate = 4000, .root_frequency = 524 /* C5 */, .rle_data = gott_rle_data, .length = 1780 }; + + +static const melody_item_t kamippoina_data[] = { + {DUTY_SET, 0, 5}, + {DUTY_SET, 1, 5}, + {DUTY_SET, 2, 5}, + {DUTY_SET, 3, 5}, + + {SAMPLE_LOAD, 5, (int) &ohmy}, + {FREQ_SET, 5, 524}, + {DELAY, 0, 597}, + {FREQ_SET, 5, 0}, + + {LOOP_POINT_SET, 0, 0}, + + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 310}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 51}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 51}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 311}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 415}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 1, 415}, + {FREQ_SET, 1, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 466}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 739}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 466}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 739}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 311}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 369}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 415}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 415}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 2, 369}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 466}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 466}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 987}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 466}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 466}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 739}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 311}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 369}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 415}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 415}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 2, 369}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 466}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 466}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 155}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 51}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 310}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {FREQ_SET, 2, 207}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 2, 174}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {FREQ_SET, 2, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 415}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 174}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 466}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 310}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 310}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {FREQ_SET, 2, 207}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 2, 174}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {FREQ_SET, 2, 207}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 415}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 174}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 184}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 466}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 103}, + {FREQ_SET, 2, 207}, + {DELAY, 0, 206}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 415}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 174}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 103}, + {FREQ_SET, 2, 207}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 739}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 739}, + {FREQ_SET, 2, 415}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 138}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 174}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 138}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 138}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 174}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 2, 138}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 1108}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 138}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 174}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 138}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 138}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 174}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 138}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 1864}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 827}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 824}, + + + /* GOTT IST TOTT */ + {SAMPLE_LOAD, 5, (int) &gott}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {FREQ_SET, 4, 0}, + {FREQ_SET, 5, 524}, + {DELAY, 0, 1287}, + + {FREQ_SET, 1, 110}, + {FREQ_SET, 2, 146}, + {FREQ_SET, 3, 73}, + {FREQ_SET, 5, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 1244}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 138}, + {FREQ_SET, 2, 184}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 1244}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 2, 246}, + {FREQ_SET, 3, 123}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 739}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 277}, + {FREQ_SET, 3, 138}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 830}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 1244}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 138}, + {FREQ_SET, 2, 184}, + {FREQ_SET, 3, 92}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 1244}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 184}, + {FREQ_SET, 2, 246}, {FREQ_SET, 3, 123}, - {DELAY, 0, 240}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 739}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 277}, + {FREQ_SET, 3, 138}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 310}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 310}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 413}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 622}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 739}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 932}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 1244}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 1244}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 587}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 1244}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 207}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 207}, + {FREQ_SET, 3, 103}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 174}, + {FREQ_SET, 2, 233}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 1244}, + {FREQ_SET, 1, 77}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 116}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 698}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 96}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 6}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 116}, + {FREQ_SET, 2, 155}, + {FREQ_SET, 3, 77}, + {DELAY, 0, 413}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 277}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 311}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 369}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 415}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 415}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 2, 369}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 466}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 466}, + {FREQ_SET, 3, 174}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 987}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 310}, + {FREQ_SET, 0, 932}, + {DELAY, 0, 413}, + {FREQ_SET, 0, 830}, + {DELAY, 0, 206}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 739}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 311}, + {FREQ_SET, 2, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 1, 155}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 369}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 415}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 207}, + {FREQ_SET, 2, 415}, + {FREQ_SET, 2, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 932}, + {FREQ_SET, 2, 369}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 206}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 466}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 277}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 466}, + {FREQ_SET, 3, 174}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 0}, + {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 554}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 349}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 622}, + {FREQ_SET, 1, 233}, + {FREQ_SET, 2, 311}, + {FREQ_SET, 3, 155}, + {DELAY, 0, 155}, + {FREQ_SET, 0, 0}, + {DELAY, 0, 51}, + {FREQ_SET, 1, 0}, + {FREQ_SET, 2, 0}, {FREQ_SET, 3, 0}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 698}, + {DELAY, 0, 310}, + {FREQ_SET, 0, 622}, + {DELAY, 0, 413}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 0, 0}, + {FREQ_SET, 1, 311}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 155}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 233}, + {DELAY, 0, 103}, + {FREQ_SET, 1, 0}, }; -const melody_sequence_t skibidi = MELODY_OF(skibidi_data); +const melody_sequence_t kamippoina = MELODY_OF(kamippoina_data); const melody_sequence_t all_chime_list[] = { just_beep, @@ -5535,10 +7777,11 @@ const melody_sequence_t all_chime_list[] = { eye_opener, ark, skibidi, + kamippoina, }; const int all_chime_count = sizeof(all_chime_list)/sizeof(melody_sequence_t); -const char * all_chime_names_csv = "Just Beep,PC-98 Boot,Русь 28,Штрих-М,A.M. - Arise,Caramelldansen,BoA - Duvet,T-Square - Truth,Haruhi no Omoi,WAVE & DRAX - When Present Is Past,Hishoku no Sora,Bouken Desho Desho,Gentle Jena,Omega - Gammapolisz,Like The Wind (TMMS),NightRadio - Waiting Freqs,NightRadio - The Way,Dougal & Gammer - Guitar Hero,Hachiya Nanashi - Shabon,Gate Of Steiner,deadballP - Towa ni tsuzuku gosenfu,Cream puff - Mermaid girl,Brisk & Trixxy - Eye Opener,Hiroyuki Oshima - The Ark Awakes From The Sea Of Chaos,Skibidi Toilet,Random"; +const char * all_chime_names_csv = "Just Beep,PC-98 Boot,Русь 28,Штрих-М,A.M. - Arise,Caramelldansen,BoA - Duvet,T-Square - Truth,Haruhi no Omoi,WAVE & DRAX - When Present Is Past,Hishoku no Sora,Bouken Desho Desho,Gentle Jena,Omega - Gammapolisz,Like The Wind (TMMS),NightRadio - Waiting Freqs,NightRadio - The Way,Dougal & Gammer - Guitar Hero,Hachiya Nanashi - Shabon,Gate Of Steiner,deadballP - Towa ni tsuzuku gosenfu,Cream puff - Mermaid girl,Brisk & Trixxy - Eye Opener,Hiroyuki Oshima - The Ark Awakes From The Sea Of Chaos,Skibidi Toilet (Timbaland - Give It To Me),PinocchioP - Kamippoina (God-ish),Random"; const std::vector all_chime_names = { "Beep", "PC-98 Boot", @@ -5564,6 +7807,7 @@ const std::vector all_chime_names = { "Mermaid girl", "Eye Opener", "The Ark Awakes From The Sea Of Chaos", - "Skibidi Toilet", + "Skibidi Toilet / Give It To Me", + "Kamippoina / God-ish", "(Randomize)" }; \ No newline at end of file diff --git a/src/sound/sequencer.cpp b/src/sound/sequencer.cpp index b8f079e..4c0c28c 100644 --- a/src/sound/sequencer.cpp +++ b/src/sound/sequencer.cpp @@ -10,6 +10,7 @@ NewSequencer::NewSequencer() { // Ch 0, 1, 2, 3: tone for(int i = 0; i < TONE_CHANNELS; i++) voices[i] = new SquareGenerator(); voices[4] = new NoiseGenerator(); // Ch4: Noise + voices[5] = new Sampler(); // Ch5: RLE PWM wait_end_group = xEventGroupCreate(); } @@ -69,6 +70,9 @@ void NewSequencer::process_steps_until_delay() { case DELAY: remaining_delay_samples = cur_line->argument1 * WaveOut::BAUD_RATE / 1000; break; + case SAMPLE_LOAD: + voices[cur_line->channel]->set_parameter(ToneGenerator::Parameter::PARAMETER_SAMPLE_ADDR, cur_line->argument1); + break; default: break; } From f8b49c86b8cf0c9f9277f341e4be36d2605e83ea Mon Sep 17 00:00:00 2001 From: akasaka Date: Sun, 4 Aug 2024 10:51:54 +0900 Subject: [PATCH 26/26] Forgot the reamde and the midi; version bump --- README.md | 4 ++++ helper/chimes/kamippoina.mid | Bin 0 -> 8326 bytes include/devices/big_clock.h | 2 +- include/devices/smol_clock.h | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 helper/chimes/kamippoina.mid diff --git a/README.md b/README.md index c567ca7..9048454 100644 --- a/README.md +++ b/README.md @@ -112,9 +112,13 @@ You can also read the quest I went through trying to get it to run "in real time * [Cream puff — Mermaid girl](https://youtu.be/AaUMvgfHpUo?t=16): [MIDI](helper/chimes/mermgrl.mid) * [Brisk & Trixxy — Eye Opener](https://youtu.be/81QqHUpyBhg?t=83): [MIDI](helper/chimes/eye_opener.mid) * [Hiroyuki Oshima - The Ark Awakes From The Sea Of Chaos](https://www.youtube.com/watch?app=desktop&v=cB7eevDk1s0): [MIDI](helper/chimes/ark.mid) +* [Timbaland - Give It To Me](https://youtube.com/watch?v=RgoiSJ23cSc) also known as [Skibidi Toilet](https://youtu.be/6dMjCa0nqK0): [MIDI](helper/chimes/skibidi_toilet.mid) +* [PinocchioP - God-ish (神っぽいな)](https://www.youtube.com/watch?v=EHBFKhLUVig): [MIDI](helper/chimes/kamippoina.mid) MIDI to sequencer conversion tool (supports note events in one track only, track end event, and comment event): [midi_to_chime](helper/midi_to_chime.py) +8 bit 8 kHz wave to RLE sample conversion tool (not even reading the header, so very jank): [pwm.py](helper/pwm.py) + ## Remote Control Server There is a remote control server you can enable in settings for debugging remotely when uploading firmware via OTA, or using an emulator without any screen and buttons. diff --git a/helper/chimes/kamippoina.mid b/helper/chimes/kamippoina.mid new file mode 100644 index 0000000000000000000000000000000000000000..d52067bb1861fe931315328b6295a6b44c7d627c GIT binary patch literal 8326 zcmeHMO>Z1U5bYRYgb0a9Bx~b1z1h`jLuA=lR+5!X%b6$#L{P-nN=9=bpgCBAgT-l% znOQDyfb6cg@;mq;NSrwE8~6d?Rd>JX+0Hn-MoXMXoZfVGb#>LNny#MRhr^>xDYdH3 zsdrTVaQNLf7@b#7KYeZWldndPp1!A??5+3JlY`7WK1j4j8EcFw4>-v5K&b(=2hhF^ zt=rHdQoe`zJ;?VkFF43@=;zQgR(~%`{XEg>?_+*{W?hPPV&AQ!eTVAFKJ1JBK~~&? zyLp5AA3=VxCYLb9A#Dv0;K;KZgn2p|0;mGMt&|JTAk2RkhNDTt8==$qa5&Drmoj$V zI+{5S80Z&0Nune#J@fTpW~H0vWz(n81oy-aSMEJRrw!C z8A_eAKKUMmjU>_XUbuP>a+V|UB)ya5F7ezq6pEC$1VVJ{sYf*MM-p?8l}E_bSp*;l zguHjoK?8>k9H(P3@}MAc9tXi^w$ylj-OGyO$M<0QK{opG>FV1bd^{Xp|M2tS^&uY4 zJ${gkdex@)@!H(CY%vSOnDto}@4)FhHRl(%BSFh+Fl(RH5hH`8oa;h4vI^)ok)$%q z@;Zin7x(vNjT<>0B*m?&4}}+&9+Qb>p|i_1bAcT96%@;Bcv`Zvqp;=GdIdF$Og{c1v&-`Ns-@jT4dPt1dTXfvUE{iskX2;z@SR7Y< z-t|QGc}B<+o8xdTd*iQP)#T=3THZ|51dB^_qzUdfCGI_bY%0Y4MpSUW!CeEZG*;=! zHdb#}tJDNdsKouoTQL>lej|o)zY*Kpc-#hV9h!0r=&Y#;T2+aAjvt!}Dc{2UR+3j% zasLskxc_V>2CKt}I%4Zpi%-}yAi6mAffj3%9wcZZ6EwpTjcU>{8u!JrlW38mRhDR# zel|tUjLl_DTXF|&$#AUQ1w&|JlP*-c;ISFCmkXXwzrlC7qNl=JjXb zy0GV5!iPWpe%a6TzEb%3KTrxk4c%92E_ozzE_ozzZt%=sv*O|`zcj83%Nt1iiZ7g# z3*%Khaq%kxUXJpDZ+C29uX6hs^{U@rR{s8dXNvEt5xy5aswuvoM(fEB-%c-O`RG!j zrnm`?E+^U}$0m|E&#m`8iPV&>&{vn;>GCykLU#qJ0)oStEMi^cA^U*KoO?h-){V@#E*K2?Gs~0=? E2f*Vub^rhX literal 0 HcmV?d00001 diff --git a/include/devices/big_clock.h b/include/devices/big_clock.h index c6579bc..28288c2 100644 --- a/include/devices/big_clock.h +++ b/include/devices/big_clock.h @@ -12,7 +12,7 @@ // Plasma Information System OS (not DOS, there's no disk in it!) #define PRODUCT_NAME "PIS-OS" -#define PRODUCT_VERSION "2.3" +#define PRODUCT_VERSION "3.0" // ---- Connection to DISP BOARD ---- const gpio_num_t HWCONF_PLASMA_DATABUS_GPIOS[] = { diff --git a/include/devices/smol_clock.h b/include/devices/smol_clock.h index 9e3c7d1..16f02da 100644 --- a/include/devices/smol_clock.h +++ b/include/devices/smol_clock.h @@ -9,7 +9,7 @@ // Plasma Information System OS (not DOS, there's no disk in it!) #define PRODUCT_NAME "microPIS-OS" -#define PRODUCT_VERSION "2.3" +#define PRODUCT_VERSION "3.0" // ---- Connection to beeper ---- const gpio_num_t HWCONF_BEEPER_GPIO = GPIO_NUM_12;