7939cac9b7 | ||
---|---|---|
.appveyor | ||
.idea | ||
corrscope | ||
tests | ||
.coveragerc | ||
.gitattributes | ||
.gitignore | ||
.pre-commit-config.yaml | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
appveyor.yml | ||
build_pyinstaller.py | ||
corrscope.spec | ||
poetry.lock | ||
pyproject.toml | ||
scripts.py | ||
setup.cfg |
README.md
Corrscope
Corrscope renders oscilloscope views of WAV files recorded from chiptune (game music from retro sound chips).
Corrscope uses "waveform correlation" to track complex waves (including SNES and Sega Genesis/FM synthesis) which jump around on other oscilloscope programs.
Sample results can be found on my Youtube channel at https://www.youtube.com/channel/UCIjb87rjJZxtNsHUdKXMsww/videos.
Dependencies
- FFmpeg
Installation
- Releases (recommended): https://github.com/nyanpasu64/corrscope/releases
- Dev Builds: https://ci.appveyor.com/project/nyanpasu64/ovgenpy/history
- Download Windows binary releases (zip files), then double-click
corrscope.exe
or runcorrscope (args)
via CLI. - Download cross-platform Python packages (whl), then install Python 3.6+ and run
pip install *.whl
.
- Download Windows binary releases (zip files), then double-click
Running from Source Code (cross-platform)
Install Python 3.6 or above (3.5 will not work), and Poetry.
# Install Poetry (only do this once)
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
# Install corrscope
cd path/to/corrscope
poetry install --develop corrscope
poetry run corr (args)
GUI Tutorial
- Open GUI:
corrscope.exe
to create new projectcorrscope.exe file.yaml
to open existing project
- Add audio to play back
- On the right side of the window, click "Browse" to pick a master audio file.
- Add oscilloscope channels
- On the right side of the window, click "Add" to add WAV files to be viewed.
- Edit settings
- Global settings on the left side of the window
- Per-channel on the right side
- Play or render to MP4/etc. video (requires ffmpeg)
- Via toolbar or menu
Command-line Tutorial
-
Create YAML:
corrscope split*.wav --audio master.wav -w
- Specify all channels on the command line.
-a
or--audio
specifies master audio track.- Creates file
master.yaml
.
-
Edit
master.yaml
to change settings. -
Play (requires ffmpeg):
corrscope master.yaml -p/--play
-
Render and encode MP4 video (requires ffmpeg)
corrscope master.yaml -r/--render
Contributing
Issues, feature requests, and pull requests are accepted.
This project uses Black code formatting. Either pull request authors can reformat code before creating a PR, or maintainers can reformat code before merging.
You can install a Git pre-commit hook to apply Black formatting before each commit. Open a terminal/cmd in this repository and run:
pip install --user pre-commit
pre-commit install