Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DO NOT MERGE] Sim changes for forthcoming beta MicroPython release #113

Draft
wants to merge 36 commits into
base: main
Choose a base branch
from

Commits on Mar 21, 2024

  1. Work towards building on the audio-recording branch

    On the basis that's as close as we can get to the beta for now.
    Still has HAL issues.
    
    One local change to MicroPython was needed to include mphal.h in
    modspeech - need to review how this works for the non-sim build as it
    seems like it should be included.
    microbit-matt-hillsdon committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    699a2d7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    202c7fd View commit details
    Browse the repository at this point in the history
  3. Add pin touches sample

    microbit-grace committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    41ff6b0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    292addc View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2024

  1. WIP record audio

    microbit-grace committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    b73637d View commit details
    Browse the repository at this point in the history
  2. Initial steps towards microphone HAL

    Audio format needs some investigation - MediaRecorder might not be the
    right approach.
    microbit-matt-hillsdon committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    1b9465a View commit details
    Browse the repository at this point in the history
  3. Microphone: get as far as reading samples

    We'll still need to resample them and write them to the buffer.
    microbit-matt-hillsdon committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    9cc4b2b View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Configuration menu
    Copy the full SHA
    c971228 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. Configuration menu
    Copy the full SHA
    3c4a79c View commit details
    Browse the repository at this point in the history
  2. Remove unused HAL method

    Closes #101
    microbit-matt-hillsdon committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    7aaa800 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c562955 View commit details
    Browse the repository at this point in the history
  4. Safari 13 compatible speech option

    Needs testing but likely closes #110
    microbit-matt-hillsdon committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    88e2baf View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    41e7ce3 View commit details
    Browse the repository at this point in the history
  6. WIP

    microbit-matt-hillsdon committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    2916e18 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    62a338e View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2024

  1. Update

    microbit-matt-hillsdon committed Apr 2, 2024
    Configuration menu
    Copy the full SHA
    8eb6fa7 View commit details
    Browse the repository at this point in the history
  2. Roughly works

    Edge cases need checking. Requires a higher AUDIO_CHUNK_SIZE which has
    other consequences but 4ms is too short.
    microbit-matt-hillsdon committed Apr 2, 2024
    Configuration menu
    Copy the full SHA
    26a4ee4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2cda4d2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d232569 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    19b095b View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2024

  1. Configuration menu
    Copy the full SHA
    90292b6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3c30c59 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4f1baa3 View commit details
    Browse the repository at this point in the history
  4. Fix PR feedback

    - Fix missing typescript types
    - Use Safari 13 compatible OfflineAudioContext constructor - this may
      prove pointless due to lack of < 44100 sample rate support, but is an
      easier starting point to try things out.
    microbit-matt-hillsdon committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    ef44717 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5907c05 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2024

  1. Remove browser tab mic indicator

    by stopping micStream tracks
    microbit-grace committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    4ed8c93 View commit details
    Browse the repository at this point in the history
  2. Activate sim mic light when recording

    Passing this.microphone.microphoneOn/Off functions as BoardAudio constructors in  board/index.ts didn't work for some reasons. The microphone element was flagged as being undefined. So instead I passed the element directly into the BoardAudio constructor, which worked.
    microbit-grace committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    aea7937 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2024

  1. Configuration menu
    Copy the full SHA
    8798367 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4da3f33 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2024

  1. Update to latest

    Enable a larger audio buffer
    microbit-matt-hillsdon committed May 23, 2024
    Configuration menu
    Copy the full SHA
    6042086 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    06b4549 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2024

  1. Audio fixes

    - Use smaller buffer to avoid too much audio after wait=True
    - Don't reset nextStartTime to avoid overlapping audio
    - Add indirection to callback so we can clear it properly to avoid
      calling it when audio finishes after MicroPython has terminated
    microbit-matt-hillsdon committed May 24, 2024
    Configuration menu
    Copy the full SHA
    b887f22 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. Update MicroPython to fix silent frames issue

    Remove our workaround
    microbit-matt-hillsdon committed May 28, 2024
    Configuration menu
    Copy the full SHA
    34e45b3 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. Update MicroPython

    Adjust build and samples for record/playback
    No HAL changes but the API has changed
    microbit-matt-hillsdon committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    7d84c58 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2024

  1. Configuration menu
    Copy the full SHA
    677585f View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2024

  1. Resample via a libsamplerate (#117)

    We need to do this for recording as we can't specify a rate.
    
    We need to do this for playback for sample rates outside of the
    browser's supported range. That includes the current default rate for
    Firefox and older Safari.
    
    Uses a resampler build that doesn't support medium/best to save on
    bundle size.
    
    I've also increased the buffer size so I can play a 44k sample in an
    OK-ish way. Maybe 256 will be needed.
    
    We know Firefox on Windows still performs poorly. It did badly with
    audio before these changes.
    
    Another significant issue is that it can take 3 seconds to call getUserMedia on Desktop Safari.
    microbit-matt-hillsdon authored Aug 28, 2024
    Configuration menu
    Copy the full SHA
    ab07528 View commit details
    Browse the repository at this point in the history