Created to make analysis about lyrics of songs in golang

📚 WordFinder

🏛️ Current State

This repository has been created to make analysis about lyrics of songs, the goal is to provide tool which will be able to:

  • ✔️ Search 600 songs from Eminem in 3 seconds. on Ryzen 7 5800X and 500MB/s isp

  • ✔️ Find all songs by artist without banned words, could be used to find "family friendly" music without some kind of words

  • ✔️ Provide list of keywords in many ways in ex. these keywords are going to be used as arguments

  • Find occurrence of specific words and calculate in which songs the word were most used.

🚀 Future plans

  • Caching in PostgresSQL and / or Redis
  • Creating API for clients so it will be hosted

🔨 Build & Run

make build

In order to access Genius you will need .env file with credentials

touch .env

Paste template:

export USER_AGENTS="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36,Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36,Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"
export GENIUS_RAPID_API_HOST=genius.p.rapidapi.com
export GENIUS_RAPID_API_KEY=[OBTAIN IT FROM RAPIDAPI.COM]
export GENIUS_HOST=genius.com
export GENIUS_API_HOST=genius.com/api

export REQUEST_TIMEOUT=10s
export MAX_CHANNEL_BUFFER_SIZE=30

in place of [OBTAIN IT FROM RAPIDAPI.COM] put api token from https://rapidapi.com/brianiswu/api/genius/

💥 ./genius-cli 💥

🪧 Usage

This is generic --help view, you may use it with other commands for more details for ex.

genius-cli --help genius-cli command-name --help

NAME:
   genius-cli - genius-cli --help

USAGE:
   genius-cli [global options] command [command options] [arguments...]

COMMANDS:
   songs-by-artist-without-banned-words  Will return list of songs which does not contains any of --keywords or --keyword
   help, h                               Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h  show help (default: false)

🚫 🍆 genius-cli songs-by-artist-without-banned-words --help

yes, this name sucks, give me better one pls. This command will output list of songs without provided words

Simplest Usage

genius-cli songs-by-artist-without-banned-words --keywords-file="swears.txt"

The swears.txt file should contain words separated by new lines or commas(",")

NAME:
   genius-cli songs-by-artist-without-banned-words - Will return list of songs which does not contains any of --keywords or --keyword

USAGE:
   genius-cli songs-by-artist-without-banned-words [command options] [arguments...]

OPTIONS:
   --query value, -q value                  --query="the_name"
   --keyword value, --kwd value             --keyword="the_keyword"
   --keywords value, --kwds value           --keywords="the_keyword","another_keyword"
   --keywords-file value, --kwds-f value    --keywords-file="keywords.txt"
   --keywords-files value, --kwds-fs value  --keywords-files="swears.txt,drugs.txt"
   --help, -h                               show help (default: false)
Similar Resources

Song lyrics in your terminal via Genius

Song lyrics in your terminal via Genius

lyric Song lyrics in your terminal via the Genius API. Usage Search by song name, artist, parts of lyrics, or a combination. lyric "bohemian rhapsody"

Nov 9, 2022

Go package and server app for retrieving time-stamped lyrics from Spotify.

lyricsapi Go package and server app for retrieving time-stamped lyrics from Spotify. Usage Use as package go get github.com/raitonoberu/lyricsapi pack

Nov 18, 2022

Spotify lyrics in your terminal.

sptlrx Spotify lyrics in your terminal. Features Timesynced lyrics in your terminal. Fully compatible with spotifyd. Works well with long lines & Unic

Jan 1, 2023

🎼 This library provides an API to search for lyrics from various providers in China.

LYRIC-GO This library provides an API to search for lyrics from various providers in China. Supported Providers KuGou Music QQ Music Netease Music Usa

May 24, 2022

a simple golang SSA viewer tool use for code analysis or make a linter

a simple golang SSA viewer tool use for code analysis or make a linter

ssaviewer A simple golang SSA viewer tool use for code analysis or make a linter ssa.html generate code modify from src/cmd/compile/internal/ssa/html.

May 17, 2022

Kazaam was created with the goal of supporting easy and fast transformations of JSON data with Golang

kazaam Description Kazaam was created with the goal of supporting easy and fast transformations of JSON data with Golang. This functionality provides

Sep 17, 2021

Discord Bot written in Go. Created for 'Intro to Golang', Fall 21

goDiscordBot Discord Bot written in Go. Created for 'Intro to Golang', Fall 21 Session where we coded the bot (goes over setup steps): https://gdsc.co

Nov 3, 2021

A simple posix shell created in golang

