Code Monkey home page Code Monkey logo

folkfriend's Introduction

FolkFriend

Scripts and Web Application for folk music tune transcription and recognition.

This is the Github repository for the FolkFriend app, for advanced users and developers of the app. If you are looking to simply use the web version of the app please instead go to folkfriend.app.

Dependencies

  • rust (for compiling the folkfriend library from source to run natively)
  • python 3.x (for running some misc scripts, for example evaluating datasets)
  • wasm-pack (for compiling the folkfriend library from source into WebAssembly)
  • Vue.js v2.x (for frontend development)

I shall soon add some precompiled executables for windows + linux so compiling from source is not necessary to use the command line version of the library.

Structure of Repository

Directory Description
app/ Source code and build scripts for the PWA hosted at folkfriend.app
resources/ Miscellaneous static assets
rust/ FolkFriend library source code (in rust)
utils/ Contains the folkfriend module; python implementation of all the functionality that runs client-side in the app.

Note that if you are unfamiliar with rust, you can find implementations of all the key parts of FolkFriend in Python 3 in the commit history of this repository (I originally wrote FolkFriend in Python and learned rust as I went about translating into a WASM friendly language). The Python code is unmaintained and may be out of date.

Using Rust

  1. Install Rust
  2. From the rust/ directory of this repository, run cargo build --release to compile the folkfriend executable on your machine.
  3. Add the folkfriend executable to your system path, for example by including a directory containing folkfriend to your path environment variable or by using sudo cp folkfriend /usr/local/bin/.

folkfriend's People

Contributors

tomwyllie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.