/usr/share/hydrogen/data/doc/manual.docbook is in hydrogen-doc 0.9.7-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 | <?xml version="1.0" encoding="UTF-8"?> <!-- -*- mode:nxml; indent-tabs-mode:nil; fill-column:80; -*- -->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.0//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd">
<book id="Hydrogen-manual" lang="en">
<bookinfo>
<title>Hydrogen Manual</title>
<authorgroup>
<author>
<firstname>Antonio</firstname>
<surname>Piraino</surname>
</author>
<author>
<firstname>Alessandro</firstname>
<surname>Cominu</surname>
</author>
<author>
<firstname>Thijs</firstname>
<surname>Van Severen</surname>
</author>
<author>
<firstname>Sebastian</firstname>
<surname>Moors</surname>
</author>
</authorgroup>
<date>06/september/2016</date>
<abstract>
<para>Hydrogen is a software synthesizer which can be used alone,
emulating a drum machine based on patterns, or via an external MIDI
keyboard/sequencer software. Hydrogen compiles on Linux, Mac OS X and Windows.</para>
</abstract>
</bookinfo>
<!--
###################
# FIRST CHAPTER #
###################
-->
<chapter id="chap.introduction">
<title>Introduction</title>
<section id="sect.download">
<title>Download</title>
<para>
You can download Hydrogen from
<ulink url="http://www.hydrogen-music.org/hcms/node/21">http://www.hydrogen-music.org</ulink>.
On the 'Downloads' page you can find several binaries (installers) for Linux, Mac and Windows. (note that some versions may not be available for Windows and Mac)
</para>
<para>
If you want to compile Hydrogen yourself (see <xref linkend="sect.compilation"/>), you can download the latest source files directly from our
git repository with:
<screen><prompt>$</prompt> <command>git clone git://github.com/hydrogen-music/hydrogen.git</command></screen>
A certain release can be fetched with:
<screen><prompt>$</prompt> <command>git checkout tags/0.9.6</command></screen>
</para>
<para>Compiling Hydrogen depends on the following libraries:</para>
<itemizedlist mark="opencircle">
<listitem>
<para>qt (>= 4.3) at <ulink url="http://www.qt.io">http://www.qt.io</ulink></para>
</listitem>
<listitem>
<para>libsndfile at <ulink url="http://www.mega-nerd.com/libsndfile/">http://www.mega-nerd.com/libsndfile/</ulink></para>
</listitem>
<listitem>
<para>ALSA (>= 1.x) at <ulink url="http://www.alsa-project.org">http://www.alsa-project.org</ulink>
(only if you wish to use ALSA as audio driver)</para>
</listitem>
<listitem>
<para>Jack Audio Connection Kit (>= 0.80) at
<ulink url="http://jackaudio.org/">http://jackaudio.org/</ulink>
(only if you wish to use Jack as audio driver)</para>
</listitem>
<listitem>
<para>PortAudio at <ulink url="http://www.portaudio.com">http://www.portaudio.com</ulink>
(only if you wish to use PortAudio as audio driver)</para>
</listitem>
<listitem>
<para>PulseAudio at <ulink url="http://www.pulseaudio.org">http://www.pulseaudio.org</ulink>
(only if you wish to use PulseAudio as audio driver)</para>
</listitem>
<listitem>
<para>Flac at <ulink url="http://flac.sf.net">http://flac.sf.net</ulink> (only if you
wish to use flac samples)</para>
</listitem>
<listitem>
<para>ladspa at <ulink url="http://www.ladspa.org">http://www.ladspa.org</ulink> (only if you wish
to use ladspa effects)</para>
</listitem>
<listitem>
<para>liblrdf at <ulink url="http://sf.net/projects/lrdf">http://sf.net/projects/lrdf</ulink> (only if you wish to use lrdf to categorise effects)</para>
</listitem>
<listitem>
<para>lash at <ulink url="http://lash.nongnu.org">http://lash.nongnu.org</ulink> (only if
you wish to use lash)</para>
</listitem>
</itemizedlist>
<para>Please install them with your distribution's package manager. If
you're running a debian-based system, you can install the libraries
with:</para>
<screen>
<prompt>$</prompt> <command>apt-get install libqt4-dev g++ libasound2-dev \
libjack-dev liblrdf0-dev libflac++-dev libtar-dev libsndfile1-dev \
liblash-dev libportaudio-dev libportmidi-dev libpulse-dev</command>
</screen>
</section>
<!-- COMPILATION -->
<section id="sect.compilation">
<title>Build</title>
<para>Depending on the branch you are compiling you will need to use cmake. Check the INSTALL.txt and the README.txt files for more info (located in the top level dir once you downloaded the sources).</para>
<para>Compiling with cmake can be done easily by using the build.sh script. Go to the directory where the git repository
was cloned and run the build.sh script without any arguments to display the help :</para>
<screen>
<prompt>$</prompt> <command>./build.sh</command>
</screen>
<para>The help is now displayed (and is self-explanatory) :
</para>
<screen>
<command> r[m] => all built, temp and cache files</command>
<command> c[lean] => remove cache files</command>
<command> m[ake] => launch the build process</command>
<command> d[oc] => build html documentation</command>
<command> g[raph] => draw a dependecies graph</command>
<command> h[elp] => show the build options</command>
<command> x|exec => execute hydrogen</command>
<command> t[ests] => execute tests</command>
<command> p[kg] => build source package</command>
<command>ex: ./build.sh r m pkg x</command>
</screen>
<para>To build Hydrogen run the build script with the 'm' option :
</para>
<screen>
<prompt>$</prompt> <command>./build.sh m</command>
</screen>
</section>
<section id="sect.preferences">
<title>Preferences</title>
<para>First of all you should make sure that the audio engine is
configured properly. The preferences dialog can be accessed via the tools
menu (tools -> preferences).</para>
<section id="sect.preferences.general_tab">
<title>The General tab</title>
<para>On the "General" tab (<xref linkend="fig.preferences.general_tab"/>) you can
choose to automatically reopen the last used song and/or playlist. This can save you
the trouble of having to reopen the song you are working on every time you open
Hydrogen. Auto loading the playlist can come in handy when you are using Hydrogen live.</para>
<para>If you want to use Lash for session management you should enable
it here so Hydrogen allows interaction with Lash. If jou are using Jack Session for session management
you have to option to let Hydrogen automatically save the song file in the Jack Session Directory.</para>
<para>The Beat Counter drift compensation and start offset allow you to compensate
for system latency when you are using the Beat Counter function (see <xref linkend="sect.tap_tempo"/>)</para>
<para>The Max number of bars in a song can be set here (currently limited to 800)
and if you want to use rubberband for sample time-streching (see <xref linkend="sect.layer_editing.section2"/>)
you need to enter the path where rubberband is installed on you system here.</para>
<!-- THIJS : NEED TO AD LINK TO SAMPLE EDITOR -->
<figure id="fig.preferences.general_tab">
<title>The General Tab</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/PreferencesGeneral_V3.png" format="PNG"/>
</imageobject>
</mediaobject>
</figure>
</section>
<section id="sect.preferences.audio_tab">
<title>The Audio System tab</title>
<para>From the "Audio System" tab (<xref
linkend="fig.preferences.audio_tab"/>) it is possible to modify the
audio driver being used (OSS, Jack, ALSA, PortAudio, PulseAudio, CoreAudio) with its buffer and
sampling rate (unless you are using JACK, in this case the audio driver
configuration should happen before starting the JACK server).</para>
<para>We can set some features of Hydrogen like "Create per-instrument outputs"
this will create 1 output per instrument that you can connect to any other Jack enabled application.
This can be useful if you want to add effects to a single instrument with
jack-rack for example. "Connect to Default Output Pair" connects the output to the
default ports: uncheck this if you want to connect the JACK output to other
ports without having to disconnect them first.</para>
<para>Also keep an eye on the value of "Polyphony": depending on your
CPU you may want to change the max simultaneous notes in order to
prevent hydrogen from overrunning the audio driver.</para>
<para>The "Interpolate resampling" parameter allows you to select your preferred
interpolation methode.</para>
<figure id="fig.preferences.audio_tab">
<title>The Audio System Tab</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/PreferencesAudioSystem_V3.png" format="PNG"/>
</imageobject>
</mediaobject>
</figure>
<para>
The following drivers are available:
</para>
<itemizedlist>
<listitem>
<para><emphasis role="bold">jackd</emphasis>: The Jack driver is a
professional audio server which permits very low lag and exchanges
with other audio software. <emphasis>We strongly recommend using
this driver to have the best out of Hydrogen</emphasis>. JACK
server will start automatically if not already running.</para>
</listitem>
<listitem>
<para><emphasis role="bold">ALSA</emphasis>: the widely adopted
Linux standard audio drivers</para>
</listitem>
<listitem>
<para><emphasis role="bold">OSS</emphasis>: The Oss audio driver
uses /dev/dsp and it's based on the OSS interface which is supported
by the vast majority of sound cards available for Linux; this said,
the use of this audio driver blocks /dev/dsp until Hydrogen is
closed i.e. unusable by any other software. Use it as last
resort.</para>
</listitem>
<listitem>
<para><emphasis role="bold">PortAudio</emphasis>: an open-source
multi platform audio driver</para>
</listitem>
<listitem>
<para><emphasis role="bold">CoreAudio</emphasis>: a driver for Mac
OS X (experimental)</para>
</listitem>
<listitem>
<para><emphasis role="bold">PulseAudio</emphasis>: a driver for the cross platform
PulseAudio sound server.</para>
</listitem>
</itemizedlist>
</section>
<section id="sect.preferences.midi_tab">
<title>The Midi System tab</title>
<para>The "Midi System" tab (<xref linkend="fig.preferences.midi_tab"/>)
contains all MIDI settings. Here you can choose the MIDI driver (ALSA, PortMidi,
CoreMidi or JackMidi) input, and channel(s) that Hydrogen should respond to.
<note><para>If you want to use Jack Session management you should select the
JackMidi driver. Jack Session management can only (re)store Jack midi connections.</para></note>
You can also define midi bindings: link a midi note/message to an action.
To do this simply press the red 'REC' button left of the event-action binding line.
A popup will inform you that Hydrogen is waiting for your input. Press/hit/turn
the key/pad/knob on your midi keyboard (or controller) that you want to link to
this action. The popup will close and the Event Param value will now show the
midi note value of the key you pressed. Once this is done you can select an Action
from the action drop-down list. Note that some actions (like SELECT_NEXT_PATTERN)
also require an Action Param that references the pattern you want to select with this midi action.</para>
<para>See <xref linkend="sect.midi"/> for more info on Midi actions.</para>
<figure id="fig.preferences.midi_tab">
<title>The MIDI System Tab</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/PreferencesMidiSystem_V2.png" format="PNG"/>
</imageobject>
</mediaobject>
</figure>
</section>
<section id="sect.preferences.appearance_tab">
<title>The Appearance tab</title>
<para>The "Appearance" tab (<xref
linkend="fig.preferences.appearance_tab"/>) let's you modify Hydrogen look
and feel (font settings and interface style). On this tab you can also change the
VU meters fall-off speed and switch between Single pane and Tabbed interface
mode (see <xref linkend="sect.UIoverview"/>)
</para>
<figure id="fig.preferences.appearance_tab">
<title>The Appearance Tab</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/PreferencesAppearance_V2.png" format="PNG"/>
</imageobject>
</mediaobject>
</figure>
</section>
<section id="sect.preferences.audio_engine_tab">
<title>The Audio Engine tab (debug only)</title>
<para>The "Audio Engine" tab (<xref linkend="fig.preferences.audio_engine_tab"/>)
is a window that shows various stats about
Hydrogen and the audio driver. In case JACK is used, buffer and sampling
rate should be set before starting Hydrogen (JACK automatically starts
when an application tries to connect).</para>
<para>Note that the Audio Engine tab is only available if Hydrogen was complied with
debug support.</para>
<figure id="fig.preferences.audio_engine_tab">
<title>The Audio Engine tab</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/AudioEngineInfoDialog.png" format="PNG"/>
</imageobject>
</mediaobject>
</figure>
</section>
</section>
</chapter>
<!--
####################
# SECOND CHAPTER #
####################
-->
<chapter id="chap.using_hydrogen">
<title>Using Hydrogen</title>
<!-- FILETYPES -->
<section id="sect.file_types">
<title>Used Filetypes</title>
<para>Before working with Hydrogen, please familiarize with these
filetypes:</para>
<itemizedlist>
<listitem>
<para><emphasis role="bold">*.h2pattern</emphasis>: XML file
describing a single pattern. Patterns are group of beats and are
managed in the pattern editor.</para>
</listitem>
<listitem>
<para><emphasis role="bold">*.h2song</emphasis>: XML file describing
the whole song (or sequence). Songs are group of patterns with their
properties and are manager using the song editor</para>
</listitem>
<listitem>
<para><emphasis role="bold">*.h2playlist</emphasis>: XML file
describing a playlist. A Playlist is a (ordered) group of songs.</para>
</listitem>
<listitem>
<para><emphasis role="bold">*.h2drumkit</emphasis>: a compressed and
archived folder containing all sound samples composing a drumkit and a
description XML file. Drumkits are basically group of sound
samples.</para>
</listitem>
</itemizedlist>
</section>
<!-- UI OVERVIEW -->
<section id="sect.UIoverview">
<title>The main User Interface : an overview</title>
<para>The Main UI comes in 2 flavors : the (classic) Single Pane mode (ideal for
large- and medium size screens), and the Tabbed mode (optimized for netbook screen
sizes).
</para>
<para>
Below you can see the main UI split up in 5 parts : the Main Menu, Main
Toolbar, Song Editor, Pattern Editor and the Instrument and Sound Library Editor.
These sections will be explained in detail further down in this manual.</para>
<figure id="fig.UI_overview">
<title>The Main UI in Single Pane mode</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/GUI_Sections_0.9.5_v2.png" format="PNG"/>
</imageobject>
</mediaobject>
</figure>
<figure id="fig.tabbed_UI_overview">
<title>The Main UI in Tabbed mode</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/MainUI_tabbed.png" format="PNG"/>
</imageobject>
</mediaobject>
</figure>
</section>
<!-- MAIN MENU -->
<section id="sect.main_menu">
<title>Main menu</title>
<para><emphasis role="bold">Projects</emphasis>: this menu offers file
related functions.</para>
<itemizedlist>
<listitem>
<para><emphasis>New</emphasis> - Create a new song</para>
</listitem>
<listitem>
<para><emphasis>Show Info</emphasis> - Set general properties of the
song such as name, author, license and generic notes</para>
</listitem>
<listitem>
<para><emphasis>Open</emphasis> - Open a song</para>
</listitem>
<listitem>
<para><emphasis>Open Demo</emphasis> - Open a demo song (demo songs
are stored in
<emphasis>$INSTALLPATH/share/hydrogen/data/demo_songs</emphasis>)</para>
</listitem>
<listitem>
<para><emphasis>Open recent</emphasis> - Open a menu showing last used
songs</para>
</listitem>
<listitem>
<para><emphasis>Save</emphasis> - Save changes to current song</para>
</listitem>
<listitem>
<para><emphasis>Save as</emphasis> - Save current song specifying a
name (default path:
<emphasis>$HOME/.hydrogen/data/songs)</emphasis></para>
</listitem>
<listitem>
<para><emphasis>Open pattern</emphasis> - Open a saved pattern
belonging to the current drumkit</para>
</listitem>
<listitem>
<para><emphasis>Export pattern as</emphasis> - Saves a
pattern. It will be stored in
<emphasis>$HOME/.hydrogen/data/patterns/drumkit_name</emphasis></para>
</listitem>
<listitem>
<para><emphasis>Export MIDI file</emphasis> - Export current song in
MIDI format</para>
</listitem>
<listitem>
<para><emphasis>Export song</emphasis> - Export current song in WAV
format (see <xref linkend="sect.song_editor.export_song"/>)</para>
</listitem>
<listitem>
<para><emphasis>Quit</emphasis> - Quit Hydrogen</para>
</listitem>
</itemizedlist>
<para><emphasis role="bold">Undo</emphasis>: Undo/Redo functions.</para>
<itemizedlist>
<listitem>
<para><emphasis>Undo</emphasis> - Lets you undo your last action</para>
</listitem>
<listitem>
<para><emphasis>Redo</emphasis> - Lets you redo the last undone action</para>
</listitem>
<listitem>
<para><emphasis>Command History</emphasis> - Gives you an overview of your previous
actions</para>
</listitem>
</itemizedlist>
<para><emphasis role="bold">Instruments</emphasis>: this menu offers
instruments and drumkit (sound libraries) functions.</para>
<itemizedlist>
<listitem>
<para><emphasis>Add instrument</emphasis> - Add a new instrument to
your current drumkit</para>
</listitem>
<listitem>
<para><emphasis>Clear all</emphasis> - Delete all instruments from the
current drumkit</para>
</listitem>
<listitem>
<para><emphasis>Save library</emphasis> - Saves all instruments
settings (and their sound samples) in
<emphasis>$HOME/.hydrogen/data/library_name</emphasis></para>
</listitem>
<listitem>
<para><emphasis>Export library</emphasis> - Compress all instruments
samples and settings in a drumkit in
<emphasis>$HOME/.hydrogen/data/library_name</emphasis></para>
</listitem>
<listitem>
<para><emphasis>Import library</emphasis> - Imports another drumkit
from the local filesystem or download it from a remote location
through an XML feed. The XML file that should be provided is <emphasis
role="bold">NOT</emphasis> RSS compliant (see <ulink
url="http://www.hydrogen-music.org/feeds/drumkit_list.php" >Hydrogen
website</ulink> for an example). To load another drumkit in your
current working session of Hydrogen, read <xref
linkend="sect.sound_library"/>.</para>
</listitem>
</itemizedlist>
<para><emphasis role="bold">Tools</emphasis>: opens the mixer, the director, the
playlist editor, the instrument rack and the general preferences
window.</para>
<itemizedlist>
<listitem>
<para><emphasis>Playlist editor</emphasis> - A tool to manage
playlists.</para>
</listitem>
<listitem>
<para><emphasis>Director</emphasis> - Open the director window.</para>
</listitem>
<listitem>
<para><emphasis>Mixer</emphasis> - Open the mixer window.</para>
</listitem>
<listitem>
<para><emphasis>Instrument rack</emphasis> - Open the instrument rack
panel.</para>
</listitem>
<listitem>
<para><emphasis>Preferences</emphasis> - Open the main preferences
window. Read <xref linkend="sect.preferences"/> on how to configure
Hydrogen.</para>
</listitem>
</itemizedlist>
<para><emphasis role="bold">Debug</emphasis>: tools mainly for debugging
and monitoring Hydrogen (only available when compiled with debug
support !).</para>
<itemizedlist>
<listitem>
<para><emphasis>Show audio engine info - </emphasis>Open a monitor
with various <link
linkend="sect.preferences.audio_engine_tab">stats</link></para>
</listitem>
<listitem>
<para><emphasis>debug action - </emphasis> Insert debug
commands.</para>
</listitem>
<listitem>
<para><emphasis>Print Objects - </emphasis>Print on stdout current
objects map.</para>
</listitem>
</itemizedlist>
<para><emphasis role="bold">Info</emphasis></para>
<itemizedlist>
<listitem>
<para><emphasis>User manual - </emphasis>Open a window with this
manual :)</para>
</listitem>
<listitem>
<para><emphasis>About - </emphasis>The usual window with license
information, acknowledgements, etc.</para>
</listitem>
</itemizedlist>
</section>
<!-- MAIN TOOLBAR -->
<section id="sect.main_toolbar">
<title>The main toolbar</title>
<para>Before analyzing the two main frames of Hydrogen, let's take a quick
look at the main toolbar and its components:</para>
<itemizedlist>
<listitem>
<para>Pilot the song using the start, stop, pause, etc. buttons</para>
</listitem>
<listitem>
<para>Choose between "pattern" or "song" mode: in "pattern" mode only
the currently selected pattern will play, while in "song" mode all
patterns inserted will be played.</para>
</listitem>
<listitem>
<para>An advanced tap tempo function: choose note length and how many
notes to wait before recalculating BPM, then hit the comma key
repeatedly until the 'R' letter appears and then the BPM will be
updated. (see <xref linkend="sect.tap_tempo"/>)</para>
</listitem>
<listitem>
<para>Manually set BPM</para>
</listitem>
<listitem>
<para>Manage JACK transport</para>
</listitem>
<listitem>
<para>Open the mixer and the instrument rack panels</para>
</listitem>
</itemizedlist>
<figure id="fig.main_toolbar">
<title>The Main Toolbar</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/MainToolbar_V2.png" format="PNG"/>
</imageobject>
</mediaobject>
</figure>
<itemizedlist mark="opencircle">
<listitem>
<para><inlinemediaobject><imageobject><imagedata
fileref="img/background_Control_V2.png" format="PNG"/>
</imageobject></inlinemediaobject></para>
<para>Main controls to start <emphasis role="bold">[Hotkey =
Spacebar]</emphasis>, stop, record, fast forward, rewind, loop a song or a
pattern.</para>
</listitem>
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/background_Mode.png" format="PNG"/>
</imageobject></inlinemediaobject></para>
<para>Set Pattern/Song Mode. When Song mode is selected Hydrogen will play
the complete song. This is the sequence of patterns you have created in the Song
Editor (see <xref linkend="sect.song_editor"/>). When Pattern mode is selected
Hydrogen will play the pattern that is currently selected, and thus displayed
in the Pattern Editor (see <xref linkend="sect.pattern_editor"/>).</para>
</listitem>
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/MeasureSettings.png" format="PNG"/>
</imageobject></inlinemediaobject></para>
<para>Set measure type and Beat Counter (see <xref linkend="sect.tap_tempo"/>).</para>
</listitem>
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/background_BPM.png" format="PNG"/>
</imageobject></inlinemediaobject></para>
<para>Set speed of playing (range: 30-400 bpm) <emphasis
role="bold">[Hotkey = mouse wheel]</emphasis> and button to
enable/disable metronome</para>
</listitem>
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/MidiIN_CPU.png" format="PNG"/>
</imageobject></inlinemediaobject></para>
<para>Shows CPU load and MIDI events. The CPU bargraph gives you an indication of the CPU load. The MIDI led lights up every time Hydrogen receives a midi message.</para>
</listitem>
<!--
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/midi_in.png" format="PNG"/>
</imageobject></inlinemediaobject></para>
<para>Shows MIDI events.</para>
</listitem>
-->
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/JackTrans_Master.png" format="PNG"/>
</imageobject></inlinemediaobject></para>
<para>Click J. TRANS to enable Jack transport. If the J. MASTER button is pressed Hydrogen will work as 'master', else it will act as 'slave'
to another 'master' program (e.g. Ardour). Note that this applet is only
available if Jack Audio Driver is selected, <emphasis>NOT</emphasis> when the Audio driver is set to 'Auto'.</para>
</listitem>
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/mixer-instrrack_btn.png" format="PNG"/>
</imageobject></inlinemediaobject></para>
<para>
The last section gives you quick access to the Mixer window and the Instrument Rack.
The LCD screen displays what Hydrogen is up to.
</para>
</listitem>
</itemizedlist>
<!-- TAP TEMPO -->
<section id="sect.tap_tempo">
<title>Tap Tempo and BeatCounter</title>
<para>It is possible to change the tempo at any time using the tap-tempo and
BeatCounter features of Hydrogen. You can do this while the song is playing or
while the song is stopped. To change the tempo, hit the
<keycap>,</keycap> (comma) key in the tempo you want.
After the correct number of keystrokes have been detected (see
below for details), the tempo will change to the average tempo
you tapped the comma key. If you continue to tap,
these new taps will become a part of a rolling average. If you tap
accidentally, or if you wait too long between taps, the tap tempo
counter will start over.</para>
<para>The Tap Tempo is a part of the BeatCounter, which is essentially a
Tap Tempo on steroids. By default the BeatCounter display is not
visible. To see the BeatCounter widget click the upright button
(<guilabel>BC</guilabel>) between Song/Pattern mode selector and the
BPM-widget, or, simply press the comma key.
(<keycap>,</keycap>).</para>
<para>The tempo that you tap will be considered even beats of the song's
beat type. The beat type can be set to 1/8 (for eight-note beats), 1/4 (for
quarter-note beats), 1/2 (for half-note beats), and 1/1 (for whole-note
beats). To change the beat type use the left +/- buttons. To change
the Countdown Counter value, use the right +/- buttons. The Countdown
Counter value can be set between 2 and 16 beats. (I.e. if you set the beat to 6, you will
have to tap 6 times before the new tempo is computed and set.) When the
display shows an <guilabel>R</guilabel>, it means that the BeatCounter
is ready to start from 0. When you tap the comma key, the R will change to
1, and will increment with every keystroke until it reaches the Countdown
Counter value (shown just below the 'R').</para>
<para>The button in the bottom right-hand controls the auto-start
feature, and it toggles between <guilabel>S</guilabel> and
<guilabel>P</guilabel>. When it shows <guilabel>P</guilabel> for
(<emphasis>Play</emphasis>), the song will set the new tempo and
automatically start to play after you tap the right number of beats (if
it's not already playing, of course). This way, if you have the
BeatCounter set up for 4/4, you can tap 1-2-3-4, and start playing on
the next beat. When it shows <guilabel>S</guilabel> (for <emphasis>Set
BPM</emphasis>), the auto-start is disabled.</para>
<para>For example: Suppose you have a live band, Hydrogen, and a
softsynth that is controlled by Seq24)... and you want them all to start
at the same time. Set the beat type to 1/4 and the number of beats to
4. Enable auto-start (button shows <guilabel>P</guilabel>). Count off
the band 1-2-3-4 (while tapping the comma key) — and everyone
starts on 1.</para>
<para>Another example: Same situation, but the song doesn't require
Hydrogen or synths until some point later. During that time, a human
(e.g. guitar player) will be setting the tempo. On the measure before
Hydrogen is supposed to play, tap the comma key 1-2-3-4 with the
beat... and you're in on the next beat (at the right tempo).</para>
<para>If you are using the JACK Transport, the BeatCounter continues to
work. If another program is the JACK Transport Master, Hydrogen will
respond to tempo change events from that application. Note that in this
situation, Hydrogen is supposed to be a <emphasis>slave</emphasis>, so
some of the BeatCounter features will be disabled or will not work
properly. If Hydrogen is the JACK Transport Master, tempo changes from
Hydrogen will be reflected in those programs (if they support
it).</para>
<para>Some of the settings to adjust the BeatCounter's latency
compensation, are located on the General tab of the Preferences Dialog
(see <xref linkend="sect.preferences.general_tab"/>
). Here you will finde two spinboxes:</para>
<itemizedlist>
<listitem><para><emphasis role="bold"><guilabel>Beat counter drift
compensation in 1/10ms</guilabel></emphasis> — adjust to
compensate for latency between the keyboard and the
program.</para></listitem>
<listitem><para><emphasis role="bold"><guilabel>Beat counter start
offset in ms</guilabel></emphasis> — adjust the time between the
BeatCounter's last input stroke and when the song starts playing (if
auto-start is activated).</para></listitem>
</itemizedlist>
<para>Note that these can be set to positive (+) or negative (-) values.
In order to find useful values for these, you will need to take some
time to play with it. Also, you may want different values depending on
the speed of your hardware, audio devices, drivers, etc. Using the
BeatCounter effectively requires practice.</para>
</section>
</section>
<!-- SONG EDITOR -->
<section id="sect.song_editor">
<title>Song Editor</title>
<para>The "Song Editor" (<xref linkend="fig.song_editor"/>) gives an
overview of the whole timeline of the song (e.g. intro, verse, bridge,
chorus and so on); each blue colored square on this panel represents a complete
bar as shown in the underlying "Pattern Editor" panel. The song editor gives
you complete freedom to add/remove patterns to the song and to move or
copy any part of your song.
<figure id="fig.song_editor">
<title>The Song Editor</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/SongEditor.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
</para>
<section id="sect.song_editor.main_controls">
<title>Main controls</title>
<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/bg_topPanel.png" format="PNG"/>
</imageobject>
</inlinemediaobject>
</para>
<itemizedlist mark="opencircle">
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/btn_clear_off.png" format="PNG"/>
</imageobject></inlinemediaobject> Completely delete all patterns
(asks for confirmation!).
</para>
</listitem>
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/btn_new_on.png" format="PNG" />
</imageobject></inlinemediaobject> Create a new pattern (and asks
for a name).
</para>
</listitem>
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/btn_updown.png" format="PNG" />
</imageobject></inlinemediaobject> Move currently selected pattern
up or down.</para>
<para>Note that you can also just drag-and-drop a pattern up/down in the pattern list.</para>
</listitem>
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/btn_select.png" format="PNG"/>
</imageobject></inlinemediaobject> Enable Select Mode. This mode allows
you to select a part of the song and delete/move/copy it.</para>
<para>Once you have selected a part of your song you can <emphasis role="bold">delete</emphasis>
it by pressing the Delete button. You can <emphasis
role="bold">move</emphasis> it by simply dragging your selection
to another location, and you can also <emphasis role="bold">copy</emphasis>
you selection by Ctrl-dragging it to a new location.
</para>
</listitem>
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/btn_draw.png" format="PNG"/>
</imageobject></inlinemediaobject> Enable Draw Mode. This mode allows
you to create a song by drawing blocks on the song canvas.</para>
<para>Clicking a square on the song canvas will add a pattern (the square
will turn blue), clicking it again will remove that pattern from the song.
</para>
</listitem>
<listitem>
<para><inlinemediaobject><imageobject>
<imagedata fileref="img/btn_pattern_mode.png" format="PNG"/>
</imageobject></inlinemediaobject> set Hydrogen to "Single pattern mode"
<inlinemediaobject><imageobject>
<imagedata fileref="img/stacked_mode_V3.png" format="PNG"/>
</imageobject></inlinemediaobject>
or to "Stacked pattern mode".</para>
<para>For more info on this see the SELECT_NEXT_PATTERN midi action in <xref linkend="sect.midi"/>.
</para>
</listitem>
</itemizedlist>
</section>
<section id="sect.song_editor.tempo_and_markers">
<title>Tempo markers and song Tags</title>
<para>This section describes how you can define tempo changes and
how you can add tags to your song.</para>
<para>The majority of songs consist of several parts (intro, verse, chorus ...) and
often these parts will have a different tempo. Hydrogen provides an easy way
to let you change the tempo of a song at any given moment in the song. This is
done by adding Tempo change Markers to your song.</para>
<para>To add a Tempo change marker to your song you first need to enable the 'BPM' option
(the BPM button is located just above the Song editors main controls). Once this is done
the horizontal bar next to the BPM button changes to a ruler with marks at every bar.
Now simply left-click this ruler at the bar you want the tempo to change and a
window will pop up where you can enter the new tempo.
<informalfigure id="fig.add_tempo_change">
<mediaobject>
<imageobject>
<imagedata fileref="img/add_tempo_change.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
Once you have entered the new tempo and clicked OK, the tempo change will
show up on the tempo ruler. If you click the Tempo marker again you can edit
the tempo, change the bar or delete the tempo marker.
<informalfigure id="fig.tempo_bar">
<mediaobject>
<imageobject>
<imagedata fileref="img/tempo_bar.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
</para>
<para>
In addidtion to changing the tempo when the song switches from intro > verse,
it is also very handy to have a clear indication of this tempo switch (or any other
event in the song). For this purpose you can also ad Tags markers to the song.
These Tags are short text messages you can add to your song at any given
moment that will be displayed whenever the song playhead passes by that Tag.</para>
<para>
To add a Tag to your song simply middle-click on the song ruler (just below the
tempo ruler) and a window will pop up where that allows you to add text for any bar.
<informalfigure id="fig.add_tag">
<mediaobject>
<imageobject>
<imagedata fileref="img/add_tag.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
Once you are done you will see a small blue 'T' in the song ruler for every tag
you have entered. Middle-click anywhere on the song ruler to edit the tags.
<informalfigure id="fig.tag_bar">
<mediaobject>
<imageobject>
<imagedata fileref="img/tag_bar.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
</para>
<para>
Now all we need is a way to see the tags we have entered. This can be done
using the Director window. Open the Director by pressing Alt-D, or Tools- Director :
<informalfigure id="fig.director">
<mediaobject>
<imageobject>
<imagedata fileref="img/screenshot-director.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
The Director is your best friend when you need a quick overview of what Hydrogen
is currently doing. This comes in very handy when you are recording a song, or
if you are using Hydrogen live on stage.</para>
<para>
The Director shows you the song name, a visual metronome and of course the
song Tags. Just below the metronome you can see the latest tag, and below that
the next upcoming tag. This way you have a nice overview of what is going on,
and what is about to happen in the song
</para>
</section>
<section id="sect.song_editor.pattern_options">
<title>Patterns options</title>
<para>Right-clicking the name of a pattern will show you a menu
where you can change a number of things :</para>
<figure id="fig.song_editor.virtualPattern.selectedMenu">
<title>The Pattern Options menu</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/Virtual_patterns_menu.png" format="PNG"/>
</imageobject>
</mediaobject>
</figure>
<itemizedlist mark="opencircle">
<listitem>
<para>Edit : will open the selected pattern in the Pattern Editor.
</para>
</listitem>
<listitem>
<para>Copy : will copy the selected pattern to a new pattern in your song.
</para>
<para>Note that patterns with the same name are not allowed.</para>
</listitem>
<listitem>
<para>Delete : will completely remove the selected pattern from the song.
</para>
</listitem>
<listitem>
<para>Fill/Clear : will open a window that allows you to fill/clear a
part of the song with the selected pattern by entering the start- and end bar.
<informalfigure id="fig.fill_clear_pattern">
<mediaobject>
<imageobject>
<imagedata fileref="img/fill_clear_pattern.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
</para>
</listitem>
<listitem>
<para>Properties : will open a window where you can change
the name of the pattern and also assign it to a certain category.
<informalfigure id="fig.pattern_properties">
<mediaobject>
<imageobject>
<imagedata fileref="img/pattern_properties.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
</para>
<para>Note that you can choose one of the existing categories from the dropdown list,
but you can also enter a new category name in the Pattern Category box.</para>
</listitem>
<listitem>
<para>Load Pattern : will open the selected pattern in the Pattern Editor.
</para>
</listitem>
<listitem>
<para>Save Pattern : will open the selected pattern in the Pattern Editor.
</para>
</listitem>
<listitem>
<para>Virtual Pattern : will open the selected pattern in the Pattern Editor.
</para>
<para>
Virtual patterns are a convenient way of grouping patterns together.
For example, say you have a song in which three patterns are always
played together at the start of each bar. Previously, the way to do this
in the pattern matrix was to explicitly enable the three patterns at each bar.
</para>
<para>
With virtual patterns we can assign a pattern to be a sort of meta-pattern
that implicitly invokes these three patterns together when the new virtual pattern
is enabled in the pattern matrix. This way, we only need to set one pattern every
bar, instead of three.
</para>
<para>
Virtual patterns provide a function that's similar to the regular pattern editor, and one could argue that
since a virtual pattern is also a regular pattern, we could have just merged the three
patterns into this new one. However, the advantage that virtual patterns provide is that
if one of the original three patterns changes, the virtual pattern automatically inherits
the change. A virtual pattern can also invoke other virtual patterns.
</para>
</listitem>
</itemizedlist>
</section>
<section id="sect.song_editor.export_song">
<title>Exporting your song</title>
<para>Once your song is finished you can export it to an audio file.
This audio file can then be played on your favorite media player or imported
in an other audio application.</para>
<para>
To do this, go to Project - "Export song" and the following window will pop up:
<figure id="fig.Export_song">
<title>Export a song</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/Export_song.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
To export a song you need to do 3 things:
</para>
<itemizedlist mark="opencircle">
<listitem>
<para>Enter a name and location for the export file in the 'Export filename' field
</para>
</listitem>
<listitem>
<para>Select one of the available templates (e.g. CD, DAT ...) according to your needs:
each template has a specific bitrate, resolution, and audio format (WAV, AIFF, FLAC or OGG).
You can tweak the selected template using the samplerate/sampledepth dropdown boxes
underneath the template field.
</para>
</listitem>
<listitem>
<para>Export mode: 'Export to a single track' will export 1 stereo downmix of your
song (= the master output). 'Export to separate tracks' will create files for each
instrument/track. 'Both' will create a stereo downmix + audio files for all individual
instruments.
</para>
</listitem>
</itemizedlist>
<para>
Once all these settings have been configured all you need to do is click the 'Export'
button and Hydrogen will generate the requested files.
</para>
<note>
<para>
If you have tempo changes in your song (see <xref linkend="sect.song_editor.tempo_and_markers"/>)
these tempo changes will not be exported. This is a know limitation of the current versions
(including 0.9.6)
</para>
<para>
As a workaround you can record the output of Hydrogen with an audio recording
application (like Ardour, Qtractor ...)
</para>
</note>
</section>
</section>
<!-- PATTERN EDITOR -->
<section id="sect.pattern_editor">
<title>Pattern Editor</title>
<para>The "Pattern Editor"
allows you to create or modify the selected pattern by adding/removing notes and tunning
a number of per-note properties like velocity and pan.
The Pattern Editor
can be used in 2 modes : 'Drum' mode or 'Piano' mode. You can switch between these
modes by clicking the Drum/Piano button (located on the top-right of the Pattern Editor)
<note>
<itemizedlist mark="opencircle">
<listitem><para>
If you are editing a pattern in Single Pattern Mode you will always hear the pattern you are
editing when you press play.</para></listitem>
<listitem><para>If you are working in Stacked Pattern Mode you will hear the <emphasis>active</emphasis> pattern(s),
not necessarily the pattern you are currently editing.
(The active patterns have a small triangle next to the pattern name in the Song Editor).
</para></listitem>
</itemizedlist>
</note>
</para>
<para>First let's take a look at the (classic) 'Drum' mode :
<figure id="fig.PatternEditor_DrumMode">
<title>Pattern Editor in Drum mode</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/PatternEditor_DrumMode.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
</para>
<section id="sect.pattern_editor.controls">
<title>Pattern Editor Controls</title>
<para>The top part of the pattern editor contains a number of controls :</para>
<figure id="fig.PatternEditorControls">
<title>Pattern Editor Controls</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/PatternEditorControls.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
<para>From left to right : </para>
<itemizedlist mark="opencircle">
<listitem><para><emphasis role="bold">SIZE</emphasis> : lets you choose the size of the pattern (the number of bars)</para></listitem>
<listitem>
<para>
<emphasis role="bold">RES</emphasis> : this is the current grid resolution (4 through 64)
</para>
<para>
Remember this constraint concerning the grid: if you are working
with a resolution of 16 you can't go back to 8 and remove a 16th note. On
the other hand if you are working with a resolution of 8 and you try to
insert a note in the middle of two bars (looking for a 16 bars precision),
notes will be placed in the previous or in the following 8th bar. This
constraint can be removed if you disable the whole grid resolution (choose
"off" from the grid resolution LCD control). Now you'll be able to place
notes wherever you prefer.</para>
</listitem>
<listitem><para><emphasis role="bold">HEAR</emphasis> : when enabled Hydrogen
will play the sample as it's being added to the pattern.</para></listitem>
<listitem><para><emphasis role="bold">QUANT</emphasis> : enables/disables quantization.
When enabled the beats inserted
will automatically respect the grid resolution currently applied.</para></listitem>
<listitem><para><emphasis role="bold">Drumset / Instrument</emphasis> :
when set to Drumset the keys on your midi keyboard will map to the instruments in your drumkit as
described in the instrument mapping table below. If you set it to Instrument the keys of your midi
keyboard will trigger the instrument that is currently selected. The pitch of the instrument will follow
the key you press on your keyboard. This feature is mainly used for non-drum instruments. An example :
if you use a sample of a piano for one of your instruments, you will be able to 'play' that piano instrument
using your keyboard just like you are playing a piano synth.</para></listitem>
<listitem><para><emphasis role="bold">Note Length / Note off</emphasis> : these are 2 different
ways to define the duration of a note. See <xref linkend="sect.pattern_editor.sequence_area"/> for usage.</para></listitem>
<listitem><para><emphasis role="bold">Drum/Piano</emphasis> : switch Pattern Editor
between Drum and Piano mode. (see below)</para></listitem>
</itemizedlist>
</section>
<section id="sect.pattern_editor.drumkit">
<title>Pattern Editor Drumkit</title>
<para>The section on the left shows you what drumkit is currently selected (GMkit by default) and below that you can see
the instruments that are part of this kit.</para>
<para>
<inlinemediaobject id="ifig.pattern_editor_instrument">
<imageobject>
<imagedata fileref="img/PatternEditorInstr_V2.png" format="PNG" />
</imageobject>
</inlinemediaobject>
</para>
<para>Each instrument has its own set of features that are accessible by
right-clicking the instrument. From the context menu that pops up you can select </para>
<itemizedlist mark="opencircle">
<listitem><para><emphasis role="bold">Clear notes</emphasis> : to remove all notes for this instrument in this pattern. </para></listitem>
<listitem><para><emphasis role="bold">Fill notes</emphasis> : this allows you to fill
up the pattern with notes for the selected instrument. Depending on the choice you make (fill all, fill 1/2, fill 1/4 ...)
notes will be placed at all, 1/2, 1/4, etc of the note positions <emphasis role="bold">that are allowed by
the grid setting</emphasis>. So be careful not to mix up the 'musical' 1/2-note and the 'fill 1/2' note.</para></listitem>
<listitem><para><emphasis role="bold">Randomize velocity</emphasis>
: automatically apply a pseudo-random velocity to each note of that
instrument in the pattern. The more velocity you set on the instrument,
the more hydrogen will hit <quote>hard</quote> on that instrument when
played.
</para></listitem>
<listitem><para><emphasis role="bold">Delete Instrument</emphasis> : well, deletes the instrument ;-)</para></listitem>
</itemizedlist>
<para>The small red and green buttons right of the instrument names are the
<quote><emphasis role="bold">mute</emphasis></quote> (red) and <quote><emphasis
role="bold">solo</emphasis></quote> (green) buttons.</para>
<para>The order of the instruments can be rearranged by simply dragging an instrument
up/down in the list and dropping it on a new position within the drumkit. Doing so
will not change anything to the sequence you have created for that instrument, nor will
it change anything to the song or pattern you are working on. It <emphasis role="bold">
will</emphasis> however, have an impact on the <emphasis role="bold">MIDI note
mapping</emphasis> : in the table below you can find the link between the instrument
position, the MIDI note and the qwerty keyboard keys.</para>
<para><emphasis role="bold">Important Notes</emphasis> :</para>
<para>The name of the instrument depends on the
drumkit that is loaded. This list below refers to the GMkit that is loaded by default.
</para>
<para>Try to follow the GM midi standard as accurately as possible. This will ensure that switching between
drumkits goes smoothly. You are of course free to place your instruments anywhere in your drumkit, and
sometimes it isn't even possible to follow the GM standard, but it makes life a lot easier if you do.</para>
<para>
Keep in mind that it is the <emphasis>position</emphasis> of the instrument (within the loaded drumkit) that
is linked to a MIDI-note/keyboard-key and <emphasis>not the name</emphasis> of the instrument.
</para>
<informalfigure id="fig.InstrumentMapping">
<mediaobject>
<imageobject>
<imagedata fileref="img/InstrumentMapping.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
<para>Here's a quick reference of the above bindings for your
convenience. </para>
<informalfigure id="fig.letters_keyboard">
<mediaobject>
<imageobject>
<imagedata fileref="img/tastiera.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
</section>
<section id="sect.pattern_editor.sequence_area">
<title>Pattern Editor Sequence area</title>
<para>This is where it all happens, this is where you can make music :-)</para>
<para>In this area you can see your selected pattern and add notes for any instrument.
The simplest way to create a pattern is by adding notes using your mouse
(and the 'Fill/Clear notes' function described above). Where you can add notes
depends on the used pattern size and resolution.</para>
<para>If you are using Hydrogen as a pure 'drum' you just want Hydrogen to 'hit'
the instrument wherever there's a 'dot' in the pattern. If you are using Hydrogen as an 'instrument', the
length of the note becomes very important. There are 2 ways to define the length of
a note : in 'Note Length' mode you can add a note by left-cliking, and you can 'stretch' that note by right-click-dragging it.
This will change the dot into a rectangle that represents the duration of that note. In 'Note Off' mode you can also add a
note by left-clicking, but a right-click will now add a blue dot that represents the end of that note.
<informalfigure id="fig.NoteOff_NoteLength">
<mediaobject>
<imageobject>
<imagedata fileref="img/NoteOff_NoteLength.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
(Figure above, from left>right : a 'normal' note, a note in 'note length' mode, a note in 'note off' mode)
</para>
<para>So far we have only used the mouse to create a pattern, but you can also record your beats by clicking the Record button
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/Rec_button.png" format="PNG"/>
</imageobject>
</inlinemediaobject>
(see <xref linkend="sect.main_menu"/>) and simply playing your pattern on your
MIDI drum or your pc keyboard (see instrument mapping above). This is probably
a more musical way of creating a pattern, but it's up to you to decide what works best for you.
(Also see <xref linkend="chap.create_song"/> for a basic
walk-through of how the pattern editor works) </para>
</section>
<section id="sect.pattern_editor.note_properties">
<title>Pattern Editor Note Properties</title>
<para>Clicking on an instrument or adding/removing a note next to it
will select this instrument. Once an instrument is selected the note properties
for this instrument will be shown in the form of vertical lines in the bottom window.
The lines represent the value for the selected property of each note of the selected instrument.
You can select another note-property from the note property drop-down list (located bottom-left).
There are 4 note properties available :
<itemizedlist mark="opencircle">
<listitem>
<para><emphasis role="bold">Velocity</emphasis> : how hard the note is played (the volume of the note)</para>
<para>
Note that the color of the note-dot and the vertical bar will change according to the velocity value you have defined.
A light shade of gray means a low velocity (low volume) and the higher you set the velocity the darker the color will be,
turning red when you reach the point of clipping.
</para>
</listitem>
<listitem>
<para><emphasis role="bold">Pan</emphasis> : with this parameter you can define
the stereo image of the note (how loud it will be in the left/right output)</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">Lead/Lag</emphasis> : Lead and Lag allows a slight note
lead or lag in respect of the actual beat. The range is ca. 5 ticks which
equals around ca. 10 ms at a tempo of 120bpm. Changing the lead/lag can make a huge
difference to the way your pattern sounds and feels. It's a groove thing ;-)
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">Notekey</emphasis> : if you select this note parameter the
area where you can modify the parameter will change into a 'piano keyboard'
</para>
<informalfigure id="fig.NoteKey">
<mediaobject>
<imageobject>
<imagedata fileref="img/NoteKey.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
<para>The striped black and white area represents a piano keyboard and in the gray
area you can choose the octave. By placing a dot on the octave scale and a dot on the
'keyboard' you can choose any note.</para>
</listitem>
</itemizedlist>
</para>
</section>
<section id="sect.pattern_editor.piano_mode">
<title>Pattern Editor Piano mode</title>
<para>Drum mode (see <xref linkend="fig.PatternEditor_DrumMode"/>) focuses on using Hydrogen as a drum machine.
If you are using Hydrogen as an instrument there is a big chance that the Piano mode is for you.
It gives you a complete 'piano keyboard' so you can easily put down your tunes.</para>
<para>You can compare the Piano mode to the Note properties Notekey (described above), only here you have a
complete piano keyboard, so you dont have to select the octave first.</para>
<figure id="fig.PatternEditor_PianoMode">
<title>Pattern Editor in Piano mode</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/PatternEditor_PianoMode.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
</section>
</section>
<!-- MIXER -->
<section id="sect.mixer">
<title>Mixer</title>
<para>The Mixer window can be opened by pressing Alt+M, by clicking
Mixer in the Tools menu, or by clicking the Mixer button on the main toolbar.
</para>
<para>The Mixer consists of 3 sections (left>right) : the instrument channel strips,
the FX plugin rack and the master fader section. The Hydrogen Mixer works very
much like a hardware mixer does : it lets you set the volume, pan, FX and several
other things for every instrument.
<figure id="fig.mixer">
<title>The Mixer</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/Mixer.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
</para>
<section id="sect.mixer.channel_strips">
<title>Instrument channel strips</title>
<para>From top to bottom : the 2 top elements on the strip are a 'play' button / 'trig' led combination.
(
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/btn_play_on_mixer.png" format="PNG" />
</imageobject>
</inlinemediaobject>
)
The play button lets you trigger the instrument at maximum velocity (handy for checking clipping),
and the trig led lights up whenever this instrument is triggered (from the song sequence,
or by an external midi controller). Right of this button/led you will find another led that shows
you what instrument is currently selected. This is also the instrument that is selected in the pattern editor.
As soon as you change one of the settings of a channel strip the instrument will be selected.</para>
<para>Just below you can find the Mute
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/btn_mute_on.png" format="PNG" />
</imageobject>
</inlinemediaobject>
and Solo
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/btn_solo_on.png" format="PNG" />
</imageobject>
</inlinemediaobject>
buttons and the Pan(orama) knob.
Note that the Mute and Solo states are also reflected in the Song editor.</para>
<para>
Next are 4 pre-fader FX send knobs that determine how much of this instrument will be sent to
the effect plugins in the FX rack.
<informalfigure id="fig.FX_send_knobs">
<mediaobject>
<imageobject>
<imagedata fileref="img/FX_send_knobs.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
Just below that you can find an LCD peak-value display,
and finally the volume fader and VU meter for that instrument.</para>
<para><emphasis role="bold">IMPORTANT NOTE</emphasis> : keep in mind that the volume and pan settings that you
find on the Mixer are global settings. The per-note velocity and pan settings in the Pattern editor
are settings that are relative to the settings in the Mixer window !</para>
</section>
<section id="sect.fx_rack_LADSPA">
<title>FX rack and LADSPA plugins</title>
<para>The FX rack has 4 bays where you can load a LADSPA effect plugin, but before
you can load any plugins these must be installed (surprised ? ;-)</para>
<para>There are dozens of plugins available for download from various sources :
<itemizedlist>
<listitem>
<para>SWH-Plugins available at <ulink
url="http://plugin.org.uk">http://plugin.org.uk</ulink>. </para>
<para>(Note : if you want to compile these plugins
you need the FFTW tarball from <ulink
url="http://www.fftw.org">http://www.fftw.org</ulink>)</para>
</listitem>
<listitem>
<para>CMT available at <ulink url="http://www.ladspa.org">http://www.ladspa.org</ulink>.</para>
</listitem>
<listitem>
<para>TAP available at <ulink url="http://tap-plugins.sf.net">http://tap-plugins.sf.net</ulink>.</para>
</listitem>
<listitem>
<para>Calf plugins <ulink url="http://calf.sourceforge.net/">http://calf.sourceforge.net/</ulink>.</para>
</listitem>
<listitem>
<para> ....</para>
</listitem>
</itemizedlist>
</para>
<warning>
<title>Plugins Kill</title>
<para>A badly designed LADSPA plugin is capable of
hanging, crashing, freezing, screeching, overflowing buffers, and even
phoning home. If you start having issues with Hydrogen, disable your
plugins and see if things improve. Some plugins are not designed for
real-time use, and some are just plain better than others.</para>
</warning>
<para>Once you have installed some plugins you can select one by clicking the
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/edit_off.png" format="PNG" />
</imageobject>
</inlinemediaobject>
button. (if you do not see the FX rack, make sure that the
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/showFX_on.png" format="PNG" />
</imageobject>
</inlinemediaobject>
button (in the Master section) is enabled)</para>
<para>Now the FX selector window will pop up :
<figure id="fig.select_effect">
<title>Select an Effect</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/MixerFXSelect.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
Once you have selected a plugin you will immediately have access
to its parameters:
<informalfigure id="figLADSPA_FX_Properties">
<mediaobject>
<imageobject>
<imagedata fileref="img/LADSPA_FX_Properties.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
You can select another plugin by clicking the 'Select FX' button. If you quickly want to
enable/disable the effect click the 'Deactivate' button (or the Bypass (
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/bypass_over.png" format="PNG" />
</imageobject>
</inlinemediaobject>)
button in the FX rack). This can be handy for a quick A/B comparison.</para>
<para>After you have selected the FX and tweaked it's parameters you can use the
FX return knob to increase/decrease how much of this FX will be returned to the master output.</para>
</section>
<section id="sect.master">
<title>Master section</title>
<para>
The Master section contains the Master volume fader with VU meters and three global Humanize
settings for Velocity, Timing and Swing (in order to add a 'human feel' to the song):
<itemizedlist>
<listitem>
<para>Velocity : adds a certain randomness to the note velocity.
The higher you turn this knob, the more the velocity will be randomized.
</para>
</listitem>
<listitem>
<para>Timing : adds a certain randomness to the note timing (lead/lag).
The higher you turn this knob, the more the timing will be randomized.</para>
</listitem>
<listitem>
<para>Swing : this knob will add a certain amount of swing to the song.</para>
</listitem>
</itemizedlist>
Note that Hydrogen can also be switched to 'per instrument output' mode (see <xref linkend="sect.preferences.audio_tab"/>),
and in this mode all channel strip outputs will be available in Jack (not just the Master output).
This allows you to route the individual instruments directly into any other Jack enabled application (eg Ardour) and gives you
a lot more flexibility.</para>
<para>On the bottom-right of the Master section the 'FX' button
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/showFX_on.png" format="PNG" />
</imageobject>
</inlinemediaobject>
will show/hide the FX rack, and the 'Peak' button
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/showPeaks_on.png" format="PNG" />
</imageobject>
</inlinemediaobject>
will enable/disable the VU meters.
<note>
<para>The VU meter fall off speed can be configured in the preferences window (see <xref linkend="sect.preferences.appearance_tab"/>)</para>
</note>
</para>
</section>
</section>
<section id="sect.sound_library">
<title>Sound Library (Drumkit/Pattern/Song Manager)</title>
<para>First of all a little history on the Sound library and Drumkits. Hydrogen began as a
dedicated drum machine but has evolved into a versatile sound synthesizer/sequencer
that is capable of generating and manipulating all sorts of sounds. Hence the original
"Drumkit" terminology is slightly misleading. You can load any kind of sound into a
"Drumkit" and manipulate that sound just like playing a regular synthesizer. This is
also the main reason why the Piano mode was added to the pattern editor
(see <xref linkend="sect.pattern_editor.piano_mode"/>).</para>
<para>In this manual (and in other documentation) "Drumkit" and "Soundlibrary"
frequently mean the same thing, but not always. The diagram below shows the actual
relation between the Soundlibrary and Drumkits:
<figure id="fig.SoundlibraryHierarchy">
<title>Soundlibrary/Drumkit hierarchy</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/SoundlibraryHierarchy_V4.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
As you can see the Soundlibrary contains all Drumkits (System and User drumkits),
your saved Patterns and your saved Songs. Each Drumkit is a collection of a number
of instruments (snare, kick, sampled voice, bass sound ...) and in its turn an instrument can consist of multiple
layered samples. Note that every block has a number of parameters (continue reading for more details).</para>
<para>This said. let's take a look at the Soundlibrary interface and see what it can do for you:</para>
<para>The Sound Library saves you time in managing your drum kits,
favourite patterns, and favourite songs. When making new songs and new drum
kits, it allows you to reuse and mix the instruments and patterns from other kits and songs.
<figure id="fig.soundlibrary">
<title>The Soundlibrary</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/SoundLibrary.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
</para>
<section id="sect.systemdrumkits">
<title>System Drumkits</title>
<para>This lists the drumkits that were installed by your system
administrator. The location of these System Drumkits is determined by the compile-time prefix. On
Unix-like operating systems, this is usually <filename
role="directory">/usr/share/hydrogen/data/drumkits</filename>, or
possibly <filename
role="directory">/usr/local/share/hydrogen/data/drumkits</filename>.
These kits are available to all users on the system, and users are
usually not able to add to them.</para>
<para>To load a drumkit from here, right-click the drumkit and select
<guimenuitem>Load</guimenuitem>. This will replace your current drumkit
with the one that you selected. To load a single instrument from that
kit, left-click the <guibutton>plus</guibutton> to the left of the
drumkit's name to show all the instruments. With your left mouse
button, click and drag the instrument into your current kit. The
instrument will be added to the drumkit that you currently have
loaded.</para>
</section>
<section id="sect.userdrumkits">
<title>(Adding) User Drumkits</title>
<para>These are your own drum kits that you can manage yourself. They
are usually stored in <filename
role="directory">$HOME/.hydrogen/data/drumkits</filename>. When you are
creating a new drumkit, you can save it here by selecting
<menuchoice><guimenu>Instruments</guimenu><guimenuitem>Save
library</guimenuitem></menuchoice>.</para>
<para>
You can import existing drumkits from other users via <menuchoice>
<guimenu>Instruments</guimenu><guimenuitem>Import library</guimenuitem>
</menuchoice>. The Import window will pop up with the Internet tab selected.
By default the link to the drumkit list (on hydrogen-music.org) will be filled in,
and after pressing the 'Update list' button you will get a complete list of all
drumkits that are available for download. In the status column you can see
if a kit is installed or not.
<figure id="fig.import_drumkit">
<title>Import Drumkit</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/Sound_Library_import.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
If you select one of the drumkits you will see info about this kit in the right
pane of the Import window: name, description, author and also the license type.
<warning>
<para>If you are using Hydrogen for commercial purposes, (creating songs and
selling these on-line or in any other way) you need to pay special attention to the
license type of the drumkit(s) you are using.
</para>
<para>
If the exact license is not available for a drumkit, do _NOT_ assume that it is a CC (or
other open and free license type).
</para>
<para>
Even if the kit is CC licensed you should always check with the author before using
the kit in your songs.
</para>
<para>DISCLAIMER : hydrogen is not responsible for the drumkits that are
made available for download by our users, either via the hydrogen-music.org site or
via any other channel.</para>
</warning>
You can install a drumkit by selecting it and clicking 'Download and Install'.
<informalfigure id="fig.downloading_soundlibrary">
<mediaobject>
<imageobject>
<imagedata fileref="img/Downloading_SoundLibrary.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
Once the kit has been downloaded it will be available in the Sound Library under "User drumkits".
</para>
</section>
<section id="sect.sl.songs">
<title>Songs in the Sound Library</title>
<para>To save songs in the Sound Library, put them in your data
directory underneath the <filename role="directory">songs</filename>
folder (usually <filename role="directory">$HOME/.hydrogen/data/songs)</filename>.
To remove them, remove the file from that folder.</para>
</section>
<section id="sect.sl.patterns">
<title>Patterns in the Sound Library</title>
<para>Before you save a pattern to the sound library, be
sure to give it a title and a category. Right-click on the pattern, select
"<guimenuitem>Properties</guimenuitem>" and enter the details.
You can use one of the categories already
provided, or create your own categories by simply typing in a category
name. The category name is important, because the patterns will be
filed by category in the Sound Library.</para>
<para>You can add a pattern to the sound library by right
clicking the title of the pattern in the song editor, and selecting
"<guimenuitem>Save Pattern</guimenuitem>". It will now appear in the Sound
Library underneath "<guilabel>Patterns</guilabel>" and the category that
you assigned to the pattern.</para>
</section>
</section>
<section id="sect.instrument_editing">
<title>Drumkits and Instrument Editing</title>
<!-- Need to add an explaination of what the instrument list
and instrument editor are. -->
<section id="sect.instrument_editing.concepts">
<title>Concepts</title>
<para>
The synthesizer in Hydrogen is a sample-based synthesizer. A sample
is a piece of pre-recorded audio (usually between 0.1 sec and 3 sec).
To play a note, the sample is simply played back at the right time.
There are a few concepts and terms that you should understand when you
are putting together a drumkit. (See <xref linkend="glossary"/> for
more detailed explanations.)
</para>
<variablelist>
<title>Sampling Synthesizer Terms</title>
<varlistentry>
<term>Sample</term><listitem><para>A short recording of a sound,
typically between 0.1 and 3.0 seconds long.</para></listitem>
</varlistentry>
<varlistentry>
<term>Gain</term><listitem><para>Volume
adjustment.</para></listitem>
</varlistentry>
<varlistentry>
<term>Velocity</term><listitem><para>How hard you hit a
note.</para></listitem>
</varlistentry>
<varlistentry>
<term> ADSR Envelope Generator</term><listitem><para>An
Attack/Decay/Sustain/Release envelope generator. After you trigger
a note, Hydrogen will <emphasis>attack</emphasis> the note by
increasing its volume from 0 to the full velocity of the note.
After reaching full velocity, it will <emphasis>decay</emphasis> the
note by lowering the volume until it reaches the
<emphasis>sustain</emphasis> level. When the note is
<emphasis>released</emphasis>, Hydrogen reduces the volume from the
sustain level back down to 0. See <ulink url="http://en.wikipedia.org/wiki/ADSR_envelope">ADSR
Envelope</ulink> for more info</para></listitem>
</varlistentry>
<varlistentry>
<term>Attack</term><listitem><para>The amount of <emphasis
role="bold">time</emphasis> to go from 0 to full
velocity.</para></listitem>
</varlistentry>
<varlistentry>
<term>Decay</term><listitem><para>The amount of <emphasis
role="bold">time</emphasis> to go from full velocity to the sustain
volume.</para></listitem>
</varlistentry>
<varlistentry>
<term>Sustain</term><listitem><para>The <emphasis
role="bold">level</emphasis> (how loud) to hold the note between the
sustain and the release. It is a percentage of the velocity. It
does not depend on time.</para></listitem>
</varlistentry>
<varlistentry>
<term>Release</term><listitem><para>The amount of <emphasis
role="bold">time</emphasis> to go from the sustain volume back down
to 0.</para></listitem>
</varlistentry>
</variablelist>
<para>
Typical samples that are used in Hydrogen are: the sound of a single
drum hit, the sound of a single cymbal hit, the sound of a single
cowbell hit. Whenever you put a note in the pattern (or play a note
using MIDI), Hydrogen will play whatever sound you have loaded. So,
to put together a drum kit you need to gather short recordings of the
bass drum, each tom, each cymbal, the high hat open, the high hat
closed, the snare drum (snare on), the snare drum (snare off), rim
shots, etc.
</para>
<para>
However, there are no rules about what a sample can be. It's not
uncommon to use Hydrogen to trigger non-drum sounds like: audio clips
of people talking, a clip from a song, sound effects, audio clips from
movies, and famous people speaking. Be creative!
</para>
</section>
<section id="sect.instrument_editing.new_kit">
<title>Creating a New Drumkit</title>
<para>In the next paragraphs we will show you how to create a complete drumkit.
Keeping in mind the 'Soundlibrary hierarchy' (see <xref linkend="fig.SoundlibraryHierarchy"/>)
we will use a top-down approach, so we will start at the Drumkit level and work our way
down to the samples.</para>
<para>Creating a new drumkit with Hydrogen is done with the Instrument
Editor. You can load samples, set envelope
parameters, set the gain, and other advanced features like mute
groups, a low-pass resonance filter, and pitch randomization.</para>
<para>TIP : Instead of creating your own drumkit, you can also use or download
existing drumkits using the <xref linkend="sect.sound_library"/>.</para>
<para>Lets make a brand new drum kit :</para>
<itemizedlist>
<listitem><para>select
<menuchoice>
<guimenu>Instruments</guimenu>
<guimenuitem>"Clear All"</guimenuitem>
</menuchoice>
. This will give you a bank of 32 blank instruments. To delete
instruments, right-click on on each instrument and select
"<guimenuitem>Delete Instrument</guimenuitem>". To add more instruments,
select
<menuchoice>
<guimenu>Instruments</guimenu>
<guimenuitem>"Add instrument"</guimenuitem>
</menuchoice>
.</para>
</listitem>
<listitem>
<para>Select an instrument to start editing it. This is done by
left-clicking on the name of the instrument in the instrument list (at
the left). You will notice that the name of the instrument in the
Instrument Editor matches the one that you clicked.</para>
</listitem>
<listitem>
<para>Once you have your drum kit working the way you want, select
<menuchoice>
<guimenuitem>Instruments</guimenuitem>
<guimenuitem>"Save library"</guimenuitem>
</menuchoice>
. You will be prompted for the name of the kit to save. If you wish to
<emphasis>overwrite</emphasis> an existing kit, you will need to type in
the same name as the kit that you want to replace.</para>
</listitem>
<listitem>
<para>Drumkits are automatically stored in the <filename
class="directory">data</filename> directory (i.e. <filename
class="directory">$HOME/.hydrogen/data/drumkits</filename>).</para>
</listitem>
<listitem>
<para>To export a drumkit (for sharing with others), it must first be
loaded into your Sound Library. Then, select
<menuchoice>
<guimenuitem>Instruments</guimenuitem>
<guimenuitem>"Export library"</guimenuitem>
</menuchoice>
from the menu. Select the drum kit that you wish to export, and give it
a file name to save it to.</para>
</listitem>
</itemizedlist>
</section>
<section id="sect.instrument_editing.parameters">
<title>Instrument Parameters</title>
<para>In the instrument editor, click on the
<guibutton>General</guibutton> button. Here you can adjust several
parameters that apply to the instrument (applies to all layers as well).
<figure id="instrumenteditor.general">
<title>The Instrument editor General view</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/Instrument_General.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
The parameters are:</para>
<itemizedlist>
<listitem>
<para><emphasis role="bold">Envelope parameters</emphasis>:
<guibutton>Attack</guibutton>, <guibutton>Decay</guibutton>,
<guibutton>Sustain</guibutton>, <guibutton>Release</guibutton>.
(See <xref linkend="def.envelopegenerator"/>)</para>
</listitem>
<listitem>
<para><emphasis role="bold"><guibutton>Gain</guibutton></emphasis>:
The overall volume of the instrument.</para>
</listitem>
<listitem>
<para><emphasis role="bold"><guibutton>Mute
Group</guibutton></emphasis>: Which mute group this instrument is a
member of (see <xref linkend="def.mutegroup"/>).</para>
</listitem>
<listitem>
<para><emphasis role="bold">Filter Parameters</emphasis>:
<guibutton>Byp</guibutton>ass, <guibutton>Cutoff</guibutton>,
<guibutton>Resonance</guibutton>.</para>
</listitem>
<listitem>
<para><emphasis role="bold"><guibutton>Random
Pitch</guibutton></emphasis></para>
</listitem>
<listitem>
<para><emphasis role="bold"><guibutton>Midi out Channel and Note</guibutton></emphasis></para>
</listitem>
<listitem>
<para><emphasis role="bold"><guibutton>Auto Stop-Note</guibutton></emphasis></para>
</listitem>
</itemizedlist>
<para>It's important that you understand <xref
linkend="sect.instrument_editing.concepts"/> in order to continue
on.</para>
<section id="sect.instrument_editing.envelope_parameters">
<title>Envelope Parameters</title>
<para>When the instrument is triggered, its volume is run through an
ADSR Envelope. The parameters operate as follows:</para>
<itemizedlist>
<listitem>
<para><emphasis role="bold">Attack</emphasis> — the amount
of <emphasis>time</emphasis> that the volume of the sample goes
from 0 to the full velocity of the note. If the value is 0, the
sample will play immediately at full velocity. If the value is
1.0, the sample volume will use the maximum time available for the
attack parameter.
<footnote id="fn.adsrtimes">
<para>The attack, decay, and release parameters are all set by
the number of <emphasis>audio samples</emphasis>. This means
that the time changes depending on the sample rate of your sound
card. The max time for each of them is 100,000 audio samples
(typ. 2.27 sec at 44.1 kHz).</para>
</footnote>
</para>
</listitem>
<listitem>
<para><emphasis role="bold">Decay</emphasis> — the amount of
<emphasis>time</emphasis> for the volume of the sample to go from
full velocity down to the sustain volume. If the value is 0, the
sample will immediately skip from the attack volume to the sustain
volume. If the value is 1.0, the sample volume will use the
maximum time available for the decay parameter.<footnoteref
linkend="fn.adsrtimes"/></para>
</listitem>
<listitem>
<para><emphasis role="bold">Sustain</emphasis> — the
<emphasis>volume</emphasis> to play the note after the decay phase
is over, and until the note is released. If set to 0, the note
will be silent. If set to 1.0, the note will play at full
velocity.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Release</emphasis> — the
<emphasis>time</emphasis> to fade out the note from the sustain
volume back down to 0 (silent). If set to 0, the note will fade
out in the minimum amount of time (about 5 ms). If set to 1, it
will fade out for the maximum time available.<footnoteref
linkend="fn.adsrtimes"/></para>
</listitem>
</itemizedlist>
<para>If the sample is shorter than the times that you specify, the
sample will end, regardless of which phase of the ADSR it is in. If
the note is sustained, it does <emphasis>not</emphasis> draw out the
note while you are holding it. It only holds the gain (volume)
parameter during that time.</para>
</section>
<section id="sect.instrument_editing.gain_and_mute_group">
<title>Gain and Mute Group</title>
<para>The gain sets the overall volume for the sample. This gain is
applied after the gain that you set for the layer, and before the gain
that is set for the mixer. If the Gain is 0, the instrument will be
silent. If the gain is 1.0 the volume of the samples will not be
adjusted (i.e. 0 dB). If the gain is set higher, the samples will be
amplified.</para>
<warning>
<para>It is very easy to set the <guibutton>Gain</guibutton> too
high, causing your sample to clip. Remember to test the gain with
full-velocity notes. If you clip your signal here, it will only get
worse as Hydrogen processes it.</para>
</warning>
<para>Hydrogen provides more mute groups than you know what to do with
(over 256). A mute group is a grouping of instruments that are
mutually exclusive — only one instrument may be playing at any
time. If one is playing and another instrument in the group is
triggered, it will immediately silence (mute) and start playing the
other instrument. This is useful, especially, for instruments like
hi-hats where the open sound and the closed sound are different
instruments.</para>
<para>If the mute group is set to "<guilabel>Off</guilabel>", then the
instrument is not part of any mute grouping. If the mute group is set
to any number, then that is the group that the instrument is a part
of. To set other instruments into the same grouping, set their mute
group parameter to the same number. (For example, to group all the
high-hat instruments, you can set all their mute group parameters to
1. To have a snare drum mute group, set their mute group parameters
to 2.)</para>
</section>
<section id="sect.instrument_editing.filter_and_random_pitch">
<title>Filter and Random Pitch</title>
<para>The filter is a low-pass resonance filter. If you don't wish to
use is, click the <guibutton>BYP</guibutton>ass button so that it's
red. If it's not red, then the filter is active. The cutoff
parameter adjusts the cutoff frequency for the filter. The resonance
parameter adjusts how much to resonate the cutoff frequency. If the
resonance is set to 0, then the filter is just a simple low-pass
filter.</para>
<note>
<para>The cutoff frequency of the filter varies with the sample rate
of your audio card. The range of the knob (0 to 1.0) is optimized
for a 48,000 kHz sample rate.</para>
<!-- NOTE: I tried to reverse engineer the LPRF in the
sampler to calculate what the cutoff frequency is.
I think it's *something* kind of like this:
f = cutoff * samplerate / 2
- OR MAYBE -
f = sqrt(cutoff) * samplerate / 2 (or / 4)
http://en.wikipedia.org/wiki/Low-pass_filter
-gabriel
-->
</note>
<para>The random pitch parameter allows you to randomly vary the pitch
of the sample every time it is triggered. The value is set between 0
and 1.0. The pitch change is fairly small: ±2 half-steps
× value. Using this sparingly can help your sequences to sound
more like a real drummer.</para>
</section>
<section id="sect.instrument_editing.midi_out_settings">
<title>Midi out settings</title>
<para>Hydrogen is capable of generating midi messages that you can use
to trigger any external midi device or application. To do this you simply need to
configure the Midi out channel and Note for every instrument. As you can see
this is a very flexible approach that enables you to trigger samples or sounds
from multiple devices and/or apps. Finally you need to make sure the proper
Midi routing/wiring is in place and you're set.
</para>
<para>From now on every time a note is played for that instrument (in the Hydrogen sequencer)
a midi message will be sent to your external app/device and trigger a sound.
This way you can use Hydrogen as a pure sequencer for other apps, or combine the
internal Hydrogen sampler with multiple external apps/devices.</para>
</section>
<section id="sect.instrument_editing.auto_stop_note">
<title>Auto Stop-Note</title>
<para>If this box is checked Hydrogen will immediately stop any playing sample that
belongs to this instrument whenever the instrument is re-triggered.</para>
<para>This option is particularly useful when you are using long samples like a
crash or some existing audio that you have sampled (like a looped voice in a
dance/electro song) For the crash you will need to use the Auto Stop-Note when
you are sequencing multiple notes in fast succession and want to make it sound realistic. If you do
not check this option the cymbal will start to sound like multiple cymbals
instead of only one (since the sample of each individual hit will be played completely).
For the voice sample this option is useful if you are trying to get that 'stuttering' effect.
</para>
</section>
</section>
<section id="sect.instrument_editing.new_instrument">
<title>Creating an Instrument and Layers</title>
<para>For each instrument in a drum kit, you can load several samples
and set different synthesizer parameters. This section will step you
through how to create a new instrument and load the samples.</para>
<para>To begin creating an instrument, select
<menuchoice>
<guimenu>Instruments</guimenu>
<guimenuitem>Add instrument</guimenuitem>
</menuchoice>. This will give you a blank
instrument to start from.</para>
<para>Now, you need two samples. Any .WAV or .FLAC file will do.
Hydrogen provides several in the <filename
class="directory">data/drumkits</filename> directory.</para>
<para>In the instrument editor, click on <guibutton>Layers</guibutton>.
You can layer several samples into the instrument. Which one is played
depends on the velocity of the incoming note. Click <guibutton>Load
Layer</guibutton> and point the <guimenu>Audio File Browser</guimenu> to
your sample. Note that the <guimenu>Audio File Browser</guimenu> will
allow you to preview the sample before you load it. It will also allow
you to load more than one sample at a time. But for now, only load
one.</para>
<para>After you load the sample, you'll see that there is now a
<guilabel>1</guilabel> at the top, and the topmost rectangle has turned
light blue. To load a second sample, click the slot just below it, and
then click <guibutton>Load Layer</guibutton> to bring in another
sample.</para>
<para>After bringing in both samples, you'll probably notice that only
the <emphasis>first</emphasis> sample is being played whenever you
trigger the instrument. This is because you need to set the
<emphasis>velocity</emphasis> ranges for the layers. Move your mouse to
the sides of the light blue rectangles and you see that you get a
left-right drag cursor. Now drag the sample to the left or right (like
a curtain). You will now see Layer 2 appear.</para>
<figure id="instrumenteditor.layers">
<title>The Instrument editor Layers view</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/Instrument_Layers.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
<para>The velocity setting for the layer is 0-velocity on the left, and
full velocity on the right. Set up Layer 1 to sound for soft notes, and
Layer 2 to sound for hard notes (i.e. Layer 1 on the left and Layer 2
on the right).</para>
<para>Now, in the pattern area, set up a simple pattern that plays this
instrument. Adjust the velocity settings on each note so that you can
get the different samples to sound. Now set the pattern to loop and
notice how your different samples are getting triggered. (To learn
about editing a pattern, see <xref
linkend="sect.pattern_editor"/>)</para>
<para>For each layer, you can set the <guibutton>Gain</guibutton> and
the <guibutton>Pitch</guibutton>. The pitch also has a
<guibutton>Fine</guibutton> adjustment.</para>
<para>Use the <guibutton>Gain</guibutton> adjustment to control how loud
the sample will play. This is necessary because it's extremely
difficult to get a set of samples that all sound at about the same
volume. By adjusting here, the samples that were recorded too quietly
can be turned up to match your loud samples (that had to be turned
down).</para>
<warning>
<para>It is very easy to set the <guibutton>Gain</guibutton> too high,
causing your sample to clip. Remember to test the gain with
full-velocity notes. If you clip your signal here, it will only get
worse as Hydrogen processes it.</para>
</warning>
<para>The pitch of the sample can be modified with the pitch controls.
The <guibutton>Pitch</guibutton> knob adjust the pitch in musical
half-steps. (So, -12 is down 1 octave). The pitch on the right adjusts
the pitch ±50 cents. (One half-step is 100 cents.)</para>
<note>
<para>The pitch is adjusted by playing the sample back faster or
slower. This is called the Doppler Effect. So, if you have a
1-second sample that you turn down -12 (1 octave), your sample will
only last for .5-seconds. If you do not want this to happen you should
use rubberband instead (see <xref linkend="sect.layer_editing.section2"/>)</para>
</note>
<para>You can hear the sample in a layer by clicking the layer id (just
below the 'General' and 'Layers' buttons) and the 'Delete Layer' button
will delete the currently selected layer.</para>
</section>
<section id="sect.layer_editing">
<title>Sample Editor</title>
<para>So far we have created a multilayered Drumkit, set a number of
instrument parameters, played with velocity settings and so on. Now it's
time to go one step deeper and edit the samples using one of the newest
Hydrogen features: the Sample Editor.</para>
<para>The Sample Editor allows you to tweak and manipulate your samples.
This is a function that will really speed up the creation of a drumkit since
you can do the fine-tunning of the sample within Hydrogen. In pre-0.9.5 builds
the typical workflow would be to prepare your sample in an external sound editor,
import the sample in Hydrogen, test it, go back to the audio editor, import again,
test ... The sample editor allows you to do most of the sample manipulation
within Hydrogen. This mean less switching between Hydrogen and your audio editor
and more time to make music !</para>
<note>
<para>The changes you make to
your samples in the Sample Editor are <emphasis role="bold">non-destructive
</emphasis> and are saved <emphasis role="bold">per song</emphasis>.
So the original sample will not be changed,
and you can reuse the same sample in multiple songs with different Sample Editor
settings.</para>
</note>
<figure id="sample.editor">
<title>The Sample Editor</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/SampleEditor_V5.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
<para>The Sample Editor consists of 3 sections (as indicated in the figure above):</para>
<section id="sect.layer_editing.section1">
<title>Sample Editor in/out points</title>
<para>
In this section you can set the start, stop and loop points for the sample by dragging the
the 3 markers:
<itemizedlist>
<listitem><para>S-marker (green) : indicates the Start-point (in-point) of the sample.</para></listitem>
<listitem><para>E-marker (red) : indicates the End-point (out-point) of the sample.</para></listitem>
<listitem><para>L-marker (blue) : determines the loop-in point of your sample</para></listitem>
</itemizedlist>
You can easily move one of the markers by grabbing them close to the
letter that marks them. Whenever you grab one of the markers you will see a detail
view of the position of that marker on the second (smaller) window on the right, making it easy to
find the zero-crossings in the sample. This detail window also has a slider next to
it that allows you to zoom in and out on the vertical axis. Think of it as a sort of
volume 'zoom'.
</para>
<para>Underneath these 2 windows you can find (from left>right) : the position of the Start
marker, the position of the Loop marker, the Loop mode, the number of loops and the
position of the End marker. The position of the markers is expressed in number of
samples from the very beginning of the sample. These values will change if you drag the markers,
but you can also fine-tune the marker position by using the up/down arrows of the spinboxes,
the up/down keys on your keyboard, or by using your mouse scroll wheel while hovering
above the spinboxes.</para>
<para>Apart from the marker positions there are 2 settings that apply to the Sample
Editor's loop function: loop mode and loop number. With the loop function you can
repeat the part of your sample <emphasis>that is in between the Loop- and the
End-marker</emphasis>. The way it is looped is determined by the Loop mode
(forward, revers or ping-pong) and the number of times it is looped is determined
by the Loop number.</para>
<para>If you want to hear a preview of the tweaking you have done so far, you first need to
press the 'Apply Changes' button (@ the bottom of section 3) and then the Play button to
hear the result.</para>
</section>
<section id="sect.layer_editing.section2">
<title>Sample Editor rubberband</title>
<para>This section of the Sample Editor allows you to control the Rubberband settings.
Rubberband is a tool that can change the tempo of a sample without changing
the sample's pitch (and vice versa).</para>
<para>If you are using Ubuntu you can install rubberband from the Software Center
(rubberband-cli). For other linux distros check your package manager. For other platforms
please check <ulink url="http://breakfastquay.com/rubberband/">the rubberband site
</ulink>. After installing rubberband you should check if the path to the rubberband cli is
configured correctly (see <xref linkend="sect.preferences.general_tab"/>).</para>
<para>If rubberband is installed correctly you will have access to the rubberband
settings, and an extra button named 'RUB' will be available in the Main Toolbar,
right of the BPM LCD display:
<informalfigure id="rubberband_button">
<mediaobject>
<imageobject>
<imagedata fileref="img/MainControls_Rubberband_btn.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
</para>
<para>Back to the rubberband settings :
<itemizedlist mark="opencircle">
<listitem><para>Sample length to beat : when set to 'off', rubberband functionality is disabled.
Normally this parameter should be set to the length of the part of the sample between
the Start and End marker, expressed in number of beats.</para>
</listitem>
<listitem><para>Pitch : this setting allows you to change the pitch of the sample, expressed in
semitones,cent.</para>
</listitem>
<listitem><para>Crispness : this setting does not affect tempo or pitch, but changes the way
the sample sounds.</para>
</listitem>
</itemizedlist>
</para>
<para><emphasis role="bold">Note</emphasis>: If you want Hydrogen to recalculate the sample length on the fly (using rubberband)
you must enable the 'RUB' button (see figure above).</para>
</section>
<section id="sect.layer_editing.section3">
<title>Sample Editor volume/pan</title>
<para>In the bottom section of the Sample Editor you can see the end result
of the tweaks you have made by pressing the Apply Changes button. You can
also change the the Volume and Panorama (Pan) of your sample here.
This is done by creating 'envelopes' like the
ones you find in numerous DAW's for automation. To edit an
envelope you first need to select 'Volume' or 'Panorama'in the upper right
corner of section 3. The Volume envelope is blue, and the pan envelope is yellow.
Left clicking in the bottom window will ad a node to an envelope and also
allows you to drag an existing node. Right-clicking a node will delete it.
Don't forget to Apply Changes before you play your tweaked sample.</para>
</section>
</section>
<section id="sect.instrument_editing.tips">
<title>Tips on Editing Instruments</title>
<para>With all of the different parameters available to tweak, it can be
difficult to set up something that sounds nice when you're done. Here are
a few tips on setting up an instrument:</para>
<para><emphasis role="bold">Turn down the gain.</emphasis> Every gain
knob (i.e. an amplifier), this is a <emphasis>gain stage</emphasis>.
With every gain stage you have, it's
easy to overdrive your signal — which means the signal gets
distorted by clipping. In addition, if you have two samples that, by
themselves, peg your meters — what do you think happens when you
combine them? That's right, you overdrive the signal again.</para>
<para>If things sound bad and distorted, start by turning down the gain
setting on the layer... especially if it's larger than 1.0. Then turn
down the instrument gain. Then any gain on a LADSPA effect. Then the
fader on the mixer. Then the master output fader.</para>
<para><emphasis role="bold">Test samples at full velocity.</emphasis>
Your sample will be played louder if the velocity is higher. So, if you
set everything to sound nice and full with velocity at 0.7, what will
happen when you get a full velocity of 1.0? (<emphasis>Hint:
clipping.</emphasis>)</para>
<para><emphasis role="bold">Try to use samples that are -6 dB
max.</emphasis> Visually, this means samples that peak at only
1/2 of full scale. Otherwise, turn your layer gain to about
.5.</para>
<para><emphasis role="bold">Remove all DC offsets from the
sample.</emphasis> In a sample editor, there is usually a line down the
center of your sample's waveform. This is the zero-line. The beginning
of your sample should be on this line. The end of your sample should
also be on this line. However, if your signal is a little above or a
little below this line, you will hear a click at the beginning and the
end of your sample whenever it is played. If your sample editor doesn't
provide any tools to fix a DC offset problem, you can eliminate the
noise by putting a slight fade-in/out at the ends of your sample.</para>
<para><emphasis role="bold">The ADSR will not be longer than your
sample.</emphasis> If you have a short sample, it doesn't matter how
long you set the attack and delay — the sample will stop playing
at the end.</para>
<para><emphasis role="bold">Things change with the sample
rate.</emphasis> If you have a really nice setup with all your
parameters painstakenly tweaked... things <emphasis>will</emphasis>
change if you change the sample rate of your audio card. Many of
Hydrogen's internal settings and parameters are based on how many
samples go by, not on how many seconds go by. The sorts of things
that change are: anything time-base (like attack and release) and
anything frequency based (like the cutoff frequency).</para>
</section>
</section>
<section id="sect.midi">
<title>Midi</title>
<para>In this section you can find more info about defining MIDI actions
and how they can be useful for you. Before you can work with midi actions
you should have your Midi devices, drivers and connections configured
correctly (see <xref linkend="sect.preferences.midi_tab"/>).
</para>
<para>Lets take a look at the available options :
<informalfigure id="midi_actions">
<mediaobject>
<imageobject>
<imagedata fileref="img/Midi_Actions.png" format="PNG" />
</imageobject>
</mediaobject>
</informalfigure>
</para>
<section id="sect.midi.events">
<title>Midi Events</title>
<para>An Event is an incoming Midi message, coming from a MIDI controller or
an external sequencer.</para>
<para>If you look at the Events list you will see that there are 3 types of Events
available (as described in the Midi standard): </para>
<itemizedlist mark="opencircle">
<listitem><para>
<emphasis role="bold">NOTE</emphasis>: input coming from a regular black/white key of a keyboard or a drumpad
</para></listitem>
<listitem><para>
<emphasis role="bold">CC</emphasis>: controller commands coming from faders or rotary controllers
</para></listitem>
<listitem><para>
<emphasis role="bold">MMC_x</emphasis>: <ulink url="http://en.wikipedia.org/wiki/MIDI_Machine_Control">
machine control events</ulink> coming from play/stop... buttons on a controller
</para></listitem>
</itemizedlist>
<para>
The Param. (parameter) value to the right of the Event is the identifier of the note/button/controller
that is linked to this Action. This parameter can be entered manually, or automatically by
using the Midi learn function (see <xref linkend="sect.preferences.midi_tab"/>).
</para>
<note><para>You can also activate the Midi learn function by Shift-clicking most of the gui elements.
A 'Waiting for Midi input...' popup informs you that Hydrogen is now waiting for you to press
a key or turn/move a controller.
</para>
<para>If you Shift-click on a gui element that does not support Midi automation a popup will
inform you.
</para></note>
</section>
<section id="sect.midi.actions">
<title>Midi Actions</title>
<para>Next is a list of the available Actions: an Action describes what Hydrogen should do
when a specific Midi Event is detected.</para>
<note><para>** Some of the Midi Actions require that the Action Parameter is configured. The
Parameter usually references a specific channel, instrument, FXsend... Keep in mind that the
Parameter value is <emphasis>zero-based</emphasis>. So if you want to reference channel 1 you
have to enter '0' in the Parameter field (1 for channel 2, 2 for channel 3 ...)</para></note>
<itemizedlist mark="opencircle">
<listitem><para>
<emphasis role="bold">PLAY</emphasis> : start playback
</para></listitem>
<listitem><para>
<emphasis role="bold">PLAY/STOP_TOGGLE</emphasis> : toggles between PLAY and STOP. Execute this action will
start playback, execute it again and playback will stop + the playhead will return
to the start of the song
</para></listitem>
<listitem><para>
<emphasis role="bold">PLAY/PAUSE_TOGGLE</emphasis> : toggles between PLAY and PAUSE. (the playhead will not return
to the start of the song, but will stay at its current position)
</para></listitem>
<listitem><para>
<emphasis role="bold">STOP</emphasis> : stops playback and returns to the start of the song
</para></listitem>
<listitem><para>
<emphasis role="bold">PAUSE</emphasis> : pauses the song
</para></listitem>
<listitem><para>
<emphasis role="bold">MUTE</emphasis> : mutes the the Master output (sequencer keeps running)
</para></listitem>
<listitem><para>
<emphasis role="bold">UNMUTE</emphasis> : unmutes the Master output (sequencer keeps running)
</para></listitem>
<listitem><para>
<emphasis role="bold">MUTE_TOGGLE</emphasis> : toggles between MUTE and UNMUTE (sequencer keeps running)
</para></listitem>
<listitem><para>
<emphasis role="bold">NEXT_BAR</emphasis> : jumps to the next bar in the song
</para></listitem>
<listitem><para>
<emphasis role="bold">PREVIOUS_BAR</emphasis> : jumps to the previous bar in the song
</para></listitem>
<listitem><para>
<emphasis role="bold">BPM_INCR</emphasis> : increments the tempo of the song
</para></listitem>
<listitem><para>
<emphasis role="bold">BPM_DECR</emphasis> : decrements the tempo of the song
</para></listitem>
<listitem><para>
<emphasis role="bold">BPM_CC_RELATIVE</emphasis> : changes the tempo relative to the current tempo, using a controller
</para></listitem>
<listitem><para>
<emphasis role="bold">MASTER_VOLUME_RELATIVE</emphasis> : changes the Master output volume, relative
to the current setting (e.g. if you are using rotary encoders)
</para></listitem>
<listitem><para>
<emphasis role="bold">MASTER_VOLUME_ABSOLUTE</emphasis> : changes the Master output volume to the
absolute value of the midi control (use with midi fader or pot)
</para></listitem>
<listitem><para>
<emphasis role="bold">STRIP_VOLUME_RELATIVE</emphasis> : see MASTER_VOLUME_RELATIVE, but applies to
the channel strip defined in the Action Parameter **
</para></listitem>
<listitem><para>
<emphasis role="bold">STRIP_VOLUME_ABSOLUTE</emphasis> : see MASTER_VOLUME_ABSOLUTE, but applies to
the channel strip defined in the Action Parameter **
</para></listitem>
<listitem><para>
<emphasis role="bold">EFFECTx_LEVEL_RELATIVE</emphasis> : changes the volume level of effect 'x';
the value you enter in the Action Parameter determines the channel strip this action applies to **
</para></listitem>
<listitem><para>
<emphasis role="bold">SELECT_NEXT_PATTERN</emphasis> : selects the pattern that is defined in the Action Parameter **
</para></listitem>
<listitem><para>
<emphasis role="bold">SELECT_AND_PLAY_NEXT_PATTERN</emphasis> : combines the SELECT_NEXT_PATTERN with PLAY
</para></listitem>
<listitem><para>
<emphasis role="bold">PAN_RELATIVE</emphasis> : changes the panorama setting, relative to the current value;
the value you enter in the Action Parameter determines the channel strip this action applies to **
</para></listitem>
<listitem><para>
<emphasis role="bold">PAN_ABSOLUTE</emphasis> : changes the panorama setting to the absolute value that the linked controller sends to Hydrogen
</para></listitem>
<listitem><para>
<emphasis role="bold">BEATCOUNTER</emphasis> : sets the tempo (see <xref linkend="sect.tap_tempo"/>
</para></listitem>
<listitem><para>
<emphasis role="bold">TAP_TEMPO</emphasis> : sets the tempo (see <xref linkend="sect.tap_tempo"/>
</para></listitem>
<listitem><para>
<emphasis role="bold">SELECT_INSTRUMENT</emphasis> : selects one of the instruments in the drumkit
</para></listitem>
</itemizedlist>
</section>
</section>
</chapter>
<!--
##################
# THIRD CHAPTER #
##################
-->
<chapter id="chap.create_song">
<title>A new song</title>
<section id="sect.song_vs_pattern">
<title>"Song" mode and "Pattern" mode</title>
<para>This section is a quick-and-dirty walkthrough to Hydrogen. Refer to the
tutorial for a more detailed overview.</para>
<para>Hydrogen has 2 main modes: "Pattern" mode and "Song" mode (refer to
<xref linkend="sect.main_toolbar"/> for the buttons that activate each mode). When
"Pattern" mode is activated the current pattern is continuously repeated.
This mode is very well suited to tweak your pattern until it's just right, since the
pattern you are working on is constantly repeated. This way you can immediately
hear the changes you have made. In "Song" mode the whole song is played.
This is useful when putting together the patterns to create the structure of the song.</para>
</section>
<section id="sect.create_pattern">
<title>A new pattern</title>
<para>We'll start from the empty song with an empty pattern created when
Hydrogen starts up: "pattern" mode should be selected by default. Now
let's click on the <quote>Play</quote>button, and while the pattern is playing
let's add notes by left_mouse_clicking in the grid of the Song Editor
(<xref linkend="fig.pattern_editor.2"/>). Adjust the grid resolution and BPM
speed if needed. Remember some constraints of the grid: if you are
working with a resolution of 16 you can't go back to 8 and remove a
16th note; same thing happens if you are working with a resolution of
8 and you try to insert a note in the middle of two bars (looking for
a 16 bars precision): they will be placed on the previous or on the
following 8th bar (unless you choose <quote>off</quote> from the Grid Resolution LCD in which case
you're free to place notes wherever you prefer). <emphasis role="bold">Be
sure to select the correct pattern in the Song Editor before adding notes
in the Pattern Editor!</emphasis></para>
<figure id="fig.pattern_editor.2">
<title>The Pattern Editor</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/PatternEditor.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
</section>
<section id="sect.create_sequence">
<title>A new sequence</title>
<para>Once patterns are created (<xref linkend="fig.insert_notes"/>), we
can copy/paste/delete them using the Select Mode (see <xref linkend="sect.song_editor.main_controls"/>).
</para>
<figure id="fig.insert_notes">
<title>Inserting Notes in a Pattern</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/SongEditor.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
</section>
<section id="sect.create_song.adjust_mixer">
<title>Adjust from the mixer</title>
<para>Of course we can always use the mixer window, either when creating
or playing patterns.</para>
<para>The Mixer frame (<xref linkend="fig.mixer.2"/>) is made of 32
independent tracks, each of these is bound to an instrument, plus a
"Master Output" control and a "FX" button to show and hide the
effects panel.
Every line features 3 buttons (
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/btn_play_on_mixer.png" format="PNG" />
</imageobject>
</inlinemediaobject>
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/btn_solo_on.png" format="PNG" />
</imageobject>
</inlinemediaobject>
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/btn_mute_on.png" format="PNG" />
</imageobject>
</inlinemediaobject>
), pan adjust (
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/MixerPan.png" format="PNG" />
</imageobject>
</inlinemediaobject>
), current maximum peak, volume fader and name of the track. Clicking on
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/btn_solo_on.png" format="PNG" />
</imageobject>
</inlinemediaobject>
will play the selected instrument, cutting the others. The "Mute" button
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/btn_mute_on.png" format="PNG" />
</imageobject>
</inlinemediaobject>
, simply mute <emphasis>that</emphasis> instrument. The maximum peak
indicates the maximum volume reached from the instrument. The peak must
be in a range of 0.0 and 1.0 (in <xref linkend="fig.mixer.2"/> you can
see a few volumes too loud). Peaks outside that range will get distorted
(especially with OSS audio driver). Keep an eye on each vu-meter and
if distortion appears, turn the volume down for that instrument.
</para>
<figure id="fig.mixer.2">
<title>The Mixer</title>
<mediaobject>
<imageobject>
<imagedata fileref="img/Mixer.png" format="PNG" />
</imageobject>
</mediaobject>
</figure>
</section>
</chapter>
<chapter id="chap.shortcuts">
<title>Shortcut lists</title>
<itemizedlist mark="opencircle">
<listitem>
<para>
<emphasis role="bold">[CTRL + N]</emphasis> = New Project
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[CTRL + O]</emphasis> = Open File
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[CTRL + D]</emphasis> = Open Demo
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[CTRL + S]</emphasis> = Save File
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[CTRL + SHIFT + S]</emphasis> = Save File as
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[CTRL + P]</emphasis> = Export Pattern as
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[CTRL + M]</emphasis> = Export MIDI file
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[CTRL + E]</emphasis> = Export Song
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[CTRL + Q]</emphasis> = Quit Hydrogen
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[ALT + D]</emphasis> = Show Director window
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[ALT + M]</emphasis> = Show Mixer window
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[ALT + I]</emphasis> = Show Instrument rack
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[ALT + P]</emphasis> = Show Preferences window
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[CTRL + ?]</emphasis> = Show manual
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[Backspace]</emphasis> = Restart
song or pattern from the beginning
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[spacebar]</emphasis> = Play / Pause
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[,]</emphasis> (comma key) = Beatcounter
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[\]</emphasis> (backslash) = Tap tempo
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[+] and [-]</emphasis> = Tempo up / down
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[F9]</emphasis> = Jump back to previous bar in the song
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[F10]</emphasis> = Jump to the next bar in the song
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">[F12]</emphasis> = Panic button (stops the song and mutes all
playing sounds)
</para>
</listitem>
</itemizedlist>
</chapter>
<glossary id="glossary">
<title>Glossary</title>
<para>This is a glossary of general terms encountered when using Hydrogen,
synthesizers, drums, or samplers. The definitions here provide more
detail and explanation than the simplified ones in the text. For
example, the text of the manual would have you believe that an ADSR is
the only kind of envelope generator and could only ever control the
volume. While the simplified definitions help new users start using
Hydrogen quickly, they can lack the nuances presented here.</para>
<!-- ... -->
<!-- A -->
<glossentry id="def.adsr">
<glossterm>ADSR</glossterm>
<glossdef>
<para>A type of envelope generator that allows you to control the
<link linkend="def.attack">Attack</link>,
<link linkend="def.decay">Decay</link>,
<link linkend="def.sustain">Sustain</link>, and
<link linkend="def.release">Release</link> parameters.
Generally, the
parameters are proportional to
the <link linkend="def.velocity">velocity</link>.</para>
<para>In Hydrogen, the ADSR envelope generator only controls the volume
(attenuation).</para>
<para>Read more about this in the Wikipedia
Article <ulink url="http://en.wikipedia.org/wiki/ADSR_envelope">ADSR
Envelope</ulink></para>
<glossseealso otherterm="def.envelopegenerator"/>
<glossseealso otherterm="def.attack"/>
<glossseealso otherterm="def.decay"/>
<glossseealso otherterm="def.sustain"/>
<glossseealso otherterm="def.release"/>
</glossdef>
</glossentry>
<glossentry id="def.attack">
<glossterm>Attack</glossterm>
<glossdef>
<para>This is the first phase of an ADSR envelope, and is the amount
of <emphasis>time</emphasis> to turn the parameter up from
0 to full velocity after triggering the note.</para>
<glossseealso otherterm="def.adsr"/>
</glossdef>
</glossentry>
<glossentry id="def.attenuation">
<glossterm>Attenuation</glossterm>
<glossdef>
<para>In filters and mixers, this the amount that a signal is reduced
(volume).</para>
<glossseealso otherterm="def.rolloff"/>
</glossdef>
</glossentry>
<!-- B -->
<glossentry id="def.bandpassfilter">
<glossterm>Band-Pass Filter</glossterm>
<glossdef>
<para>A filter that preserves a certain band of frequencies, and
attenuates (silences) all others. This is often done by combining a
high-pass and a low-pass filter.</para>
<glossseealso otherterm="def.filter"/>
<glossseealso otherterm="def.highpassfilter"/>
<glossseealso otherterm="def.lowpassfilter"/>
</glossdef>
</glossentry>
<!-- C -->
<glossentry id="def.clipping">
<glossterm>Clipping</glossterm>
<glossdef>
<para>A phenomenon that happens to a signal when the signal is too large
for whatever is receiving it. The peaks of the signal (which are
normally smooth curves) get cut off straight at the max volume
(clipped). This distorts the sound and is usually undesirable.</para>
<para>An example of clipping is when you play music louder than your
speaker can handle. Parts of the music sound harsh and fuzzy.</para>
</glossdef>
</glossentry>
<glossentry id="def.cutoff">
<glossterm>Cutoff Frequency</glossterm>
<glossdef>
<para>On high-pass and low-pass filters, this is the frequency that
divides between those that pass, and those that are attenuated
(silenced). In a high-pass resonance filter, or a low-pass resonance
filter, the cutoff is also the frequency zone that gets boosted.</para>
<para>For example, if you have a low-pass filter and you set the cutoff
frequency high (i.e. 20kHz)... the filter will not affect the sound.
All the audible frequencies will pass through undisturbed. As you lower
the cutoff frequency to something like 40 Hz (the low string on a bass
guitar), it sounds like someone is putting a blanket over the speaker.
The higher frequencies are being attenuated above 30 Hz.</para>
<glossseealso otherterm="def.filter"/>
<glossseealso otherterm="def.highpassfilter"/>
<glossseealso otherterm="def.lowpassfilter"/>
<glossseealso otherterm="def.resonancefilter"/>
</glossdef>
</glossentry>
<!-- D -->
<glossentry id="def.decay">
<glossterm>Decay</glossterm>
<glossdef>
<para>After reaching full velocity from the attack, this is the amount
of <emphasis>time</emphasis> to turn the parameter down from full
velocity to the sustain level.</para>
<glossseealso otherterm="def.adsr"/>
</glossdef>
</glossentry>
<glossentry id="def.dc-offsety">
<glossterm>DC-offsety</glossterm>
<glossdef>
<para>DC offset, or DC coefficient is the mean value of the wavefor.m</para>
<para>DC offset is usually undesirable. For example, in audio processing, a
sound that has DC offset will not be at its loudest possible volume when
normalized (because the offset consumes headroom), and this problem can
possibly extend to the mix as a whole, since a sound with DC offset and a sound
without DC offset will have DC offset when mixed. It may also cause other artifacts
depending on what is being done with the signal.</para>
</glossdef>
</glossentry>
<!-- E -->
<glossentry id="def.envelopegenerator">
<glossterm>Envelope Generator</glossterm>
<glossdef>
<para>A way to control (change) a parameter over time as a response to
triggering, holding, and releasing a note.</para>
<!-- TRANSLATORS: This is a witty English expression that means, "Did I
just say something really complicated, and you quit paying attention?
I'll try it again a little more informally." -->
<para>Did your eyes just glaze over? Let's try again:</para>
<para>Imagine that you're playing a note on the keyboard and you have
your other hand on a knob (volume, filter cutoff, etc.). As you play
the note, you twist the knob (often up, then down... or down, then up).
You do the same thing on each note. That's what an envelope generator
does. See also <link linkend="def.adsr">ADSR</link></para>
</glossdef>
</glossentry>
<!-- F -->
<glossentry id="def.fader">
<glossterm>Fader</glossterm>
<glossdef>
<para>A slider control used to adjust the attenuation (volume) in a
mixer. Faders always have an "audio" taper, which means that the
attenuation amount changes on an exponential scale.</para>
</glossdef>
</glossentry>
<glossentry id="def.filter">
<glossterm>Filter</glossterm>
<glossdef>
<para>A device that changes a sound by attenuating specific frequencies.
A tone knob is an example of a simple, low-pass filter.</para>
<glossseealso otherterm="def.bandpassfilter"/>
<glossseealso otherterm="def.highpassfilter"/>
<glossseealso otherterm="def.lowpassfilter"/>
<glossseealso otherterm="def.resonancefilter"/>
</glossdef>
</glossentry>
<!-- G -->
<glossentry id="def.gain">
<glossterm>Gain</glossterm>
<glossdef>
<para>In an amplifier, this adjust how much (or how little) a signal is
amplified (volume). A higher gain value is a louder signal.</para>
</glossdef>
</glossentry>
<!-- H -->
<glossentry id="def.highpassfilter">
<glossterm>High-Pass Filter</glossterm>
<glossdef>
<para>A filter that attenuates (silences) low frequencies, but allows
high frequencies to pass through.</para>
<glossseealso otherterm="def.filter"/>
<glossseealso otherterm="def.cutoff"/>
</glossdef>
</glossentry>
<!-- I -->
<glossentry id="def.instrument">
<glossterm>Instrument</glossterm>
<glossdef>
<para>In Hydrogen, an instrument is a single noise-maker (like a bass
drum kick, or a tom).</para>
</glossdef>
</glossentry>
<!-- J -->
<!-- K -->
<!-- L -->
<glossentry id="def.layer">
<glossterm>Layer</glossterm>
<glossdef>
<para>In an instrument you can load several different samples (each one
called a <emphasis role="bold">layer</emphasis>), and have a different
sample play depending on the velocity of the note. Only one sample at a
time will play.</para>
<para>Suppose you have a sample of a floor tom being struck softly. If
you simply play the sample louder — it will
<emphasis>not</emphasis> sound the same as a real tom that has been
struck very hard. If you wish to mimic this in your instrument, you can
load one sample for soft playing, and a different sample for loud
playing.</para>
<glossseealso otherterm="def.instrument"/>
</glossdef>
</glossentry>
<glossentry id="def.lowpassfilter">
<glossterm>Low-Pass Filter</glossterm>
<glossdef>
<para>A filter that attenuates (silences) high frequencies, but allows
low frequencies to pass through.</para>
<glossseealso otherterm="def.filter"/>
<glossseealso otherterm="def.cutoff"/>
</glossdef>
</glossentry>
<!-- M -->
<glossentry id="def.mute">
<glossterm>Mute</glossterm>
<glossdef>
<para>To make no noise. A setting on an instrument that prevents any
audio output.</para>
</glossdef>
</glossentry>
<glossentry id="def.mutegroup">
<glossterm>Mute Group</glossterm>
<glossdef>
<para>A group of instruments (samples) that should mute (stop playing)
immediately after another instrument in the group is triggered.</para>
<para>This is typically used in hi-hats, where there's a different
instrument (sample) for when the hi-hat is open or closed. With a real
hi-hat, the sound of the open hi-hat will stop as soon as you close it.
However, if you use two samples — the open sound will continue
even after you have triggered the closed sound. By placing both
instruments in the same mute group (group #1, for example)... triggering
closed sound will immediately stop the open sound (and vice
versa).</para>
</glossdef>
</glossentry>
<!-- N -->
<!-- O -->
<glossentry id="def.octave">
<glossterm>Octave</glossterm>
<glossdef>
<para>A span of frequencies where the top-most frequency is exactly
twice the frequency of the bottom frequency.</para>
<para>For example, the range 20 Hz to 40 Hz is an octave. So is 120 Hz
to 240 Hz, and 575 Hz to 1150 Hz. While the frequency differences are
very different (20 Hz, 120 Hz, and 575 Hz, respectively), to the human
ear they <emphasis>sound</emphasis> like the same distance.</para>
</glossdef>
</glossentry>
<!-- P -->
<!-- Q -->
<!-- R -->
<glossentry id="def.release">
<glossterm>Release</glossterm>
<glossdef>
<para>After the note is released, this is the amount of
<emphasis>time</emphasis> to reduce the parameter from the sustain level
to 0.</para>
<glossseealso otherterm="def.adsr"/>
</glossdef>
</glossentry>
<glossentry id="def.resonance">
<glossterm>Resonance</glossterm>
<glossdef>
<para>When referring to a resonance filter, this is the parameter that
determines how much of a boost (gain) to give the frequencies at the
cutoff.</para>
<glossseealso otherterm="def.resonancefilter"/>
</glossdef>
</glossentry>
<glossentry id="def.resonancefilter">
<glossterm>Resonance Filter</glossterm>
<glossdef>
<para>A filter that gives a large boost to a very narrow range of
frequencies. Typically it will be part of a high-pass or a low-pass
filter, where the boosted frequencies are centered on the cut-off
frequency.</para>
<glossseealso otherterm="def.filter"/>
<glossseealso otherterm="def.cutoff"/>
<glossseealso otherterm="def.resonance"/>
</glossdef>
</glossentry>
<glossentry id="def.rolloff">
<glossterm>Roll-off</glossterm>
<glossdef>
<para>This is the amount that frequencies are attenuated (suppressed) as
the frequency changes (typically measured in dB/octave).</para>
<para>For example, in a low-pass filter the frequencies below the cutoff
frequency are not attenuated (they pass-through with the same volume).
Same with the cutoff frequency. As you go above the cutoff frequency,
the frequencies that are near the cutoff frequency are not attenuated
very much at all. However, the frequencies that are much higher than
the cutoff are attenuated (suppressed) a lot. This is usually
approximated by a straight line (on a log scale) and measured in in dB
of attenuation per octave of frequency.</para>
<glossseealso otherterm="def.attenuation"/>
<glossseealso otherterm="def.filter"/>
</glossdef>
</glossentry>
<!-- S -->
<glossentry id="def.sample">
<glossterm>Sample</glossterm>
<glossdef>
<para>A short recording of a sound, typically between .1 and 3.0 seconds
long.</para>
</glossdef>
</glossentry>
<glossentry id="def.sustain">
<glossterm>Sustain</glossterm>
<glossdef>
<para>The <emphasis>level</emphasis> to hold the parameter after
finishing the decay time. This level will be maintained until the not
is released.</para>
<glossseealso otherterm="def.adsr"/>
</glossdef>
</glossentry>
<!-- T -->
<!-- U -->
<!-- V -->
<glossentry id="def.velocity">
<glossterm>Velocity</glossterm>
<glossdef>
<para>How hard you hit a note.</para>
<para>MIDI devices are required to send this information along with the
note. Synthesizers use this information to adjust several parameters on
the sample (typically the volume). In Hydrogen, it is only used to
adjust how loud the sample is played back.</para>
</glossdef>
</glossentry>
<!-- W -->
<!-- X -->
<!-- Y -->
<!-- Z -->
</glossary>
</book>
|