https://github.com/cronokirby/musync

Configuration based music syncing

https://github.com/cronokirby/musync

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Configuration based music syncing

Basic Info
  • Host: GitHub
  • Owner: cronokirby
  • Language: Go
  • Default Branch: master
  • Size: 27.3 KB
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created about 6 years ago · Last pushed about 5 years ago
Metadata Files
Readme

README.md

Musync

Musync is an application to sync music files using youtube-dl. Musync is able to automatically split albums into their songs using ffmpeg

Installing

The easiest way to install is to use go get:

go get github.com/cronokirby/musync

If you've installed the go programming language, this will download, compile, and then place this program in an accessible location in your PATH.

In addition to this, you need to have youtube-dl and ffmpeg accessible from the command line, since Musync will call each of these programs.

Config file

Musync will take a description of the sources you'd like to download, and will then automatically download these sources, and then split them into the songs they're made of.

This information is structured as a TOML file:

toml [[source]] name = "1982" artist = "Haircuts for Men" url = "https://www.youtube.com/watch?v=HSp0E0kCzVc" path = "vapor/chirpy/" timestamps = ["00:00","04:18","08:47","13:15","17:25"] namestamps = ["Henry's Lunch Money","Car Key Jingle","Weakling Heart","Acceptance","Midnight Luxxury"]

Each source is given using the "array of tables" syntax in TOML. The url field gives us a location that youtube-dl can download the source from. The timestamps and namestamps fields tell us how to split this source into individual songs. The path field tells us where to place this source after downloading and splitting it. This path is relative to where musync is run. The name and artist fields are just metadata.

In this case, running musync sync example.toml will create a directory vapor/chirpy/1982/ relative to where the command is run. This directory will contain Henry's Lunch Money.mp3 along with the other songs. The program will also fill in the metadata, such as the album name (1982) and the artist.

The file example.toml contains an example of what this file looks like.

Adding new entries

In addition to entering new entries into the file manually, you can also use musync to add them through an interactive prompt. Try running the musync add file.toml command.

Usage

``` Usage: musync

Flags: --help Show context-sensitive help.

Commands: sync Sync music files

add Add a new album or song to the syncing file

Run "musync --help" for more information on a command. ```

Owner

  • Name: Lúcás Meier
  • Login: cronokirby
  • Kind: user
  • Location: Seattle

"apprentice cryptographer"

GitHub Events

Total
Last Year

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 24
  • Total Committers: 1
  • Avg Commits per committer: 24.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Lúcás Meier c****y@g****m 24

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
proxy.golang.org: github.com/cronokirby/musync
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 11 months ago

Dependencies

go.mod go
  • github.com/BurntSushi/toml v0.3.1
  • github.com/alecthomas/kong v0.2.4
  • github.com/bogem/id3v2 v1.1.3
  • github.com/pelletier/go-toml v1.7.0
go.sum go
  • github.com/BurntSushi/toml v0.3.1
  • github.com/alecthomas/kong v0.2.4
  • github.com/bogem/id3v2 v1.1.3
  • github.com/davecgh/go-spew v1.1.1
  • github.com/pelletier/go-toml v1.7.0
  • github.com/pkg/errors v0.8.1
  • github.com/pmezard/go-difflib v1.0.0
  • github.com/stretchr/testify v1.2.2
  • golang.org/x/text v0.3.2
  • golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e
  • gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
  • gopkg.in/yaml.v2 v2.2.8