Git Product home page Git Product logo

vocaltractlabbackend-dev_hog's Introduction

CMake MSBuild Python examples MATLAB examples

VocalTractLabBackend-dev

This repo contains the VocalTractLab backend source code and the C/C++ API for on-going development work. This is not the place for official stable releases!

You can find the bleeding edge builds here including new and experimental features, some of which may break your old projects. For official stable releases, please check the VocalTractLab website.

Please feel free to fork this repo and make your own contributions, though!

The main branch of this repo is reviewed on a semi-regular basis for inclusion into the official release.

This repo may be included in other repos as a submodule wherever the backend source code or the C/C++ API is needed.

What you can find in this repo

This repo contains sources of the backend of the articulatory synthesizer VocalTractLab. The backend can be accessed through a C/C++ API offering convenient C-style functions to provide the most commonly used functionality (e.g. converting a gestural score file into an audio file using default synthesis settings), or as a static C++ library for full access to all objects in the backend. This repo therefore contains separate projects/targets for both the C/C++ API and the C++ static library.

Getting started

  • Clone the current main branch:
git clone https://github.com/TUD-STKS/VocalTractLabBackend-dev

Build using CMake (Windows, Linux, macOS)

  • Get the latet release of CMake for your platform
  • Create a folder out inside the cloned repository folder
  • Open a shell/command prompt and navigate to out
  • Configure the project and generate a build system:
cmake .. -DCMAKE_BUILD_TYPE=Release
  • Build the library (still from within the folder out)
cmake --build . --config Release

This will build both the API and the static library, as well as some unit testing executables. If you are only interested in one of those, you can specify the --target parameter:

cmake --build . --config Release --target VocalTractLabApi

or

cmake --build . --config Release --target VocalTractLabBackend

The final binary files are placed into the subdirectory lib (of the repository root). Do not look for them in the out directory, which is only used as a temporary folder for the build process and can be safely deleted once the binaries are built.

Run tests using shell/command prompt

  • Open a shell/command prompt
  • Navigate to cloned repository folder (not the out folder from the build process)
  • run the tests by executing VtlApiTests in the lib folder created by the build process:
./lib/VtlApiTests

Build using Visual Studio 2019 (Windows)

  • Open VocalTractLabApi.sln in the folder build/msw
  • Build the project VocalTractLabApi or VocalTractLabBackend

Use the VocalTractLab backend in your own projects

To include the VocalTractLab backend into your own projects, add the folder include from this repository to your project's include directories and link against the API or static backend library in the folder lib.

You can then include the API functions like so:

#include "VocalTractLabApi/VocalTractLabApi.h"

C++-Objects can be included from the static backend library through their respective header:

#include "VocalTractLabBackend/Speaker.h"  // or substitute your desired header here

How to use the VocalTractLab backend

The VocalTractLab API functions are documented with extensive comments in VocalTractLabApi.h. Unfortunately, since they were not previously public, the classes beyond the API in the static library are not (yet) documented consistently.

vocaltractlabbackend-dev_hog's People

Contributors

dernarr avatar paul-krug avatar remi-kn avatar simon-stone 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.