Skip to content

gogo9th/star-echo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

205 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Star Echo - Applying Filters to Music Files & Windows Audio Engine

Software Description

  • When the software is executed, all music extension files (.flac, .mp3, .wav, .wma) in the current directory are applied the filter's sound effect and their converted new music files are saved in the "FINAL" folder created in the same directory.

  • All sub-directory structures of original music files are preserved and saved in the "FINAL" folder.

  • Already converted music files in the past (whose converted version already exists in the "FINAL" folder) are skipped.

Ready-to-use Software

Ubuntu Installation (minimum 20.04 required)

Step 1. Install the boost and ffmpeg libraries.

    $ sudo apt install ffmpeg libboost-program-options-dev libavformat-dev libavcodec-dev libavutil-dev libswresample-dev

Step 2. Download the source code.

    $ git clone https://github.com/gogo9th/star-echo

Step 3. Compile the source code by using one of the following 2 options:

  • Option A: Use Makefile to compile.
    $ cd star-echo
    $ make
  • Option B: Use CMake to compile.
    $ cd star-echo
    $ mkdir build
    $ cd build
    $ cmake ..
    $ make

Step 4. Run the created star-echo.

$ ./star_echo --help 
Options:
  -h [ --help ]         Display the help message.
  -i [ --input ] arg    Input file(s)/directory.
                        - [Default: the current directory]
  -o [ --output ] arg   If the input is a directory, then output should be a
                        directory.
                        If the input is a file, then the output should be a
                        filename.
                        If the inputs are multiple files, then this option is
                        ignored.
                        - [Default: './FINAL' directory]
  -t [ --threads ] arg  The number of CPU threads to run.
                        - [Default: the processor's available total cores]
  -k [ --keep-format ]   Keep each output file's format the same as its source
                        file's.
                        - [Default: the output format is .flac]
  -w [ --overwrite ]    overwrite output file if it exists [Default: false]
  -n [ --normalize ]    normalize the sound to avoid rips [Default: false]
  -s [ --silence ]      Append silence in seconds [Default: 0]
  -f [ --filter ] arg   Filter(s) to be applied:
                         CH[,roomSize[,gain]] - Cathedral,
                           Default is 'CH,10,9' if parameters omitted
                         EQ,b1,b2,b3,b4,b5,b6,b7 - Equalizer,
                           0<=b<=24, b=12 is '0 gain'
                         3D,strength,reverb,delay - 3D effect
                           0 <= parameters <= 9
                         BE,level,cutoff - Bass enhancement
                           1 <= parameters <= 15
                        Predefined filters:
                         studio,
                         rock,
                         classical,
                         jazz,
                         dance,
                         ballad,
                         club,
                         rnb,
                         cafe,
                         livecafe,
                         concert,
                         cathedral,
                         upscaling


# Recursive folder-wide cathedral .flac conversion into the folder FINAL
$ ./star-echo -i musicFolder   

 
# A single music file conversion
$ ./star_echo --input web-server/public/uploads/test.mp3 --output test-livecafe.flac --filter livecafe

Windows Installation

Step 1. Go and install CMake

Step 2. Go and install Visual Studio C++ Development

Step 3. Go and install Git

Step 4. Install vcpkg. Open the PowerShell.

    $ cd ~
    $ git clone https://github.com/Microsoft/vcpkg.git 
    $ cd vcpkg
    $ ./bootstrap-vcpkg.bat

Step 5. Install the boost and ffmpeg libraries

    $ ./vcpkg.exe install boost-program-options boost-circular-buffer boost-algorithm ffmpeg[avformat] ffmpeg[avcodec] ffmpeg[swresample] ffmpeg[zlib] --triplet x64-windows
    $ ./vcpkg.exe integrate install

(For x32 builds, run "vcpkg install boost-program-options default" instead)

Step 6. Compile the source code.

    $ cd star-echo
    $ mkdir build
    $ cd build
      # Replace <Windows user name> to your home directory's user name
      # Must have double quotes around the path
      # If compilation fails, you must run "rm * .* -rf" to delete all previous CMake caches
    $ cmake .. -DCMAKE_TOOLCHAIN_FILE="C:\Users\<windows user name>\vcpkg\scripts\buildsystems\vcpkg.cmake"
    $ cmake --build . --config Release

Step 7. Check if star_echo.exe is created in the Release folder.

Step 8. Pack .exe and .dll files into a single .exe file.

  • Download and install Enigma Virtual Box.

  • Run Enigma Virtual Box.

  • Choose the input file to be star_echo.exe in the Release folder.

  • Add all 6 .dll files in the Release folder and press OK: avcodec-\*.dll, avformat-\*.dll, avutil-\*.dll, boost_program_options-\*.dll, swresample-\*.dll, zlib*.dll.

  • Click "Process" to create star_echo_boxed.exe.

Step 9. Run the created star_echo_boxed.exe.

  • Option 1: Use a terminal.
    $ cd Release
    $ ./star_echo_boxed.exe --help 
  • Option 2: Double-click the generated star_echo_boxed.exe, then all music files in the same directory will be converted and stored in the "FINAL" folder.

"StarEcho" Real-time Audio Engine Installation (Windows)

Step 1. Go and install the Wix toolset V3 or higher (both wix*.exe and Visual Studio Extension, separately).

Step 2. Go and install Visual Studio C++ Development.

Step 3. Go and install PowerShell Core and restart PowerShell.

Step 4. Build the installer at .

    $ cd star-echo/StarEcho
    $ & "C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\MSBuild.exe" .\StarEcho.sln /restore
    $ & "C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\MSBuild.exe" .\StarEcho.sln /restore /p:Configuration="Release"
    $ & "C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\MSBuild.exe" .\StarEcho.sln /restore /p:Configuration="Debug"

Step 5. The installer is created at star-echo-main\star-echo-main\StarEcho\Setup\bin\x64\Debug\Setup.msi and star-echo-main\star-echo-main\StarEcho\Setup\bin\x64\Release\Setup.msi.

Music Converter Web Server Setup

Step 1.

	$ cd web-server
	$ npm install

Step 2. Install libssl 1.1 and MongoDB (https://blog.stackademic.com/mongodb-cluster-setup-on-ubuntu-23-04-x64-223193fcdb5e)

	$ wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
	$ dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
	$ apt update
	$ apt install libssl1.1

	$ wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
	$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
	$ apt update
	$ apt install -y mongodb-org
	$ sudo systemctl enable mongod
	$ sudo systemctl start mongod
	$ sudo systemctl status mongod

Step 3. Run the web server (at port 3000).

	$ node app.js --http
        ### or use pm2 ###
        $ pm2 kill
        $ pm2 resurrect
        $ pm2 start app.js -- --http

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors