Skip to content

Commit 11b7ca3

Browse files
committed
Update README and add setup guide.
1 parent 8ef53fc commit 11b7ca3

File tree

3 files changed

+170
-124
lines changed

3 files changed

+170
-124
lines changed

README.md

+19-122
Original file line numberDiff line numberDiff line change
@@ -1,131 +1,28 @@
1-
# DSP labs
1+
# Practical Digital Signal Processing Through Voice Effects
22

3-
## Viewing material from GitHub
3+
**By [Eric Bezzam](https://ebezzam.github.io/), [Adrien Hoffet](https://lcav.epfl.ch/people/people-current_staff/page-145331-en-html/), and [Paolo Prandoni](https://lcav.epfl.ch/people/people-current_staff/people-paolo-prandoni/)**
44

5-
Go [here](docs/README.md). Note that plug-in material won't render properly, e.g. equations.
5+
This repository contains the content and scripts for the [practical exercises](https://lcav.gitbook.io/dsp-labs/) for the EPFL course [COM-303, Signal processing for communications](http://isa.epfl.ch/imoniteur_ISAP/!itffichecours.htm?ww_i_matiere=24007074&ww_x_anneeacad=1866893861&ww_i_section=944590&ww_i_niveau=6683147&ww_c_langue=en).
6+
[Here](http://com303.learndsp.org) is the course website for EPFL students.
67

7-
## Building/viewing gitbook locally
8+
The material in this book is based off of the voice effects presented in [this Jupyter notebook](http://nbviewer.jupyter.org/github/prandoni/COM303/blob/master/voice_transformer/voicetrans.ipynb).
9+
However, the focus is on implementing these effects in a real-time manner: first in Python with a laptop's soundcard
10+
then in C with a microcontroller from ST Microelectronics.
811

9-
You'll need [npm](https://www.npmjs.com/get-npm).
12+
***The goal of these exercises is to expose participants to the practical sides of digital signal processing (DSP) through
13+
fun and intuitive audio applications***, while also using industry-level tools that are low-cost and accessible so that others
14+
around the world can try them out.
1015

11-
Install the `gitbook` client if you haven't already:
12-
```bash
13-
$ npm install gitbook-cli -g
14-
```
16+
Even if the [hardware](https://lcav.gitbook.io/dsp-labs/bom) cannot be obtained, the main lessons in DSP can still be acquired in Python with your laptop!
1517

16-
Copy the repository and run the following commands from the top directory:
17-
```bash
18-
$ gitbook install
19-
$ gitbook serve
20-
```
18+
A pre-print describing the development of these exercises can be found [here](https://infoscience.epfl.ch/record/258046/files/dsp_labs_icassp_2019.pdf).
2119

22-
Go to: `http://localhost:4000`
23-
24-
25-
## GitBook instructions (from scratch)
26-
27-
[Installation instructions](https://toolchain.gitbook.com/setup.html).
28-
29-
```bash
30-
$ npm install gitbook-cli -g
31-
```
32-
33-
Create new directory
34-
```bash
35-
$ mkdir my-book
36-
$ cd my-book
37-
$ gitbook init
38-
```
39-
40-
To preview the book and make live edits:
41-
```bash
42-
$ gitbook serve
43-
```
44-
45-
To build static website:
46-
```bash
47-
$ gitbook build
48-
```
49-
50-
To have separate documentation and code, create a `book.json` file with the following content:
51-
```json
52-
{
53-
"root": "./docs"
54-
}
55-
```
56-
and place all files inside a folder called `'docs'`.
57-
58-
59-
### Adding math
60-
61-
Add the following line to your `book.json` file:
62-
```json
63-
{
64-
"plugins": ["mathjax"]
65-
}
66-
```
67-
68-
If you are exporting to PDF, you will find a bug when using this version of `mathjax` (as of 11 Dec 2018).
69-
[This fix](https://github.com/GitbookIO/gitbook/issues/1875) consists of using a forked version of `mathjax`, namely:
70-
```json
71-
{
72-
"plugins": ["mathjax@https://github.com/OrgVue/gitbook-plugin-mathjax.git#speech-fix"]
73-
}
74-
```
75-
and installing the following package:
76-
```bash
77-
$ npm install svgexport -g
78-
```
79-
80-
Install the plugin from within your gitbook directory
81-
```bash
82-
$ gitbook install
83-
```
84-
85-
[More info](https://github.com/GitbookIO/plugin-mathjax).
86-
87-
### Converting LaTeX to Markdown
88-
89-
[Pandoc](https://pandoc.org/) is a great tool for this. For small sections, the [online tool](https://pandoc.org/try/) is generally sufficient.
90-
91-
92-
### Adding drop-down menu for sidebar
93-
94-
Add the following plug-in to your `book.json` file:
95-
```json
96-
{
97-
"plugins": ["expandable-chapters"]
98-
}
99-
```
100-
101-
Install the plug-in by running:
102-
```bash
103-
$ gitbook install
104-
```
105-
106-
[More info](https://www.npmjs.com/package/gitbook-plugin-expandable-chapters).
107-
108-
### Highlighted boxes (for tasks)
109-
110-
See [here](https://github.com/GitbookIO/plugin-hints).
111-
112-
### Adding Disqus commands
113-
114-
You'll need to make a Disqus account if you don't already have one.
115-
116-
Edit the `book.json` file as described [here](https://plugins.gitbook.com/plugin/disqus).
117-
118-
Install the plug-in by running:
119-
```bash
120-
$ gitbook install
121-
```
122-
123-
### Adding custom favicon
124-
125-
See [here](https://www.npmjs.com/package/gitbook-plugin-custom-favicon).
126-
127-
### Adding TOC to page
128-
129-
See [here](https://www.npmjs.com/package/gitbook-plugin-simple-page-toc).
20+
Table of contents:
13021

22+
1. [Overview and installation of ST Microelectronics material](https://lcav.gitbook.io/dsp-labs/installation)
23+
2. [Audio passthrough](https://lcav.gitbook.io/dsp-labs/passthrough)
24+
3. [Alien voice effect](https://lcav.gitbook.io/dsp-labs/alien-voice)
25+
4. [Digital filter design](https://lcav.gitbook.io/dsp-labs/filter-design)
26+
5. [Granular synthesis pitch shifting](https://lcav.gitbook.io/dsp-labs/granular-synthesis)
13127

28+
To set up the book for local development or to suggest changes (more than welcome!), check out the [setup guide](https://github.com/LCAV/dsp-labs/blob/master/SETUP.md).

SETUP.md

+149
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# Setup Guide
2+
3+
This online book is based on [GitBook](https://www.gitbook.com/about). The content is written in [Markdown](https://guides.github.com/pdfs/markdown-cheatsheet-online.pdf).
4+
5+
Any changes made to Markdown files listed in the [`SUMMARY.md`](https://github.com/LCAV/dsp-labs/blob/master/docs/SUMMARY.md)
6+
file (in the `master` branch of this repository) will affect the content of the online book. This makes it rather convenient
7+
for others to suggest changes, improvements, or even new content through [Pull Requests](https://github.com/LCAV/dsp-labs/pulls)!
8+
9+
Below you can find some information on how to set up this book for local development.
10+
If you want to suggest changes, our recommended approach is to:
11+
1. Fork this repository and clone the fork to your local computer.
12+
2. Create a new branch so you can keep your `master` branch "clean" and [update](https://help.github.com/articles/syncing-a-fork/) it if we make any changes.
13+
3. Push your local branch to your fork and open a Pull Request.
14+
15+
Let us know if you have any questions!
16+
17+
## Building/viewing GitBook locally
18+
19+
You'll need [npm](https://www.npmjs.com/get-npm).
20+
21+
Install the `gitbook` client if you haven't already:
22+
```bash
23+
$ npm install gitbook-cli -g
24+
```
25+
26+
Copy the repository and run the following commands from the top directory:
27+
```bash
28+
$ gitbook install
29+
$ gitbook serve
30+
```
31+
32+
Go to: `http://localhost:4000`
33+
34+
## Exporting GitBook to PDF
35+
36+
You can export the content as a PDF with the following command:
37+
38+
```bash
39+
gitbook pdf ./ ./epfl-com303-labs.pdf
40+
```
41+
42+
43+
## GitBook instructions (from scratch)
44+
45+
[Installation instructions](https://toolchain.gitbook.com/setup.html).
46+
47+
```bash
48+
$ npm install gitbook-cli -g
49+
```
50+
51+
Create new directory
52+
```bash
53+
$ mkdir my-book
54+
$ cd my-book
55+
$ gitbook init
56+
```
57+
58+
To preview the book and make live edits:
59+
```bash
60+
$ gitbook serve
61+
```
62+
63+
To build static website:
64+
```bash
65+
$ gitbook build
66+
```
67+
68+
To have separate documentation and code, create a `book.json` file with the following content:
69+
```json
70+
{
71+
"root": "./docs"
72+
}
73+
```
74+
and place all files inside a folder called `'docs'`.
75+
76+
77+
### Adding math
78+
79+
Add the following line to your `book.json` file:
80+
```json
81+
{
82+
"plugins": ["mathjax"]
83+
}
84+
```
85+
86+
If you are exporting to PDF, you will find a bug when using this version of `mathjax` (as of 11 Dec 2018).
87+
[This fix](https://github.com/GitbookIO/gitbook/issues/1875) consists of using a forked version of `mathjax`, namely:
88+
```json
89+
{
90+
"plugins": ["mathjax@https://github.com/OrgVue/gitbook-plugin-mathjax.git#speech-fix"]
91+
}
92+
```
93+
and installing the following package:
94+
```bash
95+
$ npm install svgexport -g
96+
```
97+
98+
Install the plugin from within your gitbook directory
99+
```bash
100+
$ gitbook install
101+
```
102+
103+
[More info](https://github.com/GitbookIO/plugin-mathjax).
104+
105+
### Converting LaTeX to Markdown
106+
107+
[Pandoc](https://pandoc.org/) is a great tool for this. For small sections, the [online tool](https://pandoc.org/try/) is generally sufficient.
108+
109+
110+
### Adding drop-down menu for sidebar
111+
112+
Add the following plug-in to your `book.json` file:
113+
```json
114+
{
115+
"plugins": ["expandable-chapters"]
116+
}
117+
```
118+
119+
Install the plug-in by running:
120+
```bash
121+
$ gitbook install
122+
```
123+
124+
[More info](https://www.npmjs.com/package/gitbook-plugin-expandable-chapters).
125+
126+
### Highlighted boxes (for tasks)
127+
128+
See [here](https://github.com/GitbookIO/plugin-hints).
129+
130+
### Adding Disqus commands
131+
132+
You'll need to make a Disqus account if you don't already have one.
133+
134+
Edit the `book.json` file as described [here](https://plugins.gitbook.com/plugin/disqus).
135+
136+
Install the plug-in by running:
137+
```bash
138+
$ gitbook install
139+
```
140+
141+
### Adding custom favicon
142+
143+
See [here](https://www.npmjs.com/package/gitbook-plugin-custom-favicon).
144+
145+
### Adding TOC to page
146+
147+
See [here](https://www.npmjs.com/package/gitbook-plugin-simple-page-toc).
148+
149+

book.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
"expandable-chapters", "hints", "simple-page-toc"],
55
"links": {
66
"sidebar": {
7-
"Course info": "http://isa.epfl.ch/imoniteur_ISAP/!itffichecours.htm?ww_i_matiere=24007074&ww_x_anneeacad=1866893861&ww_i_section=944590&ww_i_niveau=6683147&ww_c_langue=fr",
8-
"Contact": "mailto:[email protected];[email protected]?subject=[DSP labs]"
7+
"Course info": "http://isa.epfl.ch/imoniteur_ISAP/!itffichecours.htm?ww_i_matiere=24007074&ww_x_anneeacad=1866893861&ww_i_section=944590&ww_i_niveau=6683147&ww_c_langue=en",
8+
"Contact": "mailto:[email protected];[email protected]?subject=[DSP labs]"
99
}
1010
}
1111
}

0 commit comments

Comments
 (0)