Fox-Shell Description Fox-Shell is a simple posix shell builded with golang Features - chdir works perfectly - mkdir works, but need bug fix To-Do Li

Dec 13, 2021

A simple todolist application API created using Golang

API Aplikasi KegiatanQ Merupakan API aplikasi todolist sederhana yang dibuat men

Dec 29, 2021

TODO_GO: a simple todo API created in Golang with a minimum number of dependencies and configuration

TODO_GO: a simple todo API created in Golang with a minimum number of dependencies and configuration

TODO_GO TODO_GO is a simple todo API created in Golang with a minimum number of

Jan 1, 2022

Simple-Weather-API - Simple weather api app created using golang and Open Weather API key

Simple-Weather-API - Simple weather api app created using golang and Open Weather API key

Simple Weather API Simple weather api app created using golang and Open Weather

Feb 6, 2022

This codebase was created to demonstrate a fully fledged fullstack application built with Golang/Echo including CRUD operations, authentication, routing, pagination, and more.

This codebase was created to demonstrate a fully fledged fullstack application built with Golang/Echo including CRUD operations, authentication, routing, pagination, and more.

This codebase was created to demonstrate a fully fledged fullstack application built with Golang/Echo including CRUD operations, authentication, routing, pagination, and more.

Jan 6, 2023

Go-Mongodb API - A sample REST API ( CRUD operations ) created using Golang

Go-Mongodb_API This is a sample REST API ( CRUD operations ) created using the G

May 31, 2022

Technical Analysis Library for Golang

Techan TechAn is a technical analysis library for Go! It provides a suite of tools and frameworks to analyze financial data and make trading decisions

Dec 30, 2022

Selected Machine Learning algorithms for natural language processing and semantic analysis in Golang

Natural Language Processing Implementations of selected machine learning algorithms for natural language processing in golang. The primary focus for t

Dec 25, 2022

Selected Machine Learning algorithms for natural language processing and semantic analysis in Golang

Natural Language Processing Implementations of selected machine learning algorithms for natural language processing in golang. The primary focus for t

Dec 25, 2022

A Golang tool that does static analysis, unit testing, code review and generate code quality report.

A Golang tool that does static analysis, unit testing, code review and generate code quality report.

goreporter A Golang tool that does static analysis, unit testing, code review and generate code quality report. This is a tool that concurrently runs

Jan 8, 2023
Winslow Synth - Make funny sounds with Go
Winslow Synth - Make funny sounds with Go

Winslow Synth Make funny sounds with Go Installation Getting audio drivers to work properly with Golang has proven tricky. This setup is working for m

Aug 23, 2022
Golang bindings for libmediainfo

mediainfo Golang binding for libmediainfo Duration, Bitrate, Codec, Streams and a lot of other meta-information about media files can be extracted thr

Nov 16, 2022
Chord transposer for Golang.

Go Chord Transposer Chord transposer for Golang. It will detect chords inside multiline string(Song guitar chords) then replace the chords given strin

Oct 24, 2022
网易云音乐 API Golang 实现

网易云音乐 API-Go 网易云音乐 Golang API 实现 灵感来自 Binaryify/NeteaseCloudMusicApi 说明 与 Binaryify/NeteaseCloudMusicApi 不同的是,本项目将全部采用 Eapi(即网易云音乐客户端使用的API) 本项目可能会很咕,

Oct 26, 2022
A shazam like tool to store songs fingerprints and retrieve them
A shazam like tool to store songs fingerprints and retrieve them

musig ?? A shazam-like tool that allows you to compute song's fingerprints and reverse lookup song names. It's more or less an implementation of the s

Dec 12, 2022
Soundcloud-watch - Watch your Soundcloud likes for removed songs

Soundcloud Watcher Tool to watch for any added/removed likes from a profile. TOD

Oct 21, 2022
Turning a folder into a gallery website to share your videos, songs and images in the local netwrok.

What Carp Web Gallery Turning a folder into a gallery website to share your videos, songs and images in the local netwrok. Browser videos and audios i

Mar 14, 2022
A Golang library to scrape lyrics from musixmatch.com (WIP)

A Golang library to scrape lyrics from musixmatch.com (WIP)

Aug 5, 2022
expose controller, when deployment created service and ingress will be created

expose-controller expose controller, when deployment created service and ingress will be created How to test git clone repository cd expose-controller

Dec 23, 2021
A simple Go package to fetch lyrics from Wikia

golyrics This is a simple scrapper package to fetch lyrics data from the Wikia website. Installation go get github.com/mamal72/golyrics Usage package

Dec 24, 2022