Skip to content

Pitch Perfect Tuner API using Golang and Hexagonal Architecture / Ports & Adapters

License

Notifications You must be signed in to change notification settings

psavelis/go-tuner-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-tuner-api

Golang AudioProcessing Ports and Adapters

1. How to run 🚀

Running the API using docker-compose

docker-compose up

Running the API without Docker

$ go run cmd/main.go 

2. Using the tune endpoint 🎵

Easily use the /tune/:frequency endpoint

# example for retrieving a Note from 440.1Hz
curl http://localhost:3000/tune/440.1

🎶 Sample response:

{
  "id": "1",
  "name": "A4",
  "keyNumber": 49,
  "frequency": {
    "min": 408.87616512680097,
    "max": 456.5655947149062
  },
  "pitchPerfect": 432
}

Roadmap 📈:

Status Feature
Dockerfile
Docker-compose
K8s deployment
Automated deploy
Unit tests
⬜️ gRPC Adapter
⬜️ App (frontend client) (wip)

Sample client use case 🔍:

  • UC01 - Dummy Nextjs client application through browser's AudioContext (MediaStreamSource and FFT) input

sample client