update doc
This commit is contained in:
parent
9c4a7cd6d4
commit
a0b426eec8
|
@ -7,6 +7,17 @@ It has a music tracker interface. think of a piano roll, or a table that scrolls
|
||||||
|
|
||||||
Another core feature of Furnace is its windowing system, similar to that of GEMS or Deflemask, but with a few more features.
|
Another core feature of Furnace is its windowing system, similar to that of GEMS or Deflemask, but with a few more features.
|
||||||
|
|
||||||
|
## Interface
|
||||||
|
|
||||||
|
Furnace is built to have a user-friendly interface that is intentionally made so that it is quick and easy to get around when working in Furnace.
|
||||||
|
However, we understand that the interface may not be the easiest to learn, depending on how you learn, so there is documentation on it as well.
|
||||||
|
|
||||||
|
See [2-interface](https://github.com/tildearrow/furnace/tree/master/papers/doc/2-interface) and [3-pattern](https://github.com/tildearrow/furnace/tree/master/papers/doc/3-pattern) to view said documentation.
|
||||||
|
|
||||||
|
## Hexadecimal
|
||||||
|
|
||||||
|
Furnace uses hexadecimal (abbreviated as "hex") numbers frequently. see [hex.md](this guide) for a crash course.
|
||||||
|
|
||||||
## Sound generation
|
## Sound generation
|
||||||
|
|
||||||
Furnace generates sound from 3 different main types of sound sources.
|
Furnace generates sound from 3 different main types of sound sources.
|
||||||
|
@ -19,9 +30,3 @@ Wavetables only work in the sequencer if you bind them to an instrument. See [4-
|
||||||
To sequence a sample, you do not need to assign it to an instrument, however, to resample samples (change the speed of a sample), you need to bind it to a Sample instrument.
|
To sequence a sample, you do not need to assign it to an instrument, however, to resample samples (change the speed of a sample), you need to bind it to a Sample instrument.
|
||||||
See [6-sample](https://github.com/tildearrow/furnace/tree/master/papers/doc/6-sample) and [4-instrument](https://github.com/tildearrow/furnace/tree/master/papers/doc/4-instrument) for more details.
|
See [6-sample](https://github.com/tildearrow/furnace/tree/master/papers/doc/6-sample) and [4-instrument](https://github.com/tildearrow/furnace/tree/master/papers/doc/4-instrument) for more details.
|
||||||
|
|
||||||
## Interface/other
|
|
||||||
|
|
||||||
Furnace is built to have a user-friendly interface that is intentionally made so that it is quick and easy to get around when working in Furnace.
|
|
||||||
However, we understand that the interface may not be the easiest to learn, depending on how you learn, so there is documentation on it as well.
|
|
||||||
|
|
||||||
See [2-interface](https://github.com/tildearrow/furnace/tree/master/papers/doc/2-interface) and [3-pattern](https://github.com/tildearrow/furnace/tree/master/papers/doc/3-pattern) to view said documentation.
|
|
||||||
|
|
97
papers/doc/1-intro/hex.md
Normal file
97
papers/doc/1-intro/hex.md
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
# hexadecimal
|
||||||
|
|
||||||
|
the hexadecimal numeral system differs from the decimal system by having 16 digits rather than 10:
|
||||||
|
|
||||||
|
```
|
||||||
|
hex| decimal
|
||||||
|
---|---------
|
||||||
|
`0`| 0
|
||||||
|
`1`| 1
|
||||||
|
`2`| 2
|
||||||
|
`3`| 3
|
||||||
|
`4`| 4
|
||||||
|
`5`| 5
|
||||||
|
`6`| 6
|
||||||
|
`7`| 7
|
||||||
|
`8`| 8
|
||||||
|
`9`| 9
|
||||||
|
`A`| 10
|
||||||
|
`B`| 11
|
||||||
|
`C`| 12
|
||||||
|
`D`| 13
|
||||||
|
`E`| 14
|
||||||
|
`F`| 15
|
||||||
|
```
|
||||||
|
|
||||||
|
when there is more than one digit, these are multiplied by 16, 256, 4096 and so on rather than 10, 100, 1000:
|
||||||
|
|
||||||
|
```
|
||||||
|
hex | decimal
|
||||||
|
----|---------
|
||||||
|
`00`| 0
|
||||||
|
`04`| 4
|
||||||
|
`08`| 8
|
||||||
|
`0F`| 15
|
||||||
|
`10`| 16
|
||||||
|
`11`| 17
|
||||||
|
`12`| 18
|
||||||
|
`13`| 19
|
||||||
|
`20`| 32
|
||||||
|
`30`| 48
|
||||||
|
`40`| 64
|
||||||
|
```
|
||||||
|
|
||||||
|
# hex to decimal
|
||||||
|
|
||||||
|
for example, take hexadecimal number `AA`:
|
||||||
|
|
||||||
|
```
|
||||||
|
2nd digit -\ /- 1st digit
|
||||||
|
A A
|
||||||
|
16^1*10 = 16*10 = 160 + 10 = 170
|
||||||
|
```
|
||||||
|
|
||||||
|
now for hexadecimal number `4C5F`:
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
3rd digit -\ /- 2nd digit
|
||||||
|
4th digit -\ | | /- 1st digit
|
||||||
|
4 C 5 F
|
||||||
|
| | | |
|
||||||
|
| | | 15 = 15 = 15 +
|
||||||
|
| | \16^1*5 = 16 * 5 = 80
|
||||||
|
| \--- 16^2*12 = 256 * 12 = 3072
|
||||||
|
\--------- 16^3*4 = 4096 * 4 = 16384
|
||||||
|
-------
|
||||||
|
= 19551
|
||||||
|
```
|
||||||
|
|
||||||
|
# decimal to hex
|
||||||
|
|
||||||
|
if it's less than 16, just memorize the table at the top of this document.
|
||||||
|
|
||||||
|
otherwise find the power of 16 that is closest to the number you want to convert, but no larger than the number.
|
||||||
|
then divide, and take the remainder.
|
||||||
|
divide the remainder with the previous power of 16, until the divider is 1.
|
||||||
|
|
||||||
|
for example, for the decimal number `220`:
|
||||||
|
|
||||||
|
```
|
||||||
|
220 ÷ 16 = 13 (r = 12) D
|
||||||
|
12 ÷ 1 = 12 (stop here) C
|
||||||
|
|
||||||
|
= DC
|
||||||
|
```
|
||||||
|
|
||||||
|
now for decimal number `69420`:
|
||||||
|
|
||||||
|
```
|
||||||
|
69420 ÷ 65536 = 1 (r = 3884) 1
|
||||||
|
3884 ÷ 4096 = 0 (r = 3884) 0
|
||||||
|
3884 ÷ 256 = 15 (r = 44) F
|
||||||
|
44 ÷ 16 = 2 (r = 12) 2
|
||||||
|
12 ÷ 1 = 12 (stop here) C
|
||||||
|
|
||||||
|
= 10F2C
|
||||||
|
```
|
Loading…
Reference in a new issue