Skip to content

Commit

Permalink
Initial Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
unclecode committed Jul 20, 2024
0 parents commit 148441b
Show file tree
Hide file tree
Showing 20 changed files with 4,005 additions and 0 deletions.
133 changes: 133 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

tmp/
vanilajs/
20 changes: 20 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Copyright (c) 2012-2024 Scott Chacon and others

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
79 changes: 79 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# 🎙️ Claude AI Speech-to-Text Chrome Extension 🤖

## Why This Extension? 🤔

Hey there!

I don't know if you've felt this way, but I love using AI assistants like Claude. Recently, I found myself wishing I could talk to Claude instead of typing all the time. I enjoyed the speech-to-text feature when communicating with ChatGPT, and I wanted the same experience with Claude.

That's when I had an idea: why not create a Chrome extension to bring this functionality to Claude? I like Groq's super-fast Whisper model, and I also appreciate the power of local processing using WebGPU. So, I decided to create an extension that offers both options.

This Chrome extension has been a game-changer for me personally, making my interactions with Claude more natural and efficient. I hope it can do the same for you!

## Features 🚀

- 🎤 Adds a microphone button to Claude AI's text input area
- 🔄 Two speech-to-text conversion methods:
1. Groq API (using Whisper model)
2. Transformer.js (local processing with WebGPU)
- 🔀 Switch between conversion methods easily
- 🔒 Privacy-focused design

## Two Powerful Approaches 💪

### 1. Groq API - Speed and Accuracy ⚡

If you're looking for lightning-fast transcription, the Groq API is the way to go. It uses the Whisper model, which is known for its speed and accuracy. This option is perfect when you need quick, reliable transcriptions and don't mind using an external API.

### 2. Transformer.js - Local Processing 💻

For those who prefer to keep everything on their local machine, we've integrated Transformer.js. This approach leverages your computer's Web GPU capabilities to process speech-to-text locally. While it might not be as fast as Groq, it offers the benefit of complete privacy and works offline.

You can easily switch between these two methods depending on your needs - whether you prioritize speed or local processing.

## Installation 📥

### From Chrome Web Store (Coming Soon! 🔜)

Great news! The extension will be available on the Chrome Web Store in the next few days. This will make installation quick and easy. Stay tuned for the link!

### From GitHub (Available Now! 🎉)

1. Clone this repository or download it as a ZIP file
2. Unzip the file (if downloaded as ZIP)
3. Open Chrome and go to `chrome://extensions/`
4. Enable "Developer mode" in the top right corner
5. Click "Load unpacked" and select the extension directory

## Usage 🔧

1. After installation, head over to the Claude AI interface
2. Look for the new microphone button next to the text input area
3. Click it and start talking - it's that simple!
4. Watch as your words appear in the input box

### Switching Conversion Methods 🔄

- Check out the extension settings to choose between Groq API and Transformer.js
- To use Groq API, you'll need to provide your API token in the settings

## Privacy and Security 🛡️

- Your Groq API token is stored safely in your browser's local storage
- All speech-to-text conversion happens on your device when using Transformer.js

## Contributing 🤝

Got ideas to make this even better? Feel free to submit a Pull Request!

## License 📄

MIT License

## Disclaimer ⚠️

This is an unofficial extension and is not affiliated with Anthropic (creators of Claude AI) or Groq.

## Let's Make AI Conversations More Natural! 💬

I hope this extension enhances your Claude AI experience as much as it has mine. Whether you prefer the speed of Groq or the privacy of local processing, this tool aims to make your interactions with Claude more natural and efficient. Enjoy!
Loading

0 comments on commit 148441b

Please sign in to comment.