ECI1 is a research code repository for a continuous-speech EEG project on phoneme-level neural encoding of emotional speech in normal-hearing listeners and cochlear implant listeners.
The repository is intended to track code, notebooks without outputs, documentation, and small configuration files. Raw data, processed EEG data, generated audio, model outputs, and participant-related files stay local and are excluded from Git.
| Folder | Purpose | Git policy |
|---|---|---|
1_studysetup/ |
Study setup files and stimulus order metadata | Track only small source metadata; generated stimuli are ignored |
2_data/ |
Raw and processed EEG data | Ignored |
3_code/ |
MATLAB, Python, and Jupyter analysis code | Tracked |
4_presentation/ |
Presentation source and figures | Track source selectively; rendered large files are ignored |
5_writing/ |
Writing drafts and manuscript notes | Prefer Markdown docs in docs/; Word/PDF files are ignored |
emo_audio/ |
Original and generated emotional speech audio | Ignored |
resources/ |
MATLAB project metadata | Tracked if small and useful |
docs/ |
Project documentation and development notes | Tracked |
config/ |
Example shared pipeline configuration | Tracked |
The project workflow follows the research plan:
- Create and prepare emotional speech stimuli.
- Run acoustic and phoneme-level analyses.
- Preprocess continuous-speech EEG data.
- Estimate TRF models.
- Extract PRPs.
- Run statistical analysis and visualization.
The currently revised code sections are:
3_code/1_create_stimuli3_code/3_preprocessing
Later stages are still being adapted from the pilot project.
This project uses a project-level Python virtual environment in .venv/. The environment is local to this folder and is ignored by Git.
From the project root, activate the environment:
cd C:\projects\ECI1
.\.venv\Scripts\Activate.ps1Install or refresh the project packages from requirements.txt:
python -m pip install -r requirements.txtAfter activation, run Python scripts from the project root. For example:
python 3_code\2_acoustic_analysis\extract_phoneme_acoustic_contours.pyVS Code is configured to use .venv\Scripts\python.exe for this workspace. If VS Code does not pick it up immediately, run Python: Select Interpreter and choose the interpreter inside C:\projects\ECI1\.venv.
Initialize local Git from the project root:
git init
git branch -M main
git status --shortCreate an empty private repository named ECI1 on GitHub, then connect it:
git remote add origin <your-private-github-repo-url>
git push -u origin mainBefore each commit, check what will be tracked:
git status --short
git status --ignoredOnly code, documentation, small config files, and output-stripped notebooks should appear as tracked files.
Jupyter notebooks are tracked, but notebook outputs should not be tracked.
Install the notebook stripping tools in the Python environment you use for this project:
python -m pip install pre-commit nbstripout
pre-commit install
nbstripout --installThen test the setup:
nbstripout --status
pre-commit run --all-filesIf a notebook is large, clear output before committing.
Do not commit:
- Raw participant EEG files
- Processed EEG files
- Generated
.mat,.set,.fdt,.pkl, or.picklefiles - Original or generated audio
- Grant applications, drafts, consent documents, or participant-identifying material
- Notebook outputs
See docs/data_management.md for details.