diff --git a/README.md b/README.md index cd8c9888..ddfd9cff 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,27 @@ # Audemy -Audemy is an educational platform dedicated to empowering blind and visually impaired learners by providing accessible and interactive resources. +Audemy is a 501(c)(3) nonprofit organization reimagining education through the lens of accessibility, inclusion, and intelligent design. We build open-source tools, creative media, and assistive technologies that empower blind and visiually impaired learners. -Supported by a global team of 30 volunteers, Audemy has already impacted over 1,000 blind students across 7 schools worldwide, promoting independence, creativity, and a love for learning. +Our mission is to ensure that every child, regardless of ability or background, has access to joyful, high-quality education. -As part of its mission, Audemy continues to innovate in educational assistive technology, proving that tech has the power to create equal opportunities for everyone. +OUR REACH: +🎧 10,000+ blind and low-vision students served + +🌍 15+ countries, including the U.S., India, Brazil, Nigeria, and the Philippines + +🧑‍🤝‍🧑 60+ volunteers powering research, design, and deployment + +💵 $200,000 raised from Intel, Taco Bell Foundation, NCWIT, and local scholarships + + +Audemy’s educational games are: + +🎙️ Audio-based: Designed for screen-free learning + +🧠 AI-enhanced: Personalized with generative voice AI + +🎶 Emotionally responsive: Games that laugh, cheer, and encourage + +🧩 Curriculum-aligned: Covers foundational math, science, and language + + Visit audemy.org to learn more, or reach out at crystal [at] audemy [dot] org diff --git a/public/assets/images/impact/NPR-app.jpg b/public/assets/images/impact/NPR-app.jpg new file mode 100644 index 00000000..a108ca3b Binary files /dev/null and b/public/assets/images/impact/NPR-app.jpg differ diff --git a/public/assets/images/impact/PBS-student-developes-app.png b/public/assets/images/impact/PBS-student-developes-app.png new file mode 100644 index 00000000..a47b3751 Binary files /dev/null and b/public/assets/images/impact/PBS-student-developes-app.png differ diff --git a/public/assets/images/impact/acm-chi-2025.png b/public/assets/images/impact/acm-chi-2025.png new file mode 100644 index 00000000..bee0a52e Binary files /dev/null and b/public/assets/images/impact/acm-chi-2025.png differ diff --git a/public/assets/images/impact/acm-icmi-2024.png b/public/assets/images/impact/acm-icmi-2024.png new file mode 100644 index 00000000..6172a43f Binary files /dev/null and b/public/assets/images/impact/acm-icmi-2024.png differ diff --git a/public/assets/images/impact/authority-magazine.png b/public/assets/images/impact/authority-magazine.png new file mode 100644 index 00000000..3b6dfc3e Binary files /dev/null and b/public/assets/images/impact/authority-magazine.png differ diff --git a/public/assets/images/impact/devpost.png b/public/assets/images/impact/devpost.png new file mode 100644 index 00000000..9b21d19c Binary files /dev/null and b/public/assets/images/impact/devpost.png differ diff --git a/public/assets/images/impact/katy-student-develops.png b/public/assets/images/impact/katy-student-develops.png new file mode 100644 index 00000000..6a1aec0c Binary files /dev/null and b/public/assets/images/impact/katy-student-develops.png differ diff --git a/public/assets/images/impact/meet-crystal-yang.png b/public/assets/images/impact/meet-crystal-yang.png new file mode 100644 index 00000000..c156eca8 Binary files /dev/null and b/public/assets/images/impact/meet-crystal-yang.png differ diff --git a/public/assets/images/impact/points-of-light.png b/public/assets/images/impact/points-of-light.png new file mode 100644 index 00000000..ff93c41f Binary files /dev/null and b/public/assets/images/impact/points-of-light.png differ diff --git a/public/assets/images/impact/voyage-houston.png b/public/assets/images/impact/voyage-houston.png new file mode 100644 index 00000000..87ce63b9 Binary files /dev/null and b/public/assets/images/impact/voyage-houston.png differ diff --git a/public/assets/images/impact/yahoo-news.png b/public/assets/images/impact/yahoo-news.png new file mode 100644 index 00000000..87e89f47 Binary files /dev/null and b/public/assets/images/impact/yahoo-news.png differ diff --git a/src/Utilities/openvinoSpeechRec b/src/Utilities/openvinoSpeechRec new file mode 100644 index 00000000..dd119b62 --- /dev/null +++ b/src/Utilities/openvinoSpeechRec @@ -0,0 +1,112 @@ +""" +Copyright (c) 2018-2024 Intel Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +""" + +from ..representation import ( + CharacterRecognitionAnnotation, + CharacterRecognitionPrediction, +) +from .metric import PerImageEvaluationMetric +from .distance import editdistance_eval + + +class SpeechRecognitionWER(PerImageEvaluationMetric): + __provider__ = 'wer' + annotation_types = (CharacterRecognitionAnnotation,) + prediction_types = (CharacterRecognitionPrediction,) + + def configure(self): + self.words = 0 + self.score = 0 + + def update(self, annotation, prediction): + cur_score = editdistance_eval(annotation.label.split(), prediction.label.split()) + cur_words = len(annotation.label.split()) + self.score += cur_score + self.words += cur_words + return cur_score / cur_words if cur_words != 0 else 0 + + def evaluate(self, annotations, predictions): + return self.score / self.words if self.words != 0 else 0 + + def reset(self): + self.words, self.score = 0, 0 + + @classmethod + def get_common_meta(cls): + meta = super().get_common_meta() + meta['target'] = 'higher-worse' + return meta + + +class SpeechRecognitionCER(PerImageEvaluationMetric): + __provider__ = 'cer' + annotation_types = (CharacterRecognitionAnnotation,) + prediction_types = (CharacterRecognitionPrediction,) + + def configure(self): + self.length = 0 + self.score = 0 + + def update(self, annotation, prediction): + cur_score = editdistance_eval(annotation.label, prediction.label) + cur_length = len(annotation.label) + self.score += cur_score + self.length += cur_length + return cur_score / cur_length if cur_length != 0 else 0 + + def evaluate(self, annotations, predictions): + return self.score / self.length if self.length != 0 else 0 + + def reset(self): + self.length, self.score = 0, 0 + + @classmethod + def get_common_meta(cls): + meta = super().get_common_meta() + meta['target'] = 'higher-worse' + return meta + + +class SpeechRecognitionSER(PerImageEvaluationMetric): + __provider__ = 'ser' + + annotation_types = (CharacterRecognitionAnnotation,) + prediction_types = (CharacterRecognitionPrediction,) + + def configure(self): + self.length = 0 + self.score = 0 + + def update(self, annotation, prediction): + # remove extra whitespaces + gt_label = ' '.join(annotation.label.split()) + pred_label = ' '.join(prediction.label.split()) + ser = int(gt_label != pred_label) + self.score += ser + self.length += 1 + return ser + + def evaluate(self, annotations, predictions): + return self.score / self.length if self.length != 0 else 0 + + def reset(self): + self.length, self.score = 0, 0 + + @classmethod + def get_common_meta(cls): + meta = super().get_common_meta() + meta['target'] = 'higher-worse' + return meta diff --git a/src/pages/Impact/PressList/PressList.vue b/src/pages/Impact/PressList/PressList.vue index 6dc52c51..713eabb5 100644 --- a/src/pages/Impact/PressList/PressList.vue +++ b/src/pages/Impact/PressList/PressList.vue @@ -1,92 +1,211 @@ + + image + + + \ No newline at end of file diff --git a/src/pages/Impact/PressList/PressListCard.vue b/src/pages/Impact/PressList/PressListCard.vue index 43985993..68f248bc 100644 --- a/src/pages/Impact/PressList/PressListCard.vue +++ b/src/pages/Impact/PressList/PressListCard.vue @@ -1,47 +1,52 @@ + + \ No newline at end of file