[package] name = "kord" version = "0.7.1" edition = "2021" authors = ["Aaron Roney "] license = "MIT" description = "A tool to easily explore music theory principles." readme = "README.md" homepage = "https://github.com/twitchax/kord" repository = "https://github.com/twitchax/kord" keywords = ["cli", "music", "theory", "jazz", "chords"] categories = ["command-line-utilities"] exclude = [ "samples/**/*", "assets/**/*" ] [lib] name = "klib" path = "src/lib.rs" crate-type = ["cdylib", "rlib"] [[bin]] name = "kord" path = "src/bin.rs" required-features = ["cli"] [package.metadata.wasm-pack.profile.release] wasm-opt = false [features] default = ["cli", "analyze", "audio", "ml_infer"] cli = ["clap", "futures"] audio = ["rodio"] analyze = ["analyze_mic", "analyze_file"] analyze_base = ["rustfft"] analyze_mic = ["analyze_base", "rodio", "cpal", "futures-timer"] analyze_file = ["analyze_base", "rodio", "symphonia", "parse_duration0"] analyze_file_mp3 = ["symphonia/mp3"] analyze_file_aac = ["symphonia/aac", "symphonia/isomp4"] analyze_file_alac = ["symphonia/alac", "symphonia/isomp4"] ml = ["ml_train", "ml_infer"] ml_base = ["serde", "byteorder", "bincode"] ml_train = ["ml_base", "rand", "rayon", "burn-autodiff", "burn/train", "burn/std", "burn/wgpu", "burn/metrics", "burn-ndarray/std"] ml_infer = ["ml_base", "burn", "burn-ndarray", "burn-ndarray/std"] ml_gpu = ["ml_train", "burn-tch", "burn-wgpu", "burn/tui"] wasm = ["rodio/wasm-bindgen", "wasm-bindgen", "wasm-bindgen-futures", "js-sys", "console_error_panic_hook", "wee_alloc", "gloo-timers", "burn/wasm-sync"] wasi = ["burn/wasm-sync"] plot = ["plotters"] [dependencies] proc-macro2 = "1.0.60" async-trait = "0.1.64" once_cell = "1.16.0" paste = "1.0.9" anyhow = "1.0.66" pest = "2.5.1" pest_derive = "2.5.1" symphonia = { version = "0.5.2", optional = true } parse_duration0 = { version = "3.0.0", optional = true } # cli clap = { version = "4.0.29", features = ["derive"], optional = true } futures = { version = "0.3.25", optional = true } # audio rodio = { version = "0.17.1", default-features = false, features = ["symphonia"], optional = true } # analyze_base rustfft = { version = "6.1.0", optional = true } # analyze futures-timer = { version = "3.0.2", optional = true } cpal = { version = "0.15.0", optional = true } # ml serde = { version = "1.0.152", features = ["derive"], optional = true } rand = { version = "0.8.4", optional = true } byteorder = { version = "1.4.3", optional = true } bincode = { version = "2.0.0-rc.2", git = "https://github.com/bincode-org/bincode.git", default-features = false, optional = true, features = ["alloc", "serde"] } rayon = { version = "1.7.0", optional = true } burn = { version = "0.11.1", default-features = false, optional = true} burn-autodiff = { version = "0.11.1", optional = true } burn-tch = { version = "0.11.1", optional = true } burn-wgpu = { version = "0.11.1", optional = true } burn-ndarray = { version = "0.11.1", default-features = false, optional = true } # plot plotters = { version = "0.3.5", optional = true } # wasm wasm-bindgen = { version = "0.2.84", optional = true } wasm-bindgen-futures = { version = "0.4.34", optional = true } js-sys = { version = "0.3.61", optional = true } console_error_panic_hook = { version = "0.1.7", optional = true } wee_alloc = { version = "0.4.5", optional = true } gloo-timers = { version = "0.2.6", optional = true, features = ["futures"] } [dev-dependencies] pretty_assertions = "1.3.0"