Skip to content

REST API that takes in a audio file and returns the waveform data.

Notifications You must be signed in to change notification settings

noorfathima11/audio-wave-generator-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Basic requirement:

  • Accepts a music file
  • Returns the waveform data

Project Workflow:

  • Initializing the project with npm
  • Creating a server to accept requests
  • Defining the routes: This microservice has only one endpoints: 2) A 'Waveform' (/soundWave) endpoint which will return the waveform data.

Message Queue and System Design: https://www.youtube.com/watch?v=oUJbuFMyBDk

  • Will be using RabbitMQ

Uploading the music file: Accepting and storing files:

  • We do this for soundWave - We POST a new music file We accept a music file Store it on disk

  • We need to run a function on the remote server and wait for the result

  • We use RPC. We build RabbitMQ to build an RPC system

  • The client sends a request message and a server sends a response message . In order to receive a response we need to send a callback queue address with the request.

This is the version with processing done on the server

Wav: WAV files contain raw audio data in the form of samples from beginning to end to paint the waveform of the output, the same way a bitmap file contains raw data about pixels from left to right, top to bottom. You can think of a WAV file as a bitmap picture of sound waves -- but rather than pixel colors, it stores audio intensities, typically 44,100 of them per second, for two channels if it's stereo, and 2 bytes per channel.

References:

https://www.npmjs.com/package/audio-waveform https://github.com/trquoccuong/node-wave https://github.com/andrewrk/node-waveform

https://stackabuse.com/read-files-with-node-js/ https://pedromtavares.wordpress.com/2012/12/28/streaming-audio-on-the-web-with-nodejs/ https://rodic.fr/blog/libavcodec-tutorial-decode-audio-file/

https://en.wikipedia.org/wiki/Data_structure_alignment

https://www.3pillarglobal.com/insights/rabbitmq-understanding-message-broker

About

REST API that takes in a audio file and returns the waveform data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published