vtserver
A voice transformation server to manipulate sound files for online experiments
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.9%) to scientific vocabulary
Repository
A voice transformation server to manipulate sound files for online experiments
Basic Info
- Host: GitHub
- Owner: egaudrain
- License: gpl-3.0
- Language: Python
- Default Branch: master
- Homepage: https://egaudrain.github.io/VTServer/
- Size: 7.49 MB
Statistics
- Stars: 3
- Watchers: 0
- Forks: 1
- Open Issues: 1
- Releases: 2
Metadata Files
README.md
VTServer: Voice Transformation Server
The Voice Transformation Server is a Python TCP/IP server that receives commands to process a (local) sound file with a stack of transformations. The modified file is then cached to be served again upon identical request.
The server receives instructions as JSON encoded objects and returns a JSON encoded object that, upon success, points to a file. The VTServer does not serve the file itself. This is up to a web-server, for instance, to do so.
You can run the VTServer directly from the command-line, or it can be deployed as a systemd service (on Linux) using the provided install script (see below).
A basic PHP client is also provided in /php-client. It can be used as a relay to pass a JSON request
sent through a web-server.
Full documentation can be found in the /docs folder. Here's an
example of processing instruction you can send:
```json { "action": "process", "file": "/home/egaudrain/vtserver/test/sound.wav", "stack": [ {"module": "world", "f0": "-12st", "vtl": "*1"}, { "module": "vocoder", "fs": 44100, "analysisfilters": { "f": { "fmin": 100, "fmax": 8000, "n": 16, "scale": "greenwood" }, "method": { "family": "butterworth", "order": 6, "zero-phase": true } }, "synthesisfilters": "analysisfilters", "envelope": { "method": "low-pass", "rectify": "half-wave", "order": 2, "fc": 160 }, "synthesis": { "carrier": "noise", "filterbefore": false, "filterafter": true } } ] }
```
To get some information about the server, send:
json
{ "action": "status" }
Installation as a daemon on Ubuntu Linux
The server is written for Python 3.5+.
For pysoundfile you will need to install libsndfile1 directly:
$ sudo apt install libsndfile1 python3-pip
The Numpy and Scipy packages of the current Ubuntu 18.04 LTS are not new enough, so just get the latest
with pip.
Before running the server you will need to install external dependencies:
$ sudo -H pip3 install numpy scipy pysoundfile pyworld systemd
Then, download the repository, e.g.:
$ git clone https://github.com/egaudrain/VTServer.git
In there, there is an install script for Debian-based systems like Ubuntu that rely on systemd. Just run install.ubuntu.sh and it should
do everything that's needed. Note that this is a very rudimentary script. It will install everything necessary in
/usr/local/lib/vt_server. Once installed, the server runs as user vt_server.
The configuration for the server can be found in /usr/local/etc/vt_server/vt_server.conf.json. Watchout
if you modify the cache folder, make sure that the folder exists and that the user vt_server has read/write
access to it.
To use 'mp3' as an output format, you need to install LAME:
$ sudo apt install lame
There is a line in the vt_server.conf.json that indicates where the executable is located.
Usage
Check the document in the /docs folder to see how instructions can be sent to the server. Each module has its own set of instructions.
Owner
- Name: Etienne Gaudrain
- Login: egaudrain
- Kind: user
- Location: Groningen, NL
- Website: http://etienne.gaudrain.eu
- Repositories: 25
- Profile: https://github.com/egaudrain
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Gaudrain" given-names: "Etienne" orcid: "https://orcid.org/0000-0003-0490-0295" title: "VTServer" version: 2.3 doi: 10.5281/zenodo.6330910 date-released: 2022-03-05 url: "https://github.com/egaudrain/VTServer"
GitHub Events
Total
- Pull request event: 1
Last Year
- Pull request event: 1