- Author: Richard Wei
- Date: October 2018
This document is written for both the machine learning community and the Swift programming language design community, with a strong focus on language design.
| 0000000: 5249 4646 0ce0 0d00 5741 5645 666d 7420 RIFF....WAVEfmt | |
| 0000010: 3400 0000 feff 0200 44ac 0000 953e 0000 4.......D....>.. | |
| 0000020: e802 0000 2200 0008 0300 0000 bfaa 23e9 ....".........#. | |
| 0000030: 58cb 7144 a119 fffa 01e4 ce62 0100 285c X.qD.......b..(\ | |
| 0000040: 0000 0000 0000 0000 6661 6374 0800 0000 ........fact.... | |
| 0000050: 0025 2600 9009 0000 736d 706c 3c00 0000 .%&.....smpl<... | |
| 0000060: 0000 0000 0000 0000 9458 0000 3c00 0000 .........X..<... | |
| 0000070: 0000 0000 0000 0000 0000 0000 0100 0000 ................ | |
| 0000080: 1800 0000 0000 0000 0000 0000 9009 0000 ................ | |
| 0000090: 8f2e 2600 0000 0000 0000 0000 6461 7461 ..&.........data |
| use strict; | |
| use warnings; | |
| sub nif_check { | |
| my ($nif) = @_; | |
| my $check = 0; | |
| foreach my $i (reverse 0..7) { | |
| $check += substr($nif, $i, 1) * (9-$i); | |
| } | |
| $check %= 11; |
| # synthio_midi_synth.py - pretty usable MIDI-controlled synth using synthio in CircuitPython | |
| # 11 May 2023 - @todbot / Tod Kurt | |
| # Uses cheapie PCM5102 DAC on QTPY RP2040 | |
| # Features: | |
| # - midi velocity controls attack rate (gentle press = slow, hard press = fast) | |
| # - notes have small random detune on all oscillators to reduce phase stacking | |
| # - adjustable number of detuned oscillators per note 1-5 (midi controller 83) | |
| # - five selectable waveforms: saw, squ, sin, noisy sin, noise (midi controller 82) | |
| # - vibrato depth on mod wheel (midi controller 1) | |
| # |
This document is written for both the machine learning community and the Swift programming language design community, with a strong focus on language design.