From a0c046791e66fafa64202b9d9727090947b93ce2 Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Fri, 14 Nov 2025 12:55:57 -0500 Subject: [PATCH 01/13] template changes --- assets/templates/halloween.html | 86 +++++++ assets/templates/music-transcriber.html | 16 +- assets/templates/sentence-creation.html | 50 ++++- .../templates/verify-music-transcriber.html | 211 ++++++++++++++++++ 4 files changed, 350 insertions(+), 13 deletions(-) create mode 100644 assets/templates/halloween.html create mode 100644 assets/templates/verify-music-transcriber.html diff --git a/assets/templates/halloween.html b/assets/templates/halloween.html new file mode 100644 index 00000000..f0fa5a4b --- /dev/null +++ b/assets/templates/halloween.html @@ -0,0 +1,86 @@ +
+

Effect AI - Happy Halloween!!

+
+ +
+ + + +
Loading image...
+ +
+ + + +
+ + + + + + + +
diff --git a/assets/templates/music-transcriber.html b/assets/templates/music-transcriber.html index 8855c98c..4b16aad9 100644 --- a/assets/templates/music-transcriber.html +++ b/assets/templates/music-transcriber.html @@ -103,9 +103,19 @@

Validate Lyrics - Music Transcription

- Note: If the lyrics are inaudible or muffled and you can't - make out what is being said for a part of or the entire region, please input - [inaudible] for that portion. + Note: +

1. Instructions

diff --git a/assets/templates/sentence-creation.html b/assets/templates/sentence-creation.html index 7df5a493..d449c3eb 100644 --- a/assets/templates/sentence-creation.html +++ b/assets/templates/sentence-creation.html @@ -1,3 +1,4 @@ +

Effect AI - Sentence Creator

@@ -12,7 +13,8 @@

Effect AI - Sentence Creator

class="textarea" placeholder="Enter your sentence here" type="text" - v-model="tmpSentence" + v-model="sentence" + @keydown.enter.prevent >
@@ -20,8 +22,13 @@

Effect AI - Sentence Creator

By clicking this button, you accept that the sentence contributed here will be added to a publicly available cc-0 licensed dataset.

- Task incomplete - Please complete all sections of the task + :class="{'is-hidden mb-3': !tooLong}"> + Sentence is too long - Sentence should be no longer than 15 words +

+ +

+ Sentence is too short - Sentence should be longer than 4 words

+ + + +
+

Speed:

+ + + +
+ + +
+ + +
+

Full Lyrics Verification

+ +
+
+

+ {{Number(seg.start).toFixed(2)}} → {{Number(seg.end).toFixed(2)}} +

+ Now Playing +
+ + +
+
+ + + + + + + + + From 59fb43c974521c61caa87edb084d5e9c1954e2ed Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Mon, 15 Dec 2025 13:18:45 -0500 Subject: [PATCH 02/13] added new template for lyric transcription task --- .../templates/verify-music-transcriber.html | 491 ++++++++++++++---- 1 file changed, 387 insertions(+), 104 deletions(-) diff --git a/assets/templates/verify-music-transcriber.html b/assets/templates/verify-music-transcriber.html index 61250a69..f145ae82 100644 --- a/assets/templates/verify-music-transcriber.html +++ b/assets/templates/verify-music-transcriber.html @@ -6,7 +6,6 @@

Effect AI - Lyric Verification

-
Loading audio... @@ -14,45 +13,112 @@

Effect AI - Lyric Verification

- -
-

Current Playback: {{ formatTime(currentTime) }}

-
- - -
-
- - -
- -
-

Speed:

- - - -
-
- -
- -
-

Full Lyrics Verification

-
-

- {{Number(seg.start).toFixed(2)}} → {{Number(seg.end).toFixed(2)}} -

- Now Playing + +
+
+ + + + + + + + Current Playback: + {{ formatSecondsMs( + seg.currentPlayTime !== undefined + ? seg.currentPlayTime + : (isActiveSegment(seg) ? currentTime : seg.start) + ) }} + + +
+ + +
+ + + + + + + + + + + +
+
+ +
+
+ {{ w }} +
+
+ +
+
+
+ +
+
+
+ +
+ + {{ formatSecondsMs( + seg.currentPlayTime !== undefined + ? seg.currentPlayTime + : (isActiveSegment(seg) ? currentTime : seg.start) + ) }} + +
+
+
+ +

By clicking this button, you accept that the question contributed here will be added to a publicly available cc-0 licensed dataset.

+ +

+ Question is too long - Question should be no longer than 15 words +

+ +

+ Question is too short - Question should be longer than 4 words +

+ +

+ Task incomplete - Please complete all sections of the task +

