adjusted README file.

This commit is contained in:
Charles STELANDRE 2025-05-04 16:39:49 +02:00
parent 37dcaa66a2
commit e9887b5e45
1 changed files with 23 additions and 23 deletions

View File

@ -3,25 +3,25 @@
This repository contains MATLAB scripts for various speech analysis and synthesis tasks, including a channel vocoder implementation.
## Repository Contents
- pictures/
- praat_data/
- sound/
- README.md
- chanvocoder.m
- computeFormants.m
- computePitch.m
- frequencySpectrum.m
- record_vocoder.m
- spectrogram.m
- speech_analysis.m
- vocoder.m
- zeroPole.m
├── pictures
├── praat_data
├── sound
├── README.md
├── chanvocoder.m
├── computeFormants.m
├── computePitch.m
├── frequencySpectrum.m
├── record_vocoder.m
├── spectrogram.m
├── speech_analysis.m
├── vocoder.m
└── zeroPole.m
* **[`pictures/`](./pictures/)**: This folder contains images or figures generated by the scripts or used in documentation.
* **[`praat_data/`](./praat_data/)**: This folder contains data files in `.txt` extracted from Praat, a software for speech analysis. These files are used by scripts like [`computeFormants.m`](./computeFormants.m) and [`computePitch.m`](./computePitch.m).
* **[`sound/`](./sound/)**: This folder contains audio files (e.g., `.wav`) used as input for the analysis and vocoder scripts, such as `modulator22.wav` used in [`speech_analysis.m`](./speech_analysis.m) and `white_periodic.wav` used as a carrier signal in the vocoder. It also contains all expected results from the decimation, downsampling, and vocoding processes.
* **[`praat_data/`](./praat_data/)**: This folder contains data files in `.txt` extracted from Praat, a software for speech analysis. These files are used by scripts like for [`computeFormants.m`](./computeFormants.m) and [`computePitch.m`](./computePitch.m).
* **[`sound/`](./sound/)**: This folder contains audio files in `.wav` used as input for the analysis and vocoder scripts like `modulator22.wav` used for [`speech_analysis.m`](./speech_analysis.m) and `white_periodic.wav` used as a carrier signal in the vocoder. It also contains all expected results from the decimation, downsampling, and vocoding processes.
* **[`README.md`](./README.md)**: This file, providing an overview of the repository.
* **[`chanvocoder.m`](./chanvocoder.m)**: This function implements a channel vocoder, which modulates a carrier signal with the spectral envelope of a modulator signal.
* **[`chanvocoder.m`](./chanvocoder.m)**: This function implements a channel vocoder, which modulates a carrier signal with the spectral envelope of a modulator signal. Copied directly from : https://sethares.engr.wisc.edu/vocoders/channelvocoder.html
```matlab
function y = chanvocoder(carrier, modul, chan, numband, overlap)
% y = chanvocoder(carrier, modul, chan, numband, overlap)
@ -51,7 +51,7 @@ This repository contains MATLAB scripts for various speech analysis and synthesi
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
```
* **[`computePitch.m`](./computePitch.m)**: This script calculates the average pitch from a data file generated by Praat's pitch listing tool.
* **[`computePitch.m`](./computePitch.m)**: This script calculates the average pitch from `.txt` data file generated by Praat's pitch listing tool.
```matlab
function computePitch(filename)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@ -89,11 +89,11 @@ This repository contains MATLAB scripts for various speech analysis and synthesi
% - power: the power spectrum
%
% Author: Guillaume Gibert - guillaume.gibert@ecam.fr
% - Minor adjustments
% - Minor adjustments:
% Charles Stelandre - charles.stelandre@ecam.fr
%
% Date: 25/04/2022
% - Revised : 01/05/2025
% - Revised: 01/05/2025
%%%%%%%%%%%%%%%%%%
```
* **[`record_vocoder.m`](./record_vocoder.m)**: This script records audio for a specified duration and then applies the channel vocoder to the recorded signal.
@ -213,7 +213,7 @@ This repository contains MATLAB scripts for various speech analysis and synthesi
## Usage
To use these scripts, ensure you have MATLAB installed. You will likely need to navigate to the repository directory within the MATLAB environment.
To use these scripts, ensure you have MATLAB installed. You will need to navigate to the repository directory within the MATLAB environment.
1. **Data Preparation:** Ensure the necessary audio files (`.wav`) are present in the [`sound/`](./sound/) folder and the Praat data files (`.txt`) are in the [`praat_data/`](./praat_data/) folder if you intend to run the analysis scripts.
2. **Running Scripts:** Open the desired `.m` file in the MATLAB editor and run it by pressing the "Run" button or by typing its name in the MATLAB command window (without the `.m` extension).
@ -224,15 +224,15 @@ To use these scripts, ensure you have MATLAB installed. You will likely need to
* **[`computePitch.m`](./computePitch.m)**: Similarly, run this with the path to your Praat pitch data file, e.g., `computePitch('./praat_data/infoPitch.txt')`.
* **[`frequencySpectrum.m`](./frequencySpectrum.m)**: This is a function and needs to be called by another script or from the command line with a signal and sampling rate as inputs, e.g., `[power, duration] = frequencySpectrum(yourSignal, yourSamplingRate, true)`.
* **[`record_vocoder.m`](./record_vocoder.m)**: Run this script directly. It will prompt you to press a key to start recording audio, apply the vocoder, and play the result.
* **[`spectrogram.m`](./spectrogram.m)**: This is a function that needs to be called with a signal, sampling frequency, step size (in ms), and window size (in ms), e.g., `spectrogram(yourSignal, yourFs, 10, 30)`.
* **[`spectrogram.m`](./spectrogram.m)**: This is a function that needs to be called with a signal, sampling frequency, step size (in ms), and window size (in ms), e.g., `spectrogram(yourSignal, Fs, 10, 30)`.
* **[`speech_analysis.m`](./speech_analysis.m)**: Run this script directly to perform analysis on the `modulator22.wav` file.
* **[`chanvocoder.m`](./chanvocoder.m)** and **[`vocoder.m`](./vocoder.m)**: These are likely functions called by other scripts, such as [`record_vocoder.m`](./record_vocoder.m).
* **[`chanvocoder.m`](./chanvocoder.m)** : This is a function called, such as [`record_vocoder.m`](./record_vocoder.m) or **[`vocoder.m`](./vocoder.m)**
* **[`zeroPole.m`](./zeroPole.m)**: This function can be called with the filter coefficients and a flag to plot (1) or not (0), e.g., `[Z, P] = zeroPole([1 -0.9], [1 0], 1)`.
## Relevant Information
* **Authors:** The scripts in this repository are primarily authored by Guillaume Gibert ([`guillaume.gibert@ecam.fr`](mailto:guillaume.gibert@ecam.fr)) and Charles Stelandre ([`charles.stelandre@ecam.fr`](mailto:charles.stelandre@ecam.fr)).
* **Date:** The scripts have been created and revised on various dates, with the latest revisions around May 2025.
* **Date:** The scripts have been created and revised on various dates, with the latest revisions in May 2025.
* **Software:** These scripts are written for MATLAB. Ensure you have a compatible version installed.
* **Dependencies:** Some scripts might depend on specific toolboxes in MATLAB, such as the Signal Processing Toolbox and the Audio System Toolbox.
* **Praat:** Scripts like [`computeFormants.m`](./computeFormants.m) and [`computePitch.m`](./computePitch.m) rely on data exported from Praat ([http://www.fon.hum.uva.nl/praat/](http://www.fon.hum.uva.nl/praat/)), a free software for phonetic analysis.