Skip to content

Singing-voice-conversion/Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

singtome: Back-end

introducing the Back-end project used in the SINGTOME project.

Static Badge Static Badge Hits


Hello, and thank you for visiting. This GitHub repository contains the implementation code for the model used in the singtome project. If you're interested in learning more about the singtome project, please refer to this link.

Contents

  1. Members
  2. Introduction
  3. Swagger Page
  4. Screen Composition
  5. API Documentation
  6. Used Languages, Libraries, Frameworks, Tools

1. Members

Profile Name Role
Heechan Chung
anselmo
Restful API with Spring Boot and AWS RDS

2. Introduction

The Sing-To-Me website is a platform where you can create new songs by overlaying different voices onto original tracks. Users can upload various voice files to train models, and then choose original songs and trained voices to blend together, creating new vocal combinations. Key features include:

  • User login and management
  • Uploading voice files and training models
  • Blending original songs with trained voices to synthesize new songs
  • Song playback
  • Providing a Top100 list of popular songs

3. Swagger Page

Screenshot 2024-05-31 at 4 45 07 PM
  • Voice API: Controls every request against Voice List (Create, Read, Modify, Delete)
  • AI Cover Song API: Controls every request against Voice List (Create, Read, Modify, Delete) and checking if the RVC model is running or not.

4. Screen Composition

4.1 Folder Structure

domain/
├── config/
├── controller/
├── ├── UserController.java
├── ├── UvrStatusController.java
├── ├── ...
├── entity/
├── ├── User.java
├── ├── UvrStatus.java
├── ├── ...
├── repository/
├── ├── UserRepository.java
├── ├── VoiceRepository.java
├── ├── ...
├── jwt/
├── service/

The project's folder structure is as follows: According to MVC pattern of Spring Boot. We folderized every contents into Model, Controllers, and Service. Each domain has its own Model, Controllers, and Services.


5. API Documentation

This section details the API endpoints available for interacting with the Sing-To-Me backend services. The APIs allow users to manage and interact with voice and AI cover song functionalities.


AI Cover Song API

Endpoint Method Description
/convertedsong/list GET Retrieves a list of all converted songs.
/convertedsong/list/{user_id} GET Retrieves a list of songs converted by a specific user.
/convertedsong/likes/{user_id}/{converted_id} POST Adds or removes a like from a converted song by the specified user.
/convertedsong/playCount GET Retrieves a paginated list of songs sorted by play count.
/convertedsong/top10 GET Retrieves a list of the top 10 converted songs by play count.
/convertedsong/{converted_id} POST Increments the play count each time a converted song is played.

Voice API

Endpoint Method Description
/voice/list/{user_id} GET Retrieves a list of voices created by a specific user.
/voice/likes/{user_id}/{voice_id} POST Adds or removes a like from a voice by the specified user.

User API

Endpoint Method Description
/login POST Authenticates a user with their email and password.

6. Used Languages, Libraries, Frameworks, Tools

Category Details
Languages Java, SQL
Libraries and Frameworks Spring Boot
Tools Intellij

About

SingToMe Backend with SpringBoot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages