Skip to content

stanford-stagecast/proleptic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cb5b9d2 · Aug 22, 2023
Oct 28, 2022
Jul 19, 2023
Oct 1, 2022
Aug 22, 2023
Oct 7, 2022
Nov 2, 2022
Jul 18, 2023
Oct 11, 2022
Jul 18, 2022
May 18, 2023

Repository files navigation

Compile

Overview

  • src/: standalone binaries and demos
  • src/graph/: svg generation for the web interface
  • src/libsimplenn/: the public interface of simplenn
  • src/nn/: the core neural network code, including inference and training
  • src/tests/: unit tests
  • src/util/: helpful classes/structures used elsewhere
  • src/audio/: classes used for audio synthesis and talking to ALSA devices
  • src/dbus/: code to claim exclusive use of an audio device
  • src/stats/: a task that periodically prints runtime info and timing
  • src/frontend/: user-invoked programs (originally part of the synthesizer)

Setup

  1. Clone the repo and enter it: git clone git@github.com:stanford-stagecast/proleptic.git && cd proleptic
  2. Initialize CMake: cmake -S . -B build

Common Tasks

  • Building: cmake --build build
  • Building in parallel: cmake --build build --parallel
  • Formatting: cmake --build build --target format
    • or use git clang-format when you have staged changes
  • Testing: cmake --build build --target check
    • or run ctest --test-dir build
  • Running the audio synthesizer: ./build/src/frontend/synthesizer-test [device_prefix] [midi_device] [sample_directory]
    • On the snr-piano machine:
      • device_prefix: Scarlett
      • midi_device: /dev/snd/midi*
      • sample_directory: /usr/local/share/slender/samples/

If you want to use a compiler other than the default, delete your build directory, then redo the initialization step with CC and CXX set appropriately:

  • CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake -B build

CMake has the following configs set up:

  • Debug
  • Release
  • DebugASan

Repository Checks

Current checks:

  • tests pass in DebugASan and Release modes
  • code is correctly formatted, according to clang-format
  • linear history
  • only branches with all checks passing can be pushed to main

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published