Skip to content

Sound processing using FFT #375

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

Draft
wants to merge 34 commits into
base: master
Choose a base branch
from

Conversation

Unknown15082
Copy link
Member

Description

Created a new modules (sound_fft) for sound processing and analysis.
Modified plotly for visualizing sound in time domain and frequency domain.
Introduced a list of APIs for students to create their own sound filter and apply them to sound.

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.

  • Test A
  • Test B

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

Sorry, something went wrong.

Unknown15082 and others added 30 commits February 19, 2025 12:41
Currently eliminating the first and fourth quarter of frequency
playFFT takes in a filter, which for now can be created with lowPassFilter

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
added minimal buggy example

Verified

This commit was signed with the committer’s verified signature.
Unknown15082 Unknown

Verified

This commit was signed with the committer’s verified signature.
Unknown15082 Unknown

Verified

This commit was signed with the committer’s verified signature.
Unknown15082 Unknown

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added methods to plot time-domain and frequency-domain samples in the plotly module.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added direct conversions between Sound and FrequencyList in sound_fft

- Added definition for FrequencyList type.
- Added public methods sound_to_frequency and frequency_to_sound for direct conversion between Sound and FrequencyList types.
- Copied the functions next_power_of_2 and sound_to_time_samples from sound module into sound_fft module. Hopefully they can be deleted from sound module eventually.
- Added sound_fft/sound_functions.ts to allow sound_fft to use some select functions from sound, as there are still issues with importing.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Renamed `draw_sound_frequency_samples_2d` to `draw_sound_frequency_2d`. The new `draw_sound_frequency_2d` takes in a `FrequencyList` instead of `FrequencySamples`, and plots the full graph (up to sample rate) instead of half.

Also removed `draw_sound_time_samples_2d`.

Verified

This commit was signed with the committer’s verified signature.
Unknown15082 Unknown

Verified

This commit was signed with the committer’s verified signature.
Unknown15082 Unknown
…lude frequency range.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added frequency augmentation

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed issue where long sounds cannot be converted to frequencies

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Made low_pass_filter and high_pass_filter symmetric

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge source-academy/modules into Unknown15082/modules

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
press-sutart and others added 4 commits April 15, 2025 19:38

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
added points limit to plotly sound drawing functions

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
added documentation to sound_fft and fixed some in plotly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants