3.2 KiB
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