You can run the app by running the following lines. You can specify an
initial audio library, as well as decide whether you want to run the app
in a browser or not (defaulting to the Rstudio
Viewer).
library(songClip)
clip_song(audio_dir = "~/Desktop/audio_library/", browser = TRUE)
The list of features is constantly changing, and this readMe file may not always be up-to-date. The app has the following implemented features:
- Load an audio library, allowing users to cycle through a playlist of songs or other audio files
- Modify the view of the wave channel plot
- Create loops
The following features have yet to be implemented, but may have scaffold UIs present in the app:
- Crop songs to save as new MP3 files
- Cache loop settings
- Alter playback speed while preserving the pitch
- Equalizer (UI is set up)
- The ability to load multiple tracks at once, with the goal of
mimicking basic features of music production software.
- Many new features would be added after this point, but better to walk before running
Main loading screen, illustrating looping and playback
The equalizer is not yet implemented, but the basic UI is set up
Developer Notes
Assuming you have git
installed, run the following in your terminal:
git clone git@github.com:MLVisions/songClip.git
-
Note for
git
noobs: You will have to configuregit
to clone successfully. Make sure to use the email you were invited with.git config --global user.name "FIRST_NAME LAST_NAME" git config --global user.email "MY_NAME@example.com"
Run one the following to download all the packages:
-
If you have pkgr installed, run the following in your terminal:
pkgr install
-
If not, use the following command in your
R
console. This will install all packages from therenv.lock
file:# install.packages("renv") # if you don't have the `renv` package renv::restore()
After installing all dependencies, running devtools::load_all()
will
prompt you to install any required python
modules.
- Note:
Python
is not currently needed for this package (despite the messages you will see on load), though this will likely change in the future.