+ + +
+ + + + + + + \ No newline at end of file diff --git a/assets/templates/Mozilla/spontaneous-questions/record-question.html b/assets/templates/Mozilla/spontaneous-questions/record-question.html new file mode 100644 index 00000000..565e930f --- /dev/null +++ b/assets/templates/Mozilla/spontaneous-questions/record-question.html @@ -0,0 +1,235 @@ +
+

Effect AI - Question Answering

+
+ +
+

Click Record then answer the question aloud

+
+

{{ question }}

+
+ + +
+ +
+ + + +
+ +

+ By clicking this button, you accept that the question contributed here will be added to a publicly available cc-0 licensed dataset. +

+ +

+ Task incomplete - Please complete all sections of the task +

+ +

+ File size too large. Please stop recording once you've finished answering the question. +

+ + +
+
+ + + + + diff --git a/assets/templates/Mozilla/spontaneous-questions/verify-question-recording.html b/assets/templates/Mozilla/spontaneous-questions/verify-question-recording.html new file mode 100644 index 00000000..291e950f --- /dev/null +++ b/assets/templates/Mozilla/spontaneous-questions/verify-question-recording.html @@ -0,0 +1,254 @@ +
+

Effect AI - Question Recording Verification

+ +
+ +
+
+

{{ question }}

+
+ +
+ +
+ +
+ +
+

Recording Metadata

+ +
+ +
+ +
+
+
+ +

+ Task incomplete - Please complete all sections of the task +

+ + +
+
+ + + + diff --git a/assets/templates/Mozilla/spontaneous-questions/verify-question.html b/assets/templates/Mozilla/spontaneous-questions/verify-question.html new file mode 100644 index 00000000..faa2685a --- /dev/null +++ b/assets/templates/Mozilla/spontaneous-questions/verify-question.html @@ -0,0 +1,162 @@ + +
+

Effect AI - Question Verification

+ +
+ +
+ +

Is this a valid question?

+
+

{{question}}

+
+ +
+ + + + + +
+ +

+ Task incomplete - Please complete all sections of the task +

+ + +
+ + + + + + + diff --git a/assets/templates/question-creation.html b/assets/templates/question-creation.html deleted file mode 100644 index c8d64f04..00000000 --- a/assets/templates/question-creation.html +++ /dev/null @@ -1,120 +0,0 @@ -
-

Effect AI - Question Creator

