{"ast":null,"code":"var _jsxFileName = \"D:\\\\Project\\\\UC_Trains_Voice\\\\react-demo\\\\src\\\\Route\\\\Help.tsx\",\n  _s = $RefreshSig$();\nimport React from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { Collapse, Button, Anchor } from 'antd';\n// import { Col, Row } from 'antd';\nimport { Typography, Col, Row } from 'antd';\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst text = `\n  qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\n`;\nconst {\n  Title,\n  Paragraph,\n  Text,\n  Link\n} = Typography;\nconst fontAlign = \"justify\";\nconst fontSizePara = 17;\nconst items_2 = [{\n  key: 'part-2-1',\n  label: /*#__PURE__*/_jsxDEV(Typography.Title, {\n    id: \"part-2-1\",\n    level: 4,\n    style: {\n      margin: 0\n    },\n    children: \"How do we describe voice?\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 21,\n    columnNumber: 12\n  }, this),\n  children: /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"Voice is often described in three ways: pitch, loudness, and quality. We can work on these three different aspects to change how our voice is perceived.        \"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 24,\n      columnNumber: 9\n    }, this)\n  }, void 0, false)\n}, {\n  key: 'part-2-2',\n  label: /*#__PURE__*/_jsxDEV(Typography.Title, {\n    id: \"part-2-2\",\n    level: 4,\n    style: {\n      margin: 0\n    },\n    children: \"Why do trans people try to modify their voices?\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 31,\n    columnNumber: 12\n  }, this),\n  children: /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"Voice is a gender signifier: listeners partially determine a speaker\\u2019s gender based on their voice. Transgender people often want their voice to match their gender expression. This is often referred to as voice-gender congruence.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 34,\n      columnNumber: 9\n    }, this)\n  }, void 0, false)\n}, {\n  key: 'part-2-3',\n  label: /*#__PURE__*/_jsxDEV(Typography.Title, {\n    id: \"part-2-3\",\n    level: 4,\n    style: {\n      margin: 0\n    },\n    children: \"Gender-related Voice Training Targets\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 42,\n    columnNumber: 12\n  }, this),\n  children: /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: [\"Multiple aspects of voice contribute to gender perception. Research has shown that the primary voice marker that relates to perceived gender is \", /*#__PURE__*/_jsxDEV(Text, {\n        strong: true,\n        italic: true,\n        children: \"pitch\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 46,\n        columnNumber: 153\n      }, this), \" - the perception of how high-frequency or low-frequency the voice is. Higher pitches are stereotypically associated with femininity and women, whereas lower pitches are associated with masculinity and men. A second aspect of voice related to perceived gender is \", /*#__PURE__*/_jsxDEV(Text, {\n        strong: true,\n        italic: true,\n        children: \"resonance\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 46,\n        columnNumber: 448\n      }, this), \" - a characteristic of the quality of the voice. A more forward resonance (when the sound of the voice vibrates the front part of the mouth and face) is perceived as more feminine, whereas a more backward resonance (when the back of the mouth and throat constricts), is perceived as more masculine. The combination of increased pitch and forward resonance results in the strongest perception of a feminine voice (Whiteside, 1998).\"]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 45,\n      columnNumber: 9\n    }, this)\n  }, void 0, false)\n}, {\n  key: 'part-2-4',\n  label: /*#__PURE__*/_jsxDEV(Typography.Title, {\n    id: \"part-2-4\",\n    level: 4,\n    style: {\n      margin: 0\n    },\n    children: \"What does the research say about voice training for transfeminine people?\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 53,\n    columnNumber: 12\n  }, this),\n  children: /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"Our previous research has found that transfeminine people who completed voice therapy showed an average increase in vocal pitch by half an octave (Gustin et al., 2022). They also changed their articulation patterns so that the tongue was placed more forward in the mouth to facilitate a forward resonance. Targeting pitch and resonance may assist in increasing vocal femininity.        \"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 56,\n      columnNumber: 9\n    }, this)\n  }, void 0, false)\n}, {\n  key: 'part-2-5',\n  label: /*#__PURE__*/_jsxDEV(Typography.Title, {\n    id: \"part-2-5\",\n    level: 4,\n    style: {\n      margin: 0\n    },\n    children: \"Resources and Citations\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 63,\n    columnNumber: 12\n  }, this),\n  children: /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"[1] Gustin, R.L., Dickinson, T.E., Shanley, S.N., Howell, R.J., Hobek, A.L., Patel, T.H., & McKenna, V.S. (2022). \\u201CAcoustic outcomes in Patients seeking Voice Feminization: Investigation into Articulatory and Spectral Measures.\\u201D 51st Annual Voice Foundation, Philadelphia, PA. [Oral Presentation].\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 66,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"[2] Whiteside, S. P. (1998). The Identification of a Speaker\\u2019s Sex from Synthesized Vowels. Perceptual and Motor Skills, 87(2), 595-600. https://doi.org/10.2466/pms.1998.87.2.595        \"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 69,\n      columnNumber: 9\n    }, this)]\n  }, void 0, true)\n}];\nconst items_3 = [{\n  key: 'part-3-1',\n  label: /*#__PURE__*/_jsxDEV(Typography.Title, {\n    id: \"part-3-1\",\n    level: 4,\n    style: {\n      margin: 0\n    },\n    children: \"3.1 Options/Setting\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 79,\n    columnNumber: 12\n  }, this),\n  children: /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"The possible settings are:\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 82,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      children: /*#__PURE__*/_jsxDEV(\"ul\", {\n        children: [/*#__PURE__*/_jsxDEV(\"li\", {\n          children: /*#__PURE__*/_jsxDEV(\"p\", {\n            children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n              children: \"Avatar selection\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 86,\n              columnNumber: 18\n            }, this), \": Lets you pick between several prerecorded voices to serve as a target \\\"avatar\\\". These are currently used only in the Syllables exercise.\"]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 86,\n            columnNumber: 15\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 85,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n          children: /*#__PURE__*/_jsxDEV(\"p\", {\n            children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n              children: \"Exercise selection\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 89,\n              columnNumber: 18\n            }, this), \": Lets you pick between Constant, Stair, and Syllable exercises.\"]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 89,\n            columnNumber: 15\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 88,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n          children: /*#__PURE__*/_jsxDEV(\"p\", {\n            children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n              children: \"Coordinate Display Mode\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 92,\n              columnNumber: 18\n            }, this), \": changes the pitch display between hertz and musical notes. You can also change this by clicking the vertical scale on the graph itself.\"]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 92,\n            columnNumber: 15\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 91,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n          children: /*#__PURE__*/_jsxDEV(\"p\", {\n            children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n              children: \"Pitch display range\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 95,\n              columnNumber: 18\n            }, this), \": Changes the scale of the pitch graph. The blue part represents the current scale, and the white balls on the left and right can be dragged with your mouse to change the minimum or maximum of the scale. By default, it shows 100-300 Hz, but the maximum range is 50-600  Hz.\"]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 95,\n            columnNumber: 15\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 94,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n          children: /*#__PURE__*/_jsxDEV(\"p\", {\n            children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n              children: \"Pitch Indicator position (Only appears in the Constant exercise)\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 98,\n              columnNumber: 18\n            }, this), \": Changes where the \\\"current pitch\\\" Pitch indicator appears in the graph.\"]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 98,\n            columnNumber: 15\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 97,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n          children: /*#__PURE__*/_jsxDEV(\"p\", {\n            children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n              children: \"Pitch Indicator speed\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 101,\n              columnNumber: 18\n            }, this), \": Changes the speed with which the \\\"current pitch\\\" indicator ball moves across the screen.\"]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 101,\n            columnNumber: 15\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 100,\n          columnNumber: 13\n        }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n          children: /*#__PURE__*/_jsxDEV(\"p\", {\n            children: [/*#__PURE__*/_jsxDEV(\"strong\", {\n              children: \"Auto-Start when Voice Detected\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 104,\n              columnNumber: 18\n            }, this), \": If this is enabled and the pitch module is paused, it will automatically start tracking pitch when the module detects sound on your microphone. If this is disabled, you must manually start it after pausing it.\"]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 104,\n            columnNumber: 15\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 103,\n          columnNumber: 13\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 84,\n        columnNumber: 11\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 83,\n      columnNumber: 9\n    }, this)]\n  }, void 0, true)\n}, {\n  key: 'part-3-2',\n  label: /*#__PURE__*/_jsxDEV(Typography.Title, {\n    id: \"part-3-2\",\n    level: 4,\n    style: {\n      margin: 0\n    },\n    children: \"3.2 Constant exercise\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 113,\n    columnNumber: 12\n  }, this),\n  children: /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"The Constant exercise is the most basic exercise. When you talk, it shows your current pitch with a large black dot and the last few seconds of your pitch with small red dots. If you stop talking, the graph keeps moving but does not show new red dots.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 116,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"On the right side of the graph, you can see a vertical slider. Moving this slider up and down creates a constant pitch target that is shown as a horizontal dark blue line across the screen. You can try to match this target. If your pitch is close enough to the target, the target line changes from blue to yellow. You can change the target as you exercise if you want.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 119,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"If you want something to read while you practice matching a target pitch, you can use the Upload txt file button below the graph to upload a .txt file with text of your choosing. In the .txt file, a semicolon should indicate a new line . While reading, you can then move between lines using the Forward/Backward buttons underneath the text. Other file formats are not currently supported but are planned for future releases.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 122,\n      columnNumber: 9\n    }, this)]\n  }, void 0, true)\n}, {\n  key: 'part-3-3',\n  label: /*#__PURE__*/_jsxDEV(Typography.Title, {\n    id: \"part-3-3\",\n    level: 4,\n    style: {\n      margin: 0\n    },\n    children: \"3.3 Staircase exercise\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 130,\n    columnNumber: 12\n  }, this),\n  children: /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"When you talk, the Staircase exercise shows your current pitch with a large black dot and the last few seconds of your pitch with small red dots. If you stop talking, the graph keeps moving but does not show new red dots. This is the same as in the Constant exercise.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 133,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"A dark blue line shows a sequence of pitches for you to match within a few seconds. You can change the location of these 'target' pitches using the light blue vertical slider to the right of the graph \\u2013 drag the bottom white ball up/down to move the lowest target or drag the top white ball to move the highest target.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 136,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"Pressing the Play button starts moving the current pitch indicator. Press it when you are ready to try matching the pitches. You can pause at any time, and once the indicator gets to the end, you can press Play again to restart. As you speak, the dark blue target pitch curve will change to yellow if your pitch is close to it.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 139,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"If you would like to have some sounds to make while matching the target pitches, the Show/Hide buttons  below the graph display a 5-syllable phrase. The full phrase is shown below the Show/Hide buttons, and each individual syllable is shown on one of the target pitch lines. The Forward/Backward buttons let you move to the next/previous phrase, and the Retry button resets the current phrase.  You don't have to use this function, it's just if you want to have something to say.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 142,\n      columnNumber: 9\n    }, this)]\n  }, void 0, true)\n}, {\n  key: 'part-3-4',\n  label: /*#__PURE__*/_jsxDEV(Typography.Title, {\n    id: \"part-3-4\",\n    level: 4,\n    style: {\n      margin: 0\n    },\n    children: \"3.4 Syllables exercise\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 150,\n    columnNumber: 12\n  }, this),\n  children: /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"To use the Syllables exercise, you must first select an avatar in the Options menu. Once you have done that, the Syllables exercise shows pitch curves from that recorded avatar while speaking 2-, 3-, 4-, or 5-syllable phrases in dark blue. As in the other two exercises, the graph shows your current pitch with a large black dot and the last few seconds of your pitch with small red dots. If you stop talking, the graph keeps moving but does not show new red dots.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 153,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"The goal of the exercise is to match the avatar's pitch curve as you say the same phrase. The target phrase is shown below the graph in green. Pressing the Play button starts moving the current pitch indicator. Press it when you are ready to try matching the curve. You can pause at any time, and once the indicator gets to the end, you can press Play again to restart the same phrase. As you speak, the dark blue target pitch curve will change to yellow if your pitch is close to it.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 156,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"Once the phrase finishes, you can press the Retry button to try matching it again, or press Forward/Backward to move to the next or previous phrase. The next two phrases are shown in grey below the current phrase.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 159,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"If you want to hear the phrase spoken by your selected avatar, press the Listen button. The dark blue curve will change to yellow as the phrase is played to indicate the timing.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 162,\n      columnNumber: 9\n    }, this)]\n  }, void 0, true)\n}, {\n  key: 'part-3-5',\n  label: /*#__PURE__*/_jsxDEV(Typography.Title, {\n    id: \"part-3-5\",\n    level: 4,\n    style: {\n      margin: 0\n    },\n    children: \"3.5 Suggestions for using the pitch module\"\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 170,\n    columnNumber: 12\n  }, this),\n  children: /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"If you have limited ability to control your pitch, we recommend starting with the Constant exercise. Measure your current pitch and set the target pitch (with the slider on the right) to somewhere above your regular pitch. The \\\"stereotypical\\\" value for female pitch is about 200 Hz. Make sustained sounds (for example, \\\"aaaaaaaaaaa\\\") and try to consistently match the target pitch. Once you can consistently match the target pitch with all five vowels (a, e, i, o, u), try speaking longer phrases at the target pitch.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 173,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"When you feel comfortable matching the target pitch in the Constant exercise for short periods of time, add the Staircase exercise to your practice rotation. You can start by hiding the target text and just matching the target pitches with a sustained vowel sound (for example, \\\"aaaaa\\\" moving up and down in pitch). Once you can do that with all five vowel sounds, turn the target text on and try speaking the phrases. Once you can do that, you may also try the Syllables exercise, though you do not necessarily need to do the Syllables exercise \\u2013 the Constant and Staircase will give you the fundamentals.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 176,\n      columnNumber: 9\n    }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n      style: {\n        textAlign: fontAlign,\n        fontSize: fontSizePara\n      },\n      children: \"If this is all of your voice practice, do it for 10-15 minutes two times a day. It will help you learn pitch control, though you should keep in mind that pitch is not the only component of transgender voice. You will want to move on to other components of voice as well.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 179,\n      columnNumber: 9\n    }, this)]\n  }, void 0, true)\n}];\nconst Help = () => {\n  _s();\n  const navigate = useNavigate();\n  const goToSample = () => {\n    navigate('/pitch?init=true');\n  };\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    style: {\n      width: \"100%\"\n    },\n    children: /*#__PURE__*/_jsxDEV(Row, {\n      children: [/*#__PURE__*/_jsxDEV(Col, {\n        span: 3,\n        children: /*#__PURE__*/_jsxDEV(Anchor, {\n          items: [{\n            key: 'part-1',\n            href: '#part-1',\n            title: 'Introduction'\n          }, {\n            key: 'part-2',\n            href: '#part-2',\n            title: 'How is voice related to gender?',\n            children: [{\n              key: 'part-2-1',\n              href: '#part-2-1',\n              title: 'How do we describe voice?'\n            }, {\n              key: 'part-2-2',\n              href: '#part-2-2',\n              title: 'Why do trans people try to modify their voices?'\n            }, {\n              key: 'part-2-3',\n              href: '#part-2-3',\n              title: 'Gender-related Voice Training Targets'\n            }, {\n              key: 'part-2-4',\n              href: '#part-2-4',\n              title: 'What does the research say about voice training for transfeminine people?'\n            }, {\n              key: 'part-2-5',\n              href: '#part-2-5',\n              title: 'Resources and Citations'\n            }]\n          }, {\n            key: 'part-3',\n            href: '#part-3',\n            title: 'Pitch module',\n            children: [{\n              key: 'part-3-1',\n              href: '#part-3-1',\n              title: '3.1 Options/Setting'\n            }, {\n              key: 'part-3-2',\n              href: '#part-3-2',\n              title: '3.2 Constant exercise'\n            }, {\n              key: 'part-3-3',\n              href: '#part-3-3',\n              title: '3.3 Staircase exercise'\n            }, {\n              key: 'part-3-4',\n              href: '#part-3-4',\n              title: '3.4 Syllables exercise'\n            }, {\n              key: 'part-3-5',\n              href: '#part-3-5',\n              title: '3.5 Suggestions'\n            }]\n          }, {\n            key: 'part-4',\n            href: '#part-4',\n            title: 'Volume module '\n          }]\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 196,\n          columnNumber: 11\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 195,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Col, {\n        span: 20,\n        children: /*#__PURE__*/_jsxDEV(Typography, {\n          style: {\n            paddingLeft: \"30px\",\n            paddingRight: \"40px\"\n          },\n          children: [/*#__PURE__*/_jsxDEV(Typography.Title, {\n            id: \"part-1\",\n            level: 2,\n            style: {\n              margin: 0\n            },\n            children: \"1. Introduction\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 277,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 280,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n            style: {\n              textAlign: fontAlign,\n              fontSize: fontSizePara\n            },\n            children: \"Welcome to the University of Cincinnati Transgender Voice Coaching app, which aims to help transfeminine individuals practice changing their voice in different ways. In its current format, the app mainly focuses on pitch exercises, but is being rapidly expanded.\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 281,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n            style: {\n              textAlign: fontAlign,\n              fontSize: fontSizePara\n            },\n            children: \"You are currently on the Tutorial page. You can navigate through this tutorial below, or you can navigate to other sections of the page using the Pitch, Volume , and About tabs above.\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 286,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Button, {\n            onClick: goToSample,\n            children: \"Begin Tour\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 290,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 291,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 292,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 293,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Typography.Title, {\n            id: \"part-2\",\n            level: 2,\n            style: {\n              margin: 0\n            },\n            children: \"2. How is voice related to gender?\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 295,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Collapse, {\n            defaultActiveKey: ['2'],\n            ghost: true,\n            items: items_2\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 299,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 300,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Typography.Title, {\n            level: 2,\n            id: \"part-3\",\n            style: {\n              margin: 0\n            },\n            children: \"3. Pitch module\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 303,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 306,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n            style: {\n              textAlign: fontAlign,\n              fontSize: fontSizePara\n            },\n            children: \"The pitch module is currently the main component of the app. In the center of the page is a graph that shows your voice pitch over time as you talk into your microphone. The graph can be started and stopped using the Play/Pause button below the graph.\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 307,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n            style: {\n              textAlign: fontAlign,\n              fontSize: fontSizePara\n            },\n            children: \"By default, the module starts in the Constant exercise.  The Options/Setting menu can be accessed using the button below the Play/Pause button or using the gear icon on the bottom right. The menu allows you to choose between three exercises (Constant, Stair, and Syllables) as well as change several settings.\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 312,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Collapse, {\n            defaultActiveKey: ['2'],\n            ghost: true,\n            items: items_3\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 317,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 405,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 406,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Typography.Title, {\n            id: \"part-4\",\n            level: 2,\n            style: {\n              margin: 0\n            },\n            children: \"4. Volume module\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 407,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(\"br\", {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 410,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Paragraph, {\n            style: {\n              textAlign: fontAlign,\n              fontSize: fontSizePara\n            },\n            children: \"The Volume module is intended to help simultaneously practice pitch and loudness. It is currently not really functional and simply shows current volume in red and current pitch in blue. This will be expanded in a future update.\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 411,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 276,\n          columnNumber: 11\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 275,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Col, {\n        span: 1\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 418,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 194,\n      columnNumber: 7\n    }, this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 193,\n    columnNumber: 5\n  }, this);\n};\n_s(Help, \"CzcTeTziyjMsSrAVmHuCCb6+Bfg=\", false, function () {\n  return [useNavigate];\n});\n_c = Help;\nexport default Help;\nvar _c;\n$RefreshReg$(_c, \"Help\");","map":{"version":3,"names":["React","useNavigate","Collapse","Button","Anchor","Typography","Col","Row","jsxDEV","_jsxDEV","Fragment","_Fragment","text","Title","Paragraph","Text","Link","fontAlign","fontSizePara","items_2","key","label","id","level","style","margin","children","fileName","_jsxFileName","lineNumber","columnNumber","textAlign","fontSize","strong","italic","items_3","Help","_s","navigate","goToSample","width","span","items","href","title","paddingLeft","paddingRight","onClick","defaultActiveKey","ghost","_c","$RefreshReg$"],"sources":["D:/Project/UC_Trains_Voice/react-demo/src/Route/Help.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\r\nimport { getPitch, IPitchDetectionConfig } from '../function/getPitch';\r\nimport hark from 'hark';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport type { CollapseProps } from 'antd';\r\nimport { Collapse, Button, Anchor } from 'antd';\r\n// import { Col, Row } from 'antd';\r\nimport { Divider, Typography, Col, Row, Space } from 'antd';\r\ninterface HelpProps {\r\n}\r\nconst text = `\r\n  qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq\r\n`;\r\nconst { Title, Paragraph, Text, Link } = Typography;\r\nconst fontAlign = \"justify\";\r\nconst fontSizePara = 17;\r\n\r\nconst items_2: CollapseProps['items'] = [\r\n  {\r\n    key: 'part-2-1',\r\n    label: <Typography.Title id=\"part-2-1\" level={4} style={{ margin: 0 }}>How do we describe voice?</Typography.Title>,\r\n    children: (\r\n      <>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n        Voice is often described in three ways: pitch, loudness, and quality. We can work on these three different aspects to change how our voice is perceived.        </Paragraph>\r\n      </>\r\n    ),\r\n  },\r\n  {\r\n    key: 'part-2-2',\r\n    label: <Typography.Title id=\"part-2-2\" level={4} style={{ margin: 0 }}>Why do trans people try to modify their voices?</Typography.Title>,\r\n    children: (\r\n      <>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n        Voice is a gender signifier: listeners partially determine a speaker’s gender based on their voice. Transgender people often want their voice to match their gender expression. This is often referred to as voice-gender congruence.\r\n        </Paragraph>\r\n      </>\r\n    ),\r\n  },\r\n  {\r\n    key: 'part-2-3',\r\n    label: <Typography.Title id=\"part-2-3\" level={4} style={{ margin: 0 }}>Gender-related Voice Training Targets</Typography.Title>,\r\n    children: (\r\n      <>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n        Multiple aspects of voice contribute to gender perception. Research has shown that the primary voice marker that relates to perceived gender is <Text strong italic>pitch</Text> - the perception of how high-frequency or low-frequency the voice is. Higher pitches are stereotypically associated with femininity and women, whereas lower pitches are associated with masculinity and men. A second aspect of voice related to perceived gender is <Text strong italic>resonance</Text> - a characteristic of the quality of the voice. A more forward resonance (when the sound of the voice vibrates the front part of the mouth and face) is perceived as more feminine, whereas a more backward resonance (when the back of the mouth and throat constricts), is perceived as more masculine. The combination of increased pitch and forward resonance results in the strongest perception of a feminine voice (Whiteside, 1998).        \r\n        </Paragraph>\r\n      </>\r\n    ),\r\n  },\r\n  {\r\n    key: 'part-2-4',\r\n    label: <Typography.Title id=\"part-2-4\" level={4} style={{ margin: 0 }}>What does the research say about voice training for transfeminine people?</Typography.Title>,\r\n    children: (\r\n      <>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n        Our previous research has found that transfeminine people who completed voice therapy showed an average increase in vocal pitch by half an octave (Gustin et al., 2022). They also changed their articulation patterns so that the tongue was placed more forward in the mouth to facilitate a forward resonance. Targeting pitch and resonance may assist in increasing vocal femininity.        </Paragraph>\r\n      </>\r\n    ),\r\n  },\r\n  {\r\n    key: 'part-2-5',\r\n    label: <Typography.Title id=\"part-2-5\" level={4} style={{ margin: 0 }}>Resources and Citations</Typography.Title>,\r\n    children: (\r\n      <>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n        [1] Gustin, R.L., Dickinson, T.E., Shanley, S.N., Howell, R.J., Hobek, A.L., Patel, T.H., & McKenna, V.S. (2022). “Acoustic outcomes in Patients seeking Voice Feminization: Investigation into Articulatory and Spectral Measures.” 51st Annual Voice Foundation, Philadelphia, PA. [Oral Presentation].\r\n        </Paragraph>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n        [2] Whiteside, S. P. (1998). The Identification of a Speaker’s Sex from Synthesized Vowels. Perceptual and Motor Skills, 87(2), 595-600. https://doi.org/10.2466/pms.1998.87.2.595        </Paragraph>\r\n      </>\r\n    ),\r\n  },\r\n];\r\n\r\nconst items_3: CollapseProps['items'] = [\r\n  {\r\n    key: 'part-3-1',\r\n    label: <Typography.Title id=\"part-3-1\" level={4} style={{ margin: 0 }}>3.1 Options/Setting</Typography.Title>,\r\n    children: (\r\n      <>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>The possible settings are:</Paragraph>\r\n        <Paragraph>\r\n          <ul>\r\n            <li>\r\n              <p><strong>Avatar selection</strong>: Lets you pick between several prerecorded voices to serve as a target \"avatar\". These are currently used only in the Syllables exercise.</p>\r\n            </li>\r\n            <li>\r\n              <p><strong>Exercise selection</strong>: Lets you pick between Constant, Stair, and Syllable exercises.</p>\r\n            </li>\r\n            <li>\r\n              <p><strong>Coordinate Display Mode</strong>: changes the pitch display between hertz and musical notes. You can also change this by clicking the vertical scale on the graph itself.</p>\r\n            </li>\r\n            <li>\r\n              <p><strong>Pitch display range</strong>: Changes the scale of the pitch graph. The blue part represents the current scale, and the white balls on the left and right can be dragged with your mouse to change the minimum or maximum of the scale. By default, it shows 100-300 Hz, but the maximum range is 50-600  Hz.</p>\r\n            </li>\r\n            <li>\r\n              <p><strong>Pitch Indicator position (Only appears in the Constant exercise)</strong>: Changes where the \"current pitch\" Pitch indicator appears in the graph.</p>\r\n            </li>\r\n            <li>\r\n              <p><strong>Pitch Indicator speed</strong>: Changes the speed with which the \"current pitch\" indicator ball moves across the screen.</p>\r\n            </li>\r\n            <li>\r\n              <p><strong>Auto-Start when Voice Detected</strong>: If this is enabled and the pitch module is paused, it will automatically start tracking pitch when the module detects sound on your microphone. If this is disabled, you must manually start it after pausing it.</p>\r\n            </li>\r\n          </ul>\r\n        </Paragraph>\r\n      </>\r\n    ),\r\n  },\r\n  {\r\n    key: 'part-3-2',\r\n    label: <Typography.Title id=\"part-3-2\" level={4} style={{ margin: 0 }}>3.2 Constant exercise</Typography.Title>,\r\n    children: (\r\n      <>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          The Constant exercise is the most basic exercise. When you talk, it shows your current pitch with a large black dot and the last few seconds of your pitch with small red dots. If you stop talking, the graph keeps moving but does not show new red dots.\r\n        </Paragraph>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          On the right side of the graph, you can see a vertical slider. Moving this slider up and down creates a constant pitch target that is shown as a horizontal dark blue line across the screen. You can try to match this target. If your pitch is close enough to the target, the target line changes from blue to yellow. You can change the target as you exercise if you want.\r\n        </Paragraph>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          If you want something to read while you practice matching a target pitch, you can use the Upload txt file button below the graph to upload a .txt file with text of your choosing. In the .txt file, a semicolon should indicate a new line . While reading, you can then move between lines using the Forward/Backward buttons underneath the text. Other file formats are not currently supported but are planned for future releases. \r\n        </Paragraph>\r\n      </>\r\n    ),\r\n  },\r\n  {\r\n    key: 'part-3-3',\r\n    label: <Typography.Title id=\"part-3-3\" level={4} style={{ margin: 0 }}>3.3 Staircase exercise</Typography.Title>,\r\n    children: (\r\n      <>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          When you talk, the Staircase exercise shows your current pitch with a large black dot and the last few seconds of your pitch with small red dots. If you stop talking, the graph keeps moving but does not show new red dots. This is the same as in the Constant exercise.\r\n        </Paragraph>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          A dark blue line shows a sequence of pitches for you to match within a few seconds. You can change the location of these 'target' pitches using the light blue vertical slider to the right of the graph – drag the bottom white ball up/down to move the lowest target or drag the top white ball to move the highest target.      \r\n        </Paragraph>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          Pressing the Play button starts moving the current pitch indicator. Press it when you are ready to try matching the pitches. You can pause at any time, and once the indicator gets to the end, you can press Play again to restart. As you speak, the dark blue target pitch curve will change to yellow if your pitch is close to it.      \r\n        </Paragraph>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          If you would like to have some sounds to make while matching the target pitches, the Show/Hide buttons  below the graph display a 5-syllable phrase. The full phrase is shown below the Show/Hide buttons, and each individual syllable is shown on one of the target pitch lines. The Forward/Backward buttons let you move to the next/previous phrase, and the Retry button resets the current phrase.  You don't have to use this function, it's just if you want to have something to say.       \r\n        </Paragraph>\r\n      </>\r\n    ),\r\n  },\r\n  {\r\n    key: 'part-3-4',\r\n    label: <Typography.Title id=\"part-3-4\" level={4} style={{ margin: 0 }}>3.4 Syllables exercise</Typography.Title>,\r\n    children: (\r\n      <>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          To use the Syllables exercise, you must first select an avatar in the Options menu. Once you have done that, the Syllables exercise shows pitch curves from that recorded avatar while speaking 2-, 3-, 4-, or 5-syllable phrases in dark blue. As in the other two exercises, the graph shows your current pitch with a large black dot and the last few seconds of your pitch with small red dots. If you stop talking, the graph keeps moving but does not show new red dots.\r\n        </Paragraph>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          The goal of the exercise is to match the avatar's pitch curve as you say the same phrase. The target phrase is shown below the graph in green. Pressing the Play button starts moving the current pitch indicator. Press it when you are ready to try matching the curve. You can pause at any time, and once the indicator gets to the end, you can press Play again to restart the same phrase. As you speak, the dark blue target pitch curve will change to yellow if your pitch is close to it.\r\n        </Paragraph>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          Once the phrase finishes, you can press the Retry button to try matching it again, or press Forward/Backward to move to the next or previous phrase. The next two phrases are shown in grey below the current phrase.\r\n        </Paragraph>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          If you want to hear the phrase spoken by your selected avatar, press the Listen button. The dark blue curve will change to yellow as the phrase is played to indicate the timing.\r\n        </Paragraph>\r\n      </>\r\n    ),\r\n  },\r\n  {\r\n    key: 'part-3-5',\r\n    label: <Typography.Title id=\"part-3-5\" level={4} style={{ margin: 0 }}>3.5 Suggestions for using the pitch module</Typography.Title>,\r\n    children: (\r\n      <>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          If you have limited ability to control your pitch, we recommend starting with the Constant exercise. Measure your current pitch and set the target pitch (with the slider on the right) to somewhere above your regular pitch. The \"stereotypical\" value for female pitch is about 200 Hz. Make sustained sounds (for example, \"aaaaaaaaaaa\") and try to consistently match the target pitch. Once you can consistently match the target pitch with all five vowels (a, e, i, o, u), try speaking longer phrases at the target pitch.\r\n        </Paragraph>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          When you feel comfortable matching the target pitch in the Constant exercise for short periods of time, add the Staircase exercise to your practice rotation. You can start by hiding the target text and just matching the target pitches with a sustained vowel sound (for example, \"aaaaa\" moving up and down in pitch). Once you can do that with all five vowel sounds, turn the target text on and try speaking the phrases. Once you can do that, you may also try the Syllables exercise, though you do not necessarily need to do the Syllables exercise – the Constant and Staircase will give you the fundamentals.\r\n        </Paragraph>\r\n        <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n          If this is all of your voice practice, do it for 10-15 minutes two times a day. It will help you learn pitch control, though you should keep in mind that pitch is not the only component of transgender voice. You will want to move on to other components of voice as well.\r\n        </Paragraph>\r\n      </>\r\n    ),\r\n  },\r\n];\r\nconst Help: React.FC<HelpProps> = () => {\r\n  const navigate = useNavigate();\r\n  const goToSample = () => {\r\n    navigate('/pitch?init=true');\r\n  };\r\n\r\n  return (\r\n    <div style={{ width: \"100%\" }}>\r\n      <Row>\r\n        <Col span={3}>\r\n          <Anchor\r\n            items={[\r\n              {\r\n                key: 'part-1',\r\n                href: '#part-1',\r\n                title: 'Introduction',\r\n              },\r\n              {\r\n                key: 'part-2',\r\n                href: '#part-2',\r\n                title: 'How is voice related to gender?',\r\n                children: [\r\n                  {\r\n                    key: 'part-2-1',\r\n                    href: '#part-2-1',\r\n                    title: 'How do we describe voice?',\r\n                  },\r\n                  {\r\n                    key: 'part-2-2',\r\n                    href: '#part-2-2',\r\n                    title: 'Why do trans people try to modify their voices?',\r\n                  },\r\n                  {\r\n                    key: 'part-2-3',\r\n                    href: '#part-2-3',\r\n                    title: 'Gender-related Voice Training Targets',\r\n                  },\r\n                  {\r\n                    key: 'part-2-4',\r\n                    href: '#part-2-4',\r\n                    title: 'What does the research say about voice training for transfeminine people?',\r\n                  },\r\n                  {\r\n                    key: 'part-2-5',\r\n                    href: '#part-2-5',\r\n                    title: 'Resources and Citations',\r\n                  },\r\n                ],\r\n              },\r\n              {\r\n                key: 'part-3',\r\n                href: '#part-3',\r\n                title: 'Pitch module',\r\n                children: [\r\n                  {\r\n                    key: 'part-3-1',\r\n                    href: '#part-3-1',\r\n                    title: '3.1 Options/Setting',\r\n                  },\r\n                  {\r\n                    key: 'part-3-2',\r\n                    href: '#part-3-2',\r\n                    title: '3.2 Constant exercise',\r\n                  },\r\n                  {\r\n                    key: 'part-3-3',\r\n                    href: '#part-3-3',\r\n                    title: '3.3 Staircase exercise',\r\n                  },\r\n                  {\r\n                    key: 'part-3-4',\r\n                    href: '#part-3-4',\r\n                    title: '3.4 Syllables exercise',\r\n                  },\r\n                  {\r\n                    key: 'part-3-5',\r\n                    href: '#part-3-5',\r\n                    title: '3.5 Suggestions',\r\n                  },\r\n                ],\r\n              },\r\n              {\r\n                key: 'part-4',\r\n                href: '#part-4',\r\n                title: 'Volume module ',\r\n              },\r\n            ]}\r\n          />\r\n        </Col>\r\n        <Col span={20}>\r\n          <Typography style={{ paddingLeft: \"30px\", paddingRight: \"40px\" }}>\r\n            <Typography.Title id=\"part-1\" level={2} style={{ margin: 0 }}>\r\n              1. Introduction\r\n            </Typography.Title>\r\n            <br />\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              Welcome to the University of Cincinnati Transgender Voice Coaching app, which aims to help transfeminine individuals practice changing their voice in different ways. In its current format, the app mainly focuses on pitch exercises, but is being rapidly expanded.\r\n\r\n            </Paragraph>\r\n\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n\r\n              You are currently on the Tutorial page. You can navigate through this tutorial below, or you can navigate to other sections of the page using the Pitch, Volume , and About tabs above.\r\n            </Paragraph >\r\n            <Button onClick={goToSample}>Begin Tour</Button>\r\n            <br />\r\n            <br />\r\n            <br />\r\n\r\n            <Typography.Title id=\"part-2\" level={2} style={{ margin: 0 }}>\r\n              2. How is voice related to gender?\r\n            </Typography.Title>\r\n\r\n            <Collapse defaultActiveKey={['2']} ghost items={items_2} />\r\n            <br />\r\n\r\n            {/* <Collapse defaultActiveKey={['1']} ghost items={itemsPitchMod} /> */}\r\n            <Typography.Title level={2} id=\"part-3\" style={{ margin: 0 }}>\r\n              3. Pitch module\r\n            </Typography.Title>\r\n            <br />\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              The pitch module is currently the main component of the app. In the center of the page is a graph that shows your voice pitch over time as you talk into your microphone. The graph can be started and stopped using the Play/Pause button below the graph.\r\n\r\n\r\n            </Paragraph>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              By default, the module starts in the Constant exercise.  The Options/Setting menu can be accessed using the button below the Play/Pause button or using the gear icon on the bottom right. The menu allows you to choose between three exercises (Constant, Stair, and Syllables) as well as change several settings.\r\n\r\n            </Paragraph>\r\n            \r\n            <Collapse defaultActiveKey={['2']} ghost items={items_3} />\r\n            {/* <Typography.Title id=\"part-2-1\" level={4} style={{ margin: 0 }}>\r\n              2.1 What is pitch and how is it related to gender?\r\n            </Typography.Title>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>  TBD</Paragraph>\r\n\r\n            <Typography.Title id=\"part-2-2\" level={4} style={{ margin: 0 }}>\r\n              2.2 Options/Setting\r\n            </Typography.Title>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>The possible settings are:</Paragraph>\r\n            <Paragraph>\r\n              <ul>\r\n                <li>\r\n                  <p><strong>Avatar selection</strong>: Lets you pick between several prerecorded voices to serve as a target “avatar”. These are currently used only in the Syllables exercise.</p>\r\n                </li>\r\n                <li>\r\n                  <p><strong>Exercise selection</strong>: Lets you pick between Constant, Stair, and Syllable exercises.</p>\r\n                </li>\r\n                <li>\r\n                  <p><strong>Coordinate Display Mode</strong>: changes the pitch display between hertz and musical notes. You can also change this by clicking the vertical scale on the graph itself.</p>\r\n                </li>\r\n                <li>\r\n                  <p><strong>Pitch display range</strong>: Changes the scale of the pitch graph. The blue part represents the current scale, and the white balls on the left and right can be dragged with your mouse to change the minimum or maximum of the scale. By default, it shows 100-300 Hz, but the maximum range is 50-600  Hz.</p>\r\n                </li>\r\n                <li>\r\n                  <p><strong>Pitch Indicator position (Only appears in the Constant exercise)</strong> : Changes where the “current pitch” Pitch indicator appears in the graph.</p>\r\n                </li>\r\n                <li>\r\n                  <p><strong>Pitch Indicator speed</strong>: Changes the speed with which the “current pitch” indicator ball moves across the screen.</p>\r\n                </li>\r\n                <li>\r\n                  <p><strong>Auto-Start when Voice Detected</strong>: If this is enabled and the pitch module is paused, it will automatically start tracking pitch when the module detects sound on your microphone. If this is disabled, you must manually start it after pausing it.</p>\r\n                </li>\r\n              </ul>\r\n\r\n            </Paragraph>\r\n\r\n            <Typography.Title id=\"part-2-3\" level={4} style={{ margin: 0 }}>\r\n              2.3 Constant exercise\r\n            </Typography.Title>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              The Constant exercise is the most basic exercise. When you talk, it shows your current pitch with a large black dot and the last few seconds of your pitch with small red dots. If you stop talking, the graph keeps moving but does not show new red dots.\r\n            </Paragraph>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              On the right side of the graph, you can see a vertical slider. Moving this slider up and down creates a constant pitch target that is shown as a horizontal dark blue line across the screen. You can try to match this target. If your pitch is close enough to the target, the target line changes from blue to yellow. You can change the target as you exercise if you want.\r\n            </Paragraph>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              If you want something to read while you practice matching a target pitch, you can use the Upload txt file button below the graph to upload a .txt file with text of your choosing. In the .txt file, a semicolon should indicate a new line . While reading, you can then move between lines using the Forward/Backward buttons underneath the text. Other file formats are not currently supported but are planned for future releases.\r\n            </Paragraph>\r\n\r\n            <Typography.Title id=\"part-2-4\" level={4} style={{ margin: 0 }}>\r\n              2.4 Staircase exercise\r\n            </Typography.Title>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              When you talk, the Staircase exercise shows your current pitch with a large black dot and the last few seconds of your pitch with small red dots. If you stop talking, the graph keeps moving but does not show new red dots. This is the same as in the Constant exercise.\r\n            </Paragraph>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              A dark blue line shows a sequence of pitches for you to match within a few seconds. You can change the location of these ‘target’ pitches using the light blue vertical slider to the right of the graph – drag the bottom white ball up/down to move the lowest target or drag the top white ball to move the highest target.\r\n            </Paragraph>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              Pressing the Play button starts moving the current pitch indicator. Press it when you are ready to try matching the pitches. You can pause at any time, and once the indicator gets to the end, you can press Play again to restart. As you speak, the dark blue target pitch curve will change to yellow if your pitch is close to it.\r\n            </Paragraph>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              If you would like to have some sounds to make while matching the target pitches, the Show/Hide buttons  below the graph display a 5-syllable phrase. The full phrase is shown below the Show/Hide buttons, and each individual syllable is shown on one of the target pitch lines. The Forward/Backward buttons let you move to the next/previous phrase, and the Retry button resets the current phrase.  You don’t have to use this function, it’s just if you want to have something to say.\r\n            </Paragraph>\r\n\r\n            <Typography.Title id=\"part-2-5\" level={4} style={{ margin: 0 }}>\r\n              2.5 Syllables exercise\r\n            </Typography.Title>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              To use the Syllables exercise, you must first select an avatar in the Options menu . Once you have done that, the Syllables exercise shows pitch curves from that recorded avatar while speaking 2-, 3-, 4-, or 5-syllable phrases in dark blue. As in the other two exercises, the graph shows your current pitch with a large black dot and the last few seconds of your pitch with small red dots. If you stop talking, the graph keeps moving but does not show new red dots.      </Paragraph>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              The goal of the exercise is to match the avatar’s pitch curve as you say the same phrase. The target phrase is shown below the graph in green. Pressing the Play button starts moving the current pitch indicator. Press it when you are ready to try matching the curve. You can pause at any time, and once the indicator gets to the end, you can press Play again to restart the same phrase. As you speak, the dark blue target pitch curve will change to yellow if your pitch is close to it.       </Paragraph>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              Once the phrase finishes, you can press the Retry button to try matching it again, or press Forward/Backward to move to the next or previous phrase. The next two phrases are shown in grey below the current phrase.      </Paragraph>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              If you want to hear the phrase spoken by your selected avatar, press the Listen button. The dark blue curve will change to yellow as the phrase is played to indicate the timing.      </Paragraph>\r\n\r\n            <Typography.Title id=\"part-2-6\" level={4} style={{ margin: 0 }}>\r\n              2.6 Suggestions for using the pitch module\r\n            </Typography.Title>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              If you have limited ability to control your pitch, we recommend starting with the Constant exercise. Measure your current pitch and set the target pitch (with the slider on the right) to somewhere above your regular pitch. The “stereotypical” value for female pitch is about 200 Hz. Make sustained sounds (for example, “aaaaaaaaaaa”) and try to consistently match the target pitch. Once you can consistently match the target pitch with all five vowels (a, e, i, o, u), try speaking longer phrases at the target pitch.       </Paragraph>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              When you feel comfortable matching the target pitch in the Constant exercise for short periods of time, add the Staircase exercise to your practice rotation. You can start by hiding the target text and just matching the target pitches with a sustained vowel sound (for example, “aaaaa” moving up and down in pitch). Once you can do that with all five vowel sounds, turn the target text on and try speaking the phrases. Once you can do that, you may also try the Syllables exercise, though you do not necessarily need to do the Syllables exercise – the Constant and Staircase will give you the fundamentals.      </Paragraph>\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              If this is all of your voice practice, do it for 10-15 minutes two times a day. It will help you learn pitch control, though you should keep in mind that pitch is not the only component of transgender voice. You will want to move on to other components of voice as well.      </Paragraph> */}\r\n\r\n            <br />\r\n            <br />\r\n            <Typography.Title id=\"part-4\" level={2} style={{ margin: 0 }}>\r\n              4. Volume module\r\n            </Typography.Title>\r\n            <br />\r\n            <Paragraph style={{ textAlign: fontAlign, fontSize: fontSizePara }}>\r\n              The Volume module is intended to help simultaneously practice pitch and loudness. It is currently not really functional and simply shows current volume in red and current pitch in blue. This will be expanded in a future update.\r\n\r\n            </Paragraph>\r\n\r\n          </Typography>\r\n        </Col>\r\n        <Col span={1}></Col>\r\n      </Row>\r\n\r\n      {/* <Row>\r\n      <Col span={2}></Col>\r\n      <Col span={9}>\r\n      <Collapse items={items} defaultActiveKey={['1']} />\r\n      </Col>\r\n      <Col span={2}></Col>\r\n      <Col span={9}>\r\n      <Collapse items={items} defaultActiveKey={['1']} />\r\n      </Col>\r\n      <Col span={2}></Col>\r\n    </Row> */}\r\n\r\n\r\n\r\n      {/* <h1>Help Page:Catalog</h1> */}\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default Help;\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}