- -
- - -
- -
- - -
- -
- -
- -
  • Use correct spelling and grammar
  • -
  • Choose simple questions that are easy for anyone to understand, regardless of culture or context
  • -
  • Make sure they can be answered in just a couple of sentences
  • -
    - -
  • Solicit personally identifying information (like names or financial information)
  • -
  • Express or solicit prejudiced or offensive sentiments
  • -
  • Ask sensitive questions
  • -
    -
    - -

    By clicking this button, you accept that the sentence contributed here will be added to a publicly available cc-0 licensed dataset.

    - -

    - Task incomplete - Please complete all sections of the task -

    - - -
    - - - - - - - \ No newline at end of file From 3deed52443a3bf30bb587f730271de2dac72ed99 Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Sun, 4 Jan 2026 20:54:54 -0500 Subject: [PATCH 04/13] minor template change --- .../Azure Cognitive Speech/verify-recording-azure.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/templates/Azure Cognitive Speech/verify-recording-azure.html b/assets/templates/Azure Cognitive Speech/verify-recording-azure.html index 7eb0dfdf..d6e2e191 100644 --- a/assets/templates/Azure Cognitive Speech/verify-recording-azure.html +++ b/assets/templates/Azure Cognitive Speech/verify-recording-azure.html @@ -75,7 +75,7 @@

    Recording Metadata

    metadata, metadataFields: [ { - label: 'Does the recording clearly and correctly answer the question?', + label: 'Does the recording clearly and correctly match the sentence?', key: 'isValidated', model: "", options: [ From 5fd24fc85b72ccd251ce36e4c434c71ee4b24ec0 Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Tue, 6 Jan 2026 15:33:55 -0500 Subject: [PATCH 05/13] Small changes to spontaneous questions templates --- ...ion-creation.html => prompt-creation.html} | 28 +- ...uestion.html => record-prompt-answer.html} | 32 +-- .../verify-answer-recording.html | 245 +++++++++++++++++ ...erify-question.html => verify-prompt.html} | 50 ++-- .../verify-question-recording.html | 254 ------------------ 5 files changed, 300 insertions(+), 309 deletions(-) rename assets/templates/Mozilla/spontaneous-questions/{question-creation.html => prompt-creation.html} (86%) rename assets/templates/Mozilla/spontaneous-questions/{record-question.html => record-prompt-answer.html} (84%) create mode 100644 assets/templates/Mozilla/spontaneous-questions/verify-answer-recording.html rename assets/templates/Mozilla/spontaneous-questions/{verify-question.html => verify-prompt.html} (68%) delete mode 100644 assets/templates/Mozilla/spontaneous-questions/verify-question-recording.html diff --git a/assets/templates/Mozilla/spontaneous-questions/question-creation.html b/assets/templates/Mozilla/spontaneous-questions/prompt-creation.html similarity index 86% rename from assets/templates/Mozilla/spontaneous-questions/question-creation.html rename to assets/templates/Mozilla/spontaneous-questions/prompt-creation.html index 16242abe..fb20971c 100644 --- a/assets/templates/Mozilla/spontaneous-questions/question-creation.html +++ b/assets/templates/Mozilla/spontaneous-questions/prompt-creation.html @@ -1,32 +1,32 @@
    -

    Effect AI - Question Creator

    +

    Effect AI - Prompt Creator


    - +
    -

    By clicking this button, you accept that the question contributed here will be added to a publicly available cc-0 licensed dataset.

    +

    By clicking this button, you accept that the prompt contributed here will be added to a publicly available cc-0 licensed dataset.

    - Question is too long - Question should be no longer than 15 words + Prompt is too long - Prompt should be no longer than 15 words

    - Question is too short - Question should be longer than 4 words + Prompt is too short - Prompt should be longer than 4 words

    Effect AI - Question Creator createApp({ data() { return { - title: "Effect AI Question Creator", - tmpQuestion: "", + title: "Effect AI Prompt Creator", + tmpPrompt: "", btnLoading: false, notComplete: false, tooShort: false, @@ -87,7 +87,7 @@

    Prompt Guidelines

    What NOT to Include

      -
    • Questions that require long explanations or life stories.
    • +
    • Prompts that require long explanations or life stories.
    • Multiple questions in one prompt.
    • Requests for names, locations, or identifying details.
    • Hypothetical or fictional scenarios.
    • @@ -174,13 +174,13 @@

      4. Example Prompt Themes

      async uploadAndSubmit() { this.btnLoading = true; - const cleanQuestion = this.sanitize(this.tmpQuestion).trim(); - const wordCount = cleanQuestion.split(/\s+/).length; + const cleanPrompt = this.sanitize(this.tmpPrompt).trim(); + const wordCount = cleanPrompt.split(/\s+/).length; this.tooShort = false; this.tooLong = false; - if(this.tmpQuestion == ""){ + if(this.tmpPrompt == ""){ this.notComplete = true } else if (wordCount < 5) { this.tooShort = true; @@ -194,7 +194,7 @@

      4. Example Prompt Themes

      task: "submit", values: { taskTitle: this.title, - question: cleanQuestion, + prompt: cleanPrompt, }, }, "*" diff --git a/assets/templates/Mozilla/spontaneous-questions/record-question.html b/assets/templates/Mozilla/spontaneous-questions/record-prompt-answer.html similarity index 84% rename from assets/templates/Mozilla/spontaneous-questions/record-question.html rename to assets/templates/Mozilla/spontaneous-questions/record-prompt-answer.html index 565e930f..10638cb4 100644 --- a/assets/templates/Mozilla/spontaneous-questions/record-question.html +++ b/assets/templates/Mozilla/spontaneous-questions/record-prompt-answer.html @@ -1,11 +1,11 @@
      -

      Effect AI - Question Answering

      +

      Effect AI - Prompt Answering


      -

      Click Record then answer the question aloud

      +

      Click Record then answer the prompt aloud

      -

      {{ question }}

      +

      {{ prompt }}

      @@ -18,7 +18,7 @@

      Effect AI - Question Answering

      - By clicking this button, you accept that the question contributed here will be added to a publicly available cc-0 licensed dataset. + By clicking this button, you accept that the recording contributed here will be added to a publicly available cc-0 licensed dataset.

      @@ -26,7 +26,7 @@

      Effect AI - Question Answering

      - File size too large. Please stop recording once you've finished answering the question. + File size too large. Please stop recording once you've finished answering the prompt.

      +
      +
    + + +
    + +
    + +
    +
    +
    + +

    + Task incomplete - Please complete all required sections +

    + + +
    +
    + + + + diff --git a/assets/templates/Mozilla/spontaneous-questions/verify-question.html b/assets/templates/Mozilla/spontaneous-questions/verify-prompt.html similarity index 68% rename from assets/templates/Mozilla/spontaneous-questions/verify-question.html rename to assets/templates/Mozilla/spontaneous-questions/verify-prompt.html index faa2685a..20d508dd 100644 --- a/assets/templates/Mozilla/spontaneous-questions/verify-question.html +++ b/assets/templates/Mozilla/spontaneous-questions/verify-prompt.html @@ -1,14 +1,14 @@
    -

    Effect AI - Question Verification

    +

    Effect AI - Prompt Verification


    -

    Is this a valid question?

    +

    Is this a valid prompt?

    -

    {{question}}

    +

    {{prompt}}

    @@ -51,69 +51,69 @@

    Effect AI - Question Verification

    createApp({ data() { return { - title: "Effect AI Question Verifier", + title: "Effect AI Prompt Verifier", btnLoading: false, author: "${submissionByPeer}", // incoming result - {"timestamp": "", "submissionByPeer": "", "taskId": "", "result": "JSON_STRING"} - question: (JSON.parse("${result}")).values.question, + prompt: (JSON.parse("${result}")).values.prompt, isValidated: "", loading: true, notComplete: false, instructions: `
    -

    Verify a Question - Common Voice

    +

    Verify a Prompt

    - In this task, you will review short, simple questions written by other contributors. - Your goal is to decide whether each question is clear, natural, and suitable for collecting short spoken responses. + In this task, you will review short, simple prompts written by other contributors. + Your goal is to decide whether each prompt is clear, natural, and suitable for collecting short spoken responses.

    1. Instructions

    - Carefully read each question and decide whether it follows the guidelines below. - Mark “Yes” if the question is acceptable, “No” if it is not. - If you are unsure, you may Skip the question. + Carefully read each prompt and decide whether it follows the guidelines below. + Mark “Yes” if the prompt is acceptable, “No” if it is not. + If you are unsure, you may Skip the prompt.

    -

    Question Verification Guidelines

    +

    Prompt Verification Guidelines

      -
    • The question should be clear and easy to understand.
    • +
    • The prompt should be clear and easy to understand.
    • It should be possible to answer naturally in a short spoken response.
    • -
    • The question must use correct grammar, spelling, and punctuation.
    • +
    • The prompt must use correct grammar, spelling, and punctuation.
    • It should sound natural and conversational.
    • Casual English is fine, but phrasing should not be confusing.

    Mark as INCORRECT if you see:

      -
    • Grammar or spelling mistakes that make the question unclear.
    • +
    • Grammar or spelling mistakes that make the prompt unclear.
    • Foreign words or non English text.
    • Overly complex, abstract, or technical language.
    • Personal or identifying information requests.
    • -
    • Questions that feel unnatural, incomplete, or hard to answer.
    • -
    • Statements or sentences that are not actually questions.
    • +
    • Prompts that feel unnatural, incomplete, or hard to answer.
    • +
    • Statements or sentences that are not actually prompts.

    2. Examples

    -

    ✅ Correct Questions

    +

    ✅ Correct Prompts

      -
    • What is a small moment today that made you smile?
    • +
    • Tell a small moment today that made you smile.
    • How did you feel when you woke up this morning?
    • Can you describe a short conversation you had today?
    -

    ❌ Incorrect Questions

    +

    ❌ Incorrect Prompts

    • Tell me everything about your childhood. (too broad)
    • -
    • THIS question has RANDOM capitalization!!! (unnatural formatting)
    • -
    • The town has many people living there. (not a question)
    • +
    • THIS prompt has RANDOM capitalization!!! (unnatural formatting)
    • +
    • The town has many people living there. (this is a statement)
    • Je vais au parc ce matin. (foreign language)
    • Why is existence meaningful in modern society? (too abstract)

    3. Tips for Success

      -
    • Read the question out loud and see if it sounds natural.
    • -
    • If the question feels awkward or confusing, mark it as incorrect.
    • +
    • Read the prompt out loud and see if it sounds natural.
    • +
    • If the prompt feels awkward or confusing, mark it as incorrect.
    • If answering it would take a long time, it is probably not suitable.
    • Trust your instincts and do not overthink small details.
    @@ -146,7 +146,7 @@

    3. Tips for Success

    values: { taskTitle: this.title, author: this.author, - question: this.question, + prompt: this.prompt, isValidated: this.isValidated }, }, diff --git a/assets/templates/Mozilla/spontaneous-questions/verify-question-recording.html b/assets/templates/Mozilla/spontaneous-questions/verify-question-recording.html deleted file mode 100644 index 291e950f..00000000 --- a/assets/templates/Mozilla/spontaneous-questions/verify-question-recording.html +++ /dev/null @@ -1,254 +0,0 @@ -
    -

    Effect AI - Question Recording Verification

    - -
    - -
    -
    -

    {{ question }}

    -
    - -
    - -
    - -
    - -
    -

    Recording Metadata

    - -
    - -
    - -
    -
    -
    - -

    - Task incomplete - Please complete all sections of the task -

    - - -
    -
    - - - - From 4731f742c06d152e62b7a28e7b911da25c6330e3 Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Fri, 9 Jan 2026 17:27:56 -0500 Subject: [PATCH 06/13] fix: small template fix --- .../verify-answer-recording.html | 47 +++++++++++++++++-- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/assets/templates/Mozilla/spontaneous-questions/verify-answer-recording.html b/assets/templates/Mozilla/spontaneous-questions/verify-answer-recording.html index 293eb059..4377ca8d 100644 --- a/assets/templates/Mozilla/spontaneous-questions/verify-answer-recording.html +++ b/assets/templates/Mozilla/spontaneous-questions/verify-answer-recording.html @@ -92,7 +92,7 @@

    backgroundNoise: "", speakingPace: "", accent: "", - audioQuality: "" + audioQuality: "", }); return { @@ -179,9 +179,50 @@

    Verify Response to Prompt

    - Listen to the recording and decide whether the speaker clearly - answers the displayed prompt. + In this task, you will listen to short recordings made by other contributors. + Your goal is to decide whether the speaker clearly and appropriately answers + the prompt shown.

    + +

    1. Instructions

    +
      +
    • Listen carefully to the entire recording.
    • +
    • Check that the speaker actually responds to the displayed prompt.
    • +
    • The response should be understandable, relevant, and spoken clearly.
    • +
    • Minor accent or phrasing differences are acceptable if the prompt is answered.
    • +
    • If the audio is cut off, extremely noisy, or does not answer the prompt, mark it as Yes = No.
    • +
    + +

    2. Mark as Yes if:

    +
      +
    • The recording clearly answers the prompt.
    • +
    • The response is relevant and not off topic.
    • +
    • The speaker is easy to understand.
    • +
    • The recording is complete and not cut off.
    • +
    + +

    3. Mark as No if:

    +
      +
    • The speaker does not answer the prompt.
    • +
    • The response is unrelated, extremely vague, or nonsensical.
    • +
    • The recording is incomplete or abruptly cut off.
    • +
    • The audio is too quiet, distorted, or overwhelmed by background noise.
    • +
    • The recording contains personal or identifying information.
    • +
    + +

    4. Mark as Skip if:

    +
      +
    • You are unsure whether the response adequately answers the prompt.
    • +
    • The audio fails to play or is corrupted.
    • +
    + +

    5. Tips

    +
      +
    • Focus on whether the prompt is answered, not on perfect wording.
    • +
    • Do not judge the opinion or content of the response, only its clarity and relevance.
    • +
    • Minor speech differences are acceptable if the response is understandable.
    • +
    • Use headphones if possible.
    • +
    ` }; From cb316a4bbfed7dc7ab9ae429f46fbdd94cc1c060 Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Thu, 15 Jan 2026 12:05:37 -0500 Subject: [PATCH 07/13] tempalte changes and fixes --- .../lyric-transcriber.html} | 0 .../verify-music-transcriber.html | 0 .../Audius/lyric-transcriber-noWaveform.html | 352 ++++++++++++++++ assets/templates/Audius/song-transcriber.html | 398 ++++++++++++++++++ 4 files changed, 750 insertions(+) rename assets/templates/Audius/{music-transcriber-DEPRECATED.html => Depricated/lyric-transcriber.html} (100%) rename assets/templates/Audius/{ => Depricated}/verify-music-transcriber.html (100%) create mode 100644 assets/templates/Audius/lyric-transcriber-noWaveform.html create mode 100644 assets/templates/Audius/song-transcriber.html diff --git a/assets/templates/Audius/music-transcriber-DEPRECATED.html b/assets/templates/Audius/Depricated/lyric-transcriber.html similarity index 100% rename from assets/templates/Audius/music-transcriber-DEPRECATED.html rename to assets/templates/Audius/Depricated/lyric-transcriber.html diff --git a/assets/templates/Audius/verify-music-transcriber.html b/assets/templates/Audius/Depricated/verify-music-transcriber.html similarity index 100% rename from assets/templates/Audius/verify-music-transcriber.html rename to assets/templates/Audius/Depricated/verify-music-transcriber.html diff --git a/assets/templates/Audius/lyric-transcriber-noWaveform.html b/assets/templates/Audius/lyric-transcriber-noWaveform.html new file mode 100644 index 00000000..bcdc5bb4 --- /dev/null +++ b/assets/templates/Audius/lyric-transcriber-noWaveform.html @@ -0,0 +1,352 @@ +
    +

    Effect AI - Music Transcriber

    +

    Listen carefully and correct the lyrics below

    + +
    + +
    +
    +
    +
    + +
    +
    + +
    + +
    +

    Playback Speed:

    + + + + +
    +
    + +
    + + + +
    + +
    + + +
    + + +
    + + + +
    + + + + + diff --git a/assets/templates/Audius/song-transcriber.html b/assets/templates/Audius/song-transcriber.html new file mode 100644 index 00000000..6cde65a8 --- /dev/null +++ b/assets/templates/Audius/song-transcriber.html @@ -0,0 +1,398 @@ + + + + + +
    +

    Effect AI - Lyric Verification

    +

    Listen to the full song and verify all transcribed lyrics

    + +
    + +
    +
    +
    + Loading audio... + +
    +
    +
    + +
    + + +
    + +

    + Task incomplete - Please resolve all warnings before submitting. +

    + + +
    + + +
    From 01528a9802ceb113d9554fa5fb676fa39d32de14 Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Wed, 28 Jan 2026 12:06:33 -0500 Subject: [PATCH 08/13] song validation task rework --- .../{ => Depricated}/song-transcriber.html | 0 assets/templates/Audius/song-validation.html | 949 ++++++++++++++++++ 2 files changed, 949 insertions(+) rename assets/templates/Audius/{ => Depricated}/song-transcriber.html (100%) create mode 100644 assets/templates/Audius/song-validation.html diff --git a/assets/templates/Audius/song-transcriber.html b/assets/templates/Audius/Depricated/song-transcriber.html similarity index 100% rename from assets/templates/Audius/song-transcriber.html rename to assets/templates/Audius/Depricated/song-transcriber.html diff --git a/assets/templates/Audius/song-validation.html b/assets/templates/Audius/song-validation.html new file mode 100644 index 00000000..31cb8b25 --- /dev/null +++ b/assets/templates/Audius/song-validation.html @@ -0,0 +1,949 @@ + + + + + Effect AI - Lyric Verification + + + + + + + +
    +
    + +

    {{ title }}

    + + +
    + Loading audio… + +
    + + +
    + + +
    +
    +
    + +
    + +
    + +
    + +
    + + +
    + +
    + Current: {{ formatTime(currentTime) }} +
    +
    + +
    +
    +
    Start
    + +
    + +
    +
    End
    + +
    +
    + + +
    + + +
    +
    + + +
    + + ⚠️ {{ warning }} + +
    + + +
    + + + + +
    +
    +
    Start
    + +
    + +
    +
    End
    + +
    + +
    +
    Current
    + {{ formatTime(currentTime) }} +
    +
    + + + +
    + + +
    + + + + +
    +
    +
    Start
    + +
    + +
    +
    End
    + +
    +
    + + +
    +
    Current
    + {{ formatTime(currentTime) }} +
    +
    + + + + +
    + +
    + +
    +
    + + +
    +

    + ⚠️ Please resolve all overlap warnings before submitting +

    + +
    + +
    + + +
    + +
    +
    + + + + \ No newline at end of file From 54d16baeb21317878ea64331d644c0221139dee1 Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Wed, 25 Feb 2026 22:35:35 -0500 Subject: [PATCH 09/13] changes to track-tagger task --- assets/templates/Audius/track-tagger.html | 254 ++++++++++++++++------ 1 file changed, 188 insertions(+), 66 deletions(-) diff --git a/assets/templates/Audius/track-tagger.html b/assets/templates/Audius/track-tagger.html index 8afe21d2..7e295a2a 100644 --- a/assets/templates/Audius/track-tagger.html +++ b/assets/templates/Audius/track-tagger.html @@ -1,90 +1,202 @@ -
    -

    Effect AI - Track Tagger

    + -
    +
    +

    Effect AI - Track Tagger

    -
    -
    - -

    +

    Task incomplete - Please complete all sections of the task

    -
    -

    Genre:

    -
    - - - - - - - - - -
    - +
    +

    🎵 Genre

    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    +
    + +
    -
    - -
    -

    Mood:

    -
    - - - - - - +
    +

    🎙️ Vocal Presence

    +
    +
    + + +
    +
    + + +
    +
    + + +
    -
    - -
    -

    Energy Level:

    -
    - - - +
    +

    🎤 Lyric Clarity

    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    -
    - -
    -

    Danceability:

    -
    - - - +
    +

    💭 How it makes you feel

    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    -
    - -
    -

    Vocal Presence:

    -
    - - - +
    +

    💃 Danceability

    +
    +
    + + +
    +
    + + +
    +
    + + +
    -
    - @@ -111,21 +223,31 @@

    Vocal Presence:

    notComplete: false, selectedGenre: "", selectedMood: "", - selectedEnergy: "", + selectedClarity: "", selectedDance: "", selectedVocals: "", selectedGenreOther: "", instructions: `
    -

    *NOTE*

    +

    Song Tagging Instructions

    - Songs may take a few seconds to load. If the song does not load in a reasonable amount of time, please report the task using the report button. + Listen to the track and tag it with appropriate attributes. Your input helps improve music discovery and organization.




    -
  • Listen to at least a few seconds of the song before answering the questions.
  • +

    Guidelines:

    +
  • Genre: Select the primary genre of the track. If it doesn't fit standard genres, choose "Other" and specify.
  • +
  • How it makes you feel: Choose the emotion or mood that best describes how the track makes you feel.
  • +
  • Lyric Clarity: Rate how clear and understandable the lyrics are. Choose "Instrumental" if there are no vocals.
  • +
  • Danceability: Assess how suitable the track is for dancing based on rhythm and tempo.
  • +
  • Vocal Presence: Indicate if the track is instrumental or has single/multiple vocalists.
  • +


    +

    Important Notes:

    +
  • Songs may take a few seconds to load. If the song does not load in a reasonable amount of time, please report the task.
  • +
  • Listen to at least 30 seconds of the song before answering the questions.
  • Try to be accurate — guess only if you genuinely can't tell.
  • Use headphones or a quiet environment for the best experience.
  • -
  • If the song abruptly cuts off, is silent, or sounds corrupted, report it.
  • +
  • If the song abruptly cuts off, is silent, or sounds corrupted, please report it.
  • +
  • All fields are required before you can submit.
  • ` }; }, @@ -144,7 +266,7 @@

    *NOTE*

    methods: { async uploadAndSubmit() { this.btnLoading = true; - const fields = [this.selectedGenre, this.selectedMood, this.selectedEnergy, this.selectedDance, this.selectedVocals]; + const fields = [this.selectedGenre, this.selectedMood, this.selectedClarity, this.selectedDance, this.selectedVocals]; if (fields.some(field => field === "")) { this.notComplete = true } @@ -159,11 +281,11 @@

    *NOTE*

    song: this.songSource, genre: this.selectedGenre, mood: this.selectedMood, - energy: this.selectedEnergy, + clarity: this.selectedClarity, dance: this.selectedDance, vocals: this.selectedVocals, } - + }, }, "*", From cf6339c0f02e77e4e76dc37d0e723a3f5b4150e4 Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Wed, 11 Mar 2026 10:55:24 -0400 Subject: [PATCH 10/13] fixing regex bug --- apps/task-poster/src/fetcher.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/apps/task-poster/src/fetcher.ts b/apps/task-poster/src/fetcher.ts index 89aac7a1..588d4beb 100644 --- a/apps/task-poster/src/fetcher.ts +++ b/apps/task-poster/src/fetcher.ts @@ -436,7 +436,14 @@ export const getTasks = async (fetcher: Fetcher, csv: string) => { const iterator = db.iterate(["fetcher", sId, sFId, "done", {}], undefined, true); // the high water mark - const regex = new RegExp(fetcher.pipelineFilterRegex as string); + let regex: RegExp | null = null; + if (fetcher.pipelineFilterRegex) { + try { + regex = new RegExp(fetcher.pipelineFilterRegex as string); + } catch (e) { + console.error("Invalid pipelineFilterRegex, skipping filter:", fetcher.pipelineFilterRegex); + } + } let dataQueue: any[] = []; for await (const taskId of iterator) { @@ -450,7 +457,7 @@ export const getTasks = async (fetcher: Fetcher, csv: string) => { } // regex filter - if (!task.result || regex.test(task.result) || task.result == "") { + if (!task.result || (regex && regex.test(task.result)) || task.result == "") { continue; } From 9feff61239fdc85844be98a0187730f25d27f664 Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Mon, 16 Mar 2026 10:55:20 -0400 Subject: [PATCH 11/13] adding new template --- .../verify-sentence-nonpipeline.html | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 assets/templates/Mozilla/sentence-creation/verify-sentence-nonpipeline.html diff --git a/assets/templates/Mozilla/sentence-creation/verify-sentence-nonpipeline.html b/assets/templates/Mozilla/sentence-creation/verify-sentence-nonpipeline.html new file mode 100644 index 00000000..205e8fac --- /dev/null +++ b/assets/templates/Mozilla/sentence-creation/verify-sentence-nonpipeline.html @@ -0,0 +1,146 @@ + +
    +

    Effect AI - Sentence Verification

    + +
    + +
    + +

    Is a linguistically correct sentence?

    +
    +

    {{sentence}}

    +
    + +
    + + + + + +
    + +

    + Task incomplete - Please complete all sections of the task +

    + + +
    + + + + + + + From eeb3b0da2288ed0665fb4de39a87679274401e9e Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Mon, 23 Mar 2026 16:56:31 -0400 Subject: [PATCH 12/13] adding image annotation task + taskposter template preview fix --- apps/task-poster/src/templates.ts | 22 +- apps/worker-app/app/pages/index.vue | 2 +- .../bounding-box-labeler.html | 1050 +++++++++++++++++ 3 files changed, 1064 insertions(+), 10 deletions(-) create mode 100644 assets/templates/Image Annotation/bounding-box-labeler.html diff --git a/apps/task-poster/src/templates.ts b/apps/task-poster/src/templates.ts index 68ea2d89..7c269e49 100644 --- a/apps/task-poster/src/templates.ts +++ b/apps/task-poster/src/templates.ts @@ -73,11 +73,16 @@ const findTemplateFields = (html: string) => { const re = /\$\{([^}]+)\}/g; const matches: string[][] = []; let m; - do { - const m = re.exec(html); - if (m) matches.push(m.slice(0, 3)); - } while (m); - return matches; + while ((m = re.exec(html))) { + matches.push(m.slice(0, 2)); + } + // Deduplicate by field name + const seen = new Set(); + return matches.filter(([_, name]) => { + if (seen.has(name)) return false; + seen.add(name); + return true; + }); }; const form = (msg = "", values: Record = {}): string => ` @@ -117,12 +122,11 @@ ${fields.map( + id="f${name}" name="${name}" type="text">`, +).join("")} -`, -)} `; const templatePreviewFrame = async ( @@ -317,7 +321,7 @@ export const addTemplateRoutes = (app: Express): void => { width="100%" srcdoc="${escapeHTML(renderedTemplate)}"> -${templateDataForm(escapeHTML(html), fields, req.body)}`); +${templateDataForm(html, fields, req.body)}`); }); app.post("/t/:id", requireAuth, async (req, res) => { diff --git a/apps/worker-app/app/pages/index.vue b/apps/worker-app/app/pages/index.vue index fd45c2ae..ffc59b66 100644 --- a/apps/worker-app/app/pages/index.vue +++ b/apps/worker-app/app/pages/index.vue @@ -144,4 +144,4 @@ function prevPage() { #dashboard { background: black !important; } - + \ No newline at end of file diff --git a/assets/templates/Image Annotation/bounding-box-labeler.html b/assets/templates/Image Annotation/bounding-box-labeler.html new file mode 100644 index 00000000..8cbb4928 --- /dev/null +++ b/assets/templates/Image Annotation/bounding-box-labeler.html @@ -0,0 +1,1050 @@ + + +
    +

    Effect AI - Bounding Box Labeler

    +

    Draw bounding boxes around objects in the image

    + +
    + +
    + + +
    + Drawing label: +
    + +
    + +
    + +

    Select a label, then click and drag to draw. Shift+scroll to zoom. Ctrl+click a box to delete it.

    +

    Select a label, then tap and drag to draw. Pinch to zoom, two fingers to pan.

    + + +
    +
    + Zoom: + + {{ zoomSlider }}% +
    + + +
    + + +
    + +
    + + +
    +
    Loading image...
    + +
    +

    The image could not be loaded. You may skip this task.

    + +
    +
    + + +
    +

    Failed to load image. You may skip this task.

    + +
    + + +
    + +
    + +
    + + +
    +

    Labels Checklist

    +
    + + + + {{ label }} + {{ boxCountFor(label) }} boxes + selected + +
    +
    + +
    + + +
    +

    Drawn Boxes ({{ boxes.length }})

    +
    +
    + + {{ box.label }} +
    + +
    +
    + +
    + No bounding boxes drawn yet. Select a label and draw on the image. +
    + +
    + + +

    + Task incomplete – Every label must have at least one bounding box +

    +

    + Missing: {{ missingLabels.join(', ') }} +

    + + + +
    + + + + + + +
    From d7e333b55fc54168cfeec1bd4e60d15d90b97a61 Mon Sep 17 00:00:00 2001 From: Miguel Nobre Date: Mon, 23 Mar 2026 17:07:15 -0400 Subject: [PATCH 13/13] template name change --- .../{lyric-transcriber-noWaveform.html => lyric-transcriber.html} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename assets/templates/Audius/{lyric-transcriber-noWaveform.html => lyric-transcriber.html} (100%) diff --git a/assets/templates/Audius/lyric-transcriber-noWaveform.html b/assets/templates/Audius/lyric-transcriber.html similarity index 100% rename from assets/templates/Audius/lyric-transcriber-noWaveform.html rename to assets/templates/Audius/lyric-transcriber.html