{"id":22758,"date":"2026-10-16T11:23:30","date_gmt":"2026-10-16T00:23:30","guid":{"rendered":"https:\/\/geoffreychen.com\/?page_id=22758"},"modified":"2026-10-17T10:08:28","modified_gmt":"2026-10-16T23:08:28","slug":"ear","status":"publish","type":"page","link":"https:\/\/geoffreychen.com\/zh\/ear\/","title":{"rendered":"\u7ec3\u8033"},"content":{"rendered":"<!-- Ear music applications hub -->\n\n<style>\n.ear-hub{--paper:#f5f3ec;--ink:#243e33;--muted:#626e63;--line:#d6dbcf;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}.ear-hub *{box-sizing:border-box}.ear-hub{color-scheme:light}.ear-hub{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.ear-hub a{color:inherit;text-decoration:none}.ear-hub button{font:inherit}.ear-hub a,.ear-hub button{-webkit-tap-highlight-color:transparent}.ear-hub a:focus-visible,.ear-hub button:focus-visible{outline:3px solid #8b5b34;outline-offset:7px}.ear-hub .ear-canvas{max-width:1440px;margin:auto;padding:0 6.1vw}.ear-hub .header{display:flex;justify-content:space-between;align-items:center;height:112px;border-bottom:1px solid var(--line)}.ear-hub .brand{display:flex;align-items:center;gap:18px}.ear-hub .wordmark{font:italic 58px\/.8 var(--serif);letter-spacing:-5px;padding-right:5px}.ear-hub .brand-caption{border-left:1px solid var(--line);padding-left:19px;font-size:10px;font-weight:500;line-height:1.8;letter-spacing:2px}.ear-hub .header-right{display:flex;align-items:center;gap:35px}.ear-hub .home-link{font-size:12px;color:var(--muted)}.ear-hub .home-link span{margin-left:6px}.ear-hub .language{border:1px solid var(--line);border-radius:30px;padding:4px;display:flex;gap:3px}.ear-hub .language a{background:transparent;border:0;padding:7px 10px;border-radius:22px;color:var(--muted);font-size:11px;cursor:pointer}.ear-hub .language a.is-active{color:var(--paper);background:var(--ink)}.ear-hub .intro{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:300px;padding:53px 0 49px;gap:36px}.ear-hub .eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:500;margin:0 0 24px}.ear-hub .intro h2{font-size:clamp(32px,3.6vw,52px);font-weight:450;letter-spacing:.025em;line-height:1.32;margin:0 0 20px}.ear-hub .intro-copy{font-size:14px;color:var(--muted);line-height:1.9;margin:0}.ear-hub .intro-mark{width:210px;flex-shrink:0;height:158px;margin-right:16px;color:#7b8d72}.ear-hub .intro-mark svg{width:100%;height:100%}.ear-hub .apps{padding-bottom:64px}.ear-hub .section-label{display:flex;justify-content:space-between;align-items:center;padding:0 0 15px;font-size:10px;letter-spacing:2px;border-bottom:1px solid var(--line)}.ear-hub .section-label .count{color:var(--muted);letter-spacing:1px}.ear-hub .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}.ear-hub .app{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);background:#f9f8f3;transition:transform .25s,border-color .25s,box-shadow .25s;overflow:hidden}.ear-hub .app:hover{transform:translateY(-5px);border-color:#9baa97;box-shadow:0 12px 24px #243e3309}.ear-hub .art{height:230px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}.ear-hub .chord .art{background:#e4e9dd}.ear-hub .voices .art{background:#ede7dc}.ear-hub .melody .art{background:#e2e8e7}.ear-hub .art svg{width:100%;height:100%;transition:transform .5s}.ear-hub .app:hover .art svg{transform:scale(1.035)}.ear-hub .art-label{position:absolute;top:18px;left:20px;color:#4f6053;font-size:10px;letter-spacing:1px}.ear-hub .art-label.right{left:auto;right:20px;letter-spacing:2px}.ear-hub .app-body{padding:25px 24px 21px;display:flex;flex:1;flex-direction:column}.ear-hub .app-heading{display:flex;align-items:baseline;gap:14px}.ear-hub .app h3{font:38px\/1.15 var(--serif);letter-spacing:-1px;margin:0}.ear-hub .app-name{font-size:12px;color:var(--muted);letter-spacing:2px}.ear-hub .app-description{font-size:13px;color:var(--muted);line-height:1.8;margin:16px 0 24px}.ear-hub .app-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:auto}.ear-hub .domain{font-size:10px;letter-spacing:.1px;color:var(--muted)}.ear-hub .arrow{display:grid;place-items:center;width:29px;height:29px;border:1px solid #c7cfc0;border-radius:50%;font-size:17px;transition:background .2s,color .2s}.ear-hub .app:hover .arrow{background:var(--ink);border-color:var(--ink);color:var(--paper)}.ear-hub .closing{display:flex;align-items:center;justify-content:center;gap:15px;margin:34px 0 0;color:var(--muted);font-size:12px;letter-spacing:1px}.ear-hub .closing:before,.ear-hub .closing:after{content:'';width:22px;height:1px;background:#bdc6b5}.ear-hub .footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:84px;color:var(--muted);font-size:10px;letter-spacing:.4px}.ear-hub .footer a:hover,.ear-hub .home-link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.ear-hub .footer-note{display:flex;align-items:center;gap:8px}.ear-hub .footer-dot{width:4px;height:4px;border-radius:50%;background:#7d8d71}.ear-hub[data-language=\"en\"] .intro h2{font-family:var(--serif);font-size:clamp(38px,4.5vw,64px);letter-spacing:-1.5px;font-weight:400}.ear-hub[data-language=\"en\"] .app-name{letter-spacing:.5px}.ear-hub .skip{position:absolute;left:20px;top:-60px;padding:12px;background:var(--ink);color:white;z-index:10}.ear-hub .skip:focus{top:15px}@media(min-width:1500px){.ear-hub .ear-canvas{padding:0 88px}.ear-hub .intro{min-height:335px}.ear-hub .art{height:255px}}@media(max-width:1000px){.ear-hub .ear-canvas{padding:0 5vw}.ear-hub .grid{gap:16px}.ear-hub .app-body{padding:22px 18px 18px}.ear-hub .art{height:200px}.ear-hub .app h3{font-size:32px}.ear-hub .app-heading{gap:10px}.ear-hub .domain{font-size:9px}.ear-hub .intro-mark{width:160px}.ear-hub .intro{min-height:280px}}@media(max-width:700px){.ear-hub .ear-canvas{padding:0 24px}.ear-hub .header{height:88px}.ear-hub .wordmark{font-size:49px}.ear-hub .brand{gap:14px}.ear-hub .brand-caption{font-size:8px;letter-spacing:1.4px;padding-left:14px}.ear-hub .header-right{gap:10px}.ear-hub .home-link{display:none}.ear-hub .language a{padding:6px 8px}.ear-hub .intro{min-height:0;padding:46px 0 36px;gap:0;display:block}.ear-hub .eyebrow{font-size:9px;margin-bottom:20px}.ear-hub .intro h2{font-size:32px;letter-spacing:.01em;margin-bottom:16px}.ear-hub .intro-copy{font-size:12px;max-width:290px}.ear-hub .intro-mark{display:none}.ear-hub .grid{grid-template-columns:1fr;gap:20px;margin-top:20px}.ear-hub .art{height:210px}.ear-hub .app-body{padding:23px}.ear-hub .app h3{font-size:37px}.ear-hub .app-description{margin:13px 0 20px;font-size:13px}.ear-hub .app-name{font-size:12px}.ear-hub .domain{font-size:11px}.ear-hub .apps{padding-bottom:36px}.ear-hub .closing{font-size:11px;margin-top:28px}.ear-hub .footer{min-height:88px;align-items:flex-start;justify-content:center;flex-direction:column;gap:12px;font-size:10px}.ear-hub[data-language=\"en\"] .intro h2{font-size:41px}.ear-hub .section-label{font-size:9px}}@media(prefers-reduced-motion:reduce){.ear-hub *{transition:none!important}}\n  \n.ear-hub{width:100%;background:var(--paper);border:1px solid var(--line);text-align:left;overflow:hidden;font-size:16px}\n.ear-hub .ear-canvas{padding:0 clamp(20px,4vw,48px)}\n.ear-hub .brand{color:var(--ink)!important;text-decoration:none!important}\n.ear-hub a.app{color:var(--ink)!important;text-decoration:none!important}\n.ear-hub .language a{display:block;line-height:1.3;text-decoration:none!important}\n.ear-hub .language .is-active{color:var(--paper)!important}\n.ear-hub .intro h2{padding:0;border:0;color:var(--ink);font-family:var(--sans);font-weight:450;text-transform:none}\n.ear-hub[data-language=\"en\"] .intro h2{font-family:var(--serif);font-weight:400}\n.ear-hub .app h3{padding:0;border:0;color:var(--ink);font-weight:400;text-transform:none}\n.ear-hub .art svg,.ear-hub .intro-mark svg{display:block;max-width:100%;height:100%}\n.ear-hub .brand-caption,.ear-hub .domain,.ear-hub .app-name{white-space:nowrap}\n.ear-hub .footer{margin:0;padding:0;background:transparent}\n@media(max-width:850px){.ear-hub .grid{grid-template-columns:1fr}.ear-hub .art{height:210px}.ear-hub .intro-mark{display:none}.ear-hub .intro{min-height:0;padding:40px 0}.ear-hub .domain{font-size:11px}}\n\n.ear-hub{container-type:inline-size}\n.ear-hub .app-heading{flex-wrap:wrap;row-gap:8px}\n@container(max-width:650px){.ear-hub .grid{grid-template-columns:1fr}.ear-hub .intro-mark,.ear-hub .home-link{display:none}.ear-hub .intro{min-height:0;padding:36px 0}.ear-hub .intro h2{font-size:32px}.ear-hub .art{height:210px}}\n\n\n\/* ScoreFlow promotion: scoped to the Ear page. *\/\n.ear-hub .ear-scoreflow{margin:0 0 36px;padding-top:28px;border-top:1px solid var(--line)}\n.ear-hub .ear-sf-kicker{margin:0 0 15px;font:500 10px\/1.6 var(--sans);letter-spacing:2px;color:var(--muted)}\n.ear-hub .ear-sf-panel{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;padding:24px;background:#eeeee4;border:1px solid var(--line)}\n.ear-hub .ear-sf-icon{display:block;width:72px;height:72px;max-width:100%;border-radius:17px;box-shadow:0 3px 10px #243e3310}\n.ear-hub .ear-sf-title{margin:0 0 4px;padding:0;border:0;font:400 30px\/1.2 var(--serif);letter-spacing:-.7px;color:var(--ink);text-transform:none}\n.ear-hub .ear-sf-platforms{margin:0;color:var(--muted);font:400 11px\/1.7 var(--sans);letter-spacing:.5px}\n.ear-hub .ear-sf-tagline{grid-column:1\/-1;margin:0;color:var(--ink);font:500 20px\/1.5 var(--sans);letter-spacing:0}\n.ear-hub .ear-sf-description{grid-column:1\/-1;margin:-8px 0 0;color:var(--muted);font:400 13px\/1.85 var(--sans)}\n.ear-hub a.ear-sf-cta{grid-column:1\/-1;justify-self:start;display:block;margin:0;padding:0;background:transparent!important;border:0;border-radius:0;text-decoration:none!important;box-shadow:none;line-height:0}\n.ear-hub .ear-sf-badge{display:block;height:48px;width:auto;max-width:100%;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}\n.ear-hub a.ear-sf-cta:focus-visible{outline:3px solid #8b5b34;outline-offset:4px}\n@container(max-width:400px){.ear-hub .ear-sf-panel{padding:18px;gap:16px;grid-template-columns:56px minmax(0,1fr)}.ear-hub .ear-sf-icon{width:56px;height:56px;border-radius:13px}.ear-hub .ear-sf-title{font-size:27px}.ear-hub .ear-sf-tagline{font-size:18px}.ear-hub .ear-sf-description{font-size:12px}}\n\n\/* Additional listening apps: scoped card backgrounds. *\/\n.ear-hub .rhythm .art{background:#eae3d8}\n.ear-hub .modes .art{background:#e6e3e8}\n<\/style>\n\n<div class=\"ear-hub alignwide\" data-language=\"zh\" lang=\"zh\">\n<div class=\"ear-canvas\">\n    <header class=\"header\">\n      <a class=\"brand\" href=\"https:\/\/geoffreychen.com\/zh\/ear\/\" aria-label=\"Ear \u9996\u9875\"><span class=\"wordmark\">ear<\/span><span class=\"brand-caption\">A SPACE<br>FOR LISTENING<\/span><\/a>\n      <div class=\"header-right\">\n        <a class=\"home-link\" href=\"https:\/\/geoffreychen.com\">Geoffrey Chen <span aria-hidden=\"true\">\u2197<\/span><\/a>\n        <div class=\"language\" data-no-translation role=\"group\" aria-label=\"Language \/ \u8bed\u8a00\"><a class=\"is-active\" href=\"https:\/\/geoffreychen.com\/zh\/ear\/\" lang=\"zh\" aria-current=\"page\">\u4e2d\u6587<\/a><a class=\"\" href=\"https:\/\/geoffreychen.com\/ear\/\" lang=\"en\">EN<\/a><\/div>\n      <\/div>\n    <\/header>\n    <div class=\"ear-main\">\n      <section class=\"intro\" aria-labelledby=\"intro-title-zh\">\n        <div><p class=\"eyebrow\">EAR \/ MUSIC EXPLORATIONS<\/p><h2 id=\"intro-title-zh\">\u97f3\u4e50\uff0c\u4ece\u8046\u542c\u5f00\u59cb\u3002<\/h2><p class=\"intro-copy\">\u4ece\u548c\u5f26\u3001\u58f0\u90e8\u3001\u65cb\u5f8b\u5230\u8282\u594f\u4e0e\u8c03\u5f0f\uff0c\u9009\u62e9\u4e00\u4e2a\u5165\u53e3\uff0c\u5f00\u59cb\u63a2\u7d22\u3002<\/p><\/div>\n        <div class=\"intro-mark\" aria-hidden=\"true\"><svg viewBox=\"0 0 210 158\" fill=\"none\"><path d=\"M21 79h168\" stroke=\"currentColor\" stroke-width=\".7\" opacity=\".4\"\/><g stroke=\"currentColor\" stroke-width=\"1.3\"><ellipse cx=\"105\" cy=\"79\" rx=\"18\" ry=\"22\"\/><ellipse cx=\"105\" cy=\"79\" rx=\"35\" ry=\"40\"\/><ellipse cx=\"105\" cy=\"79\" rx=\"53\" ry=\"57\"\/><ellipse cx=\"105\" cy=\"79\" rx=\"72\" ry=\"74\"\/><\/g><circle cx=\"105\" cy=\"79\" r=\"4\" fill=\"currentColor\"\/><\/svg><\/div>\n      <\/section>\n      <section class=\"apps\" id=\"applications-zh\" aria-labelledby=\"apps-label-zh\">\n        <div class=\"section-label\"><span id=\"apps-label-zh\">\u9009\u62e9\u4f60\u7684\u63a2\u7d22<\/span><span class=\"count\">\u4e94\u4e2a\u5e94\u7528 \u00b7 \u4e00\u4e2a\u5165\u53e3<\/span><\/div>\n        <div class=\"grid\">\n          <a class=\"app chord\" href=\"https:\/\/chord.geoffreychen.com\" aria-labelledby=\"chord-title-zh chord-name-zh\">\n            <div class=\"art\"><span class=\"art-label\">01<\/span><span class=\"art-label right\">\u548c\u5f26<\/span>\n              <svg viewBox=\"0 0 380 230\" aria-hidden=\"true\" fill=\"none\"><g stroke=\"#607457\" stroke-width=\"1\"><path d=\"M63 73H317M63 94H317M63 115H317M63 136H317M63 157H317\" opacity=\".22\"\/><\/g><path d=\"M124 155V67M190 134V46M256 113V25\" stroke=\"#4b6645\" stroke-width=\"2\"\/><g fill=\"#4b6645\"><ellipse cx=\"115\" cy=\"157\" rx=\"13\" ry=\"8\" transform=\"rotate(-20 115 157)\"\/><ellipse cx=\"181\" cy=\"136\" rx=\"13\" ry=\"8\" transform=\"rotate(-20 181 136)\"\/><ellipse cx=\"247\" cy=\"115\" rx=\"13\" ry=\"8\" transform=\"rotate(-20 247 115)\"\/><\/g><path d=\"M115 181H247\" stroke=\"#819177\" stroke-width=\".7\"\/><text x=\"115\" y=\"204\" fill=\"#63775a\" text-anchor=\"middle\" font-family=\"Georgia\" font-size=\"11\">C<\/text><text x=\"181\" y=\"204\" fill=\"#63775a\" text-anchor=\"middle\" font-family=\"Georgia\" font-size=\"11\">E<\/text><text x=\"247\" y=\"204\" fill=\"#63775a\" text-anchor=\"middle\" font-family=\"Georgia\" font-size=\"11\">G<\/text><\/svg>\n            <\/div>\n            <div class=\"app-body\"><div class=\"app-heading\"><h3 id=\"chord-title-zh\">\u548c\u5f26<\/h3><span class=\"app-name\" id=\"chord-name-zh\">Chord<\/span><\/div><p class=\"app-description\">\u542c\u89c1\u97f3\u4e0e\u97f3\u4e4b\u95f4\u7684\u5173\u7cfb\u3002<\/p><div class=\"app-bottom\"><span class=\"domain\">chord.geoffreychen.com<\/span><span class=\"arrow\" aria-hidden=\"true\">\u2197<\/span><\/div><\/div>\n          <\/a>\n          <a class=\"app voices\" href=\"https:\/\/voices.geoffreychen.com\" aria-labelledby=\"voices-title-zh voices-name-zh\">\n            <div class=\"art\"><span class=\"art-label\">02<\/span><span class=\"art-label right\">\u58f0\u90e8<\/span>\n              <svg viewBox=\"0 0 380 230\" aria-hidden=\"true\" fill=\"none\"><g stroke=\"#95826a\" stroke-width=\".7\" opacity=\".16\"><path d=\"M60 60V177M125 60V177M190 60V177M255 60V177M320 60V177\"\/><\/g><path d=\"M40 100C77 100 82 59 120 59S164 115 202 115S248 72 283 72S322 99 340 99\" stroke=\"#9e7750\" stroke-width=\"2.3\"\/><path d=\"M40 128C77 128 89 147 120 147S164 90 202 90S242 128 283 128S322 111 340 111\" stroke=\"#6b7864\" stroke-width=\"2.3\"\/><path d=\"M40 158C77 158 82 116 120 116S164 168 202 168S248 147 283 147S322 160 340 160\" stroke=\"#ae9d86\" stroke-width=\"2.3\"\/><g fill=\"#9e7750\"><circle cx=\"120\" cy=\"59\" r=\"4\"\/><circle cx=\"283\" cy=\"72\" r=\"4\"\/><\/g><g fill=\"#6b7864\"><circle cx=\"120\" cy=\"147\" r=\"4\"\/><circle cx=\"202\" cy=\"90\" r=\"4\"\/><\/g><g fill=\"#ae9d86\"><circle cx=\"120\" cy=\"116\" r=\"4\"\/><circle cx=\"283\" cy=\"147\" r=\"4\"\/><\/g><\/svg>\n            <\/div>\n            <div class=\"app-body\"><div class=\"app-heading\"><h3 id=\"voices-title-zh\">\u58f0\u90e8<\/h3><span class=\"app-name\" id=\"voices-name-zh\">Voices<\/span><\/div><p class=\"app-description\">\u5faa\u7740\u4e0d\u540c\u58f0\u90e8\uff0c\u8046\u542c\u97f3\u4e50\u7684\u5c42\u6b21\u3002<\/p><div class=\"app-bottom\"><span class=\"domain\">voices.geoffreychen.com<\/span><span class=\"arrow\" aria-hidden=\"true\">\u2197<\/span><\/div><\/div>\n          <\/a>\n          <a class=\"app melody\" href=\"https:\/\/melody.geoffreychen.com\" aria-labelledby=\"melody-title-zh melody-name-zh\">\n            <div class=\"art\"><span class=\"art-label\">03<\/span><span class=\"art-label right\">\u65cb\u5f8b<\/span>\n              <svg viewBox=\"0 0 380 230\" aria-hidden=\"true\" fill=\"none\"><g stroke=\"#65817e\" stroke-width=\".7\" opacity=\".25\"><path d=\"M45 74H335M45 94H335M45 114H335M45 134H335M45 154H335\"\/><\/g><path d=\"M67 144C93 144 105 115 130 114S166 136 193 134S231 84 258 84S292 104 316 104\" stroke=\"#6b8b86\" stroke-width=\"1\" stroke-dasharray=\"3 5\" opacity=\".65\"\/><g fill=\"#496a64\"><ellipse cx=\"67\" cy=\"144\" rx=\"10\" ry=\"6\" transform=\"rotate(-20 67 144)\"\/><ellipse cx=\"130\" cy=\"114\" rx=\"10\" ry=\"6\" transform=\"rotate(-20 130 114)\"\/><ellipse cx=\"193\" cy=\"134\" rx=\"10\" ry=\"6\" transform=\"rotate(-20 193 134)\"\/><ellipse cx=\"258\" cy=\"84\" rx=\"10\" ry=\"6\" transform=\"rotate(-20 258 84)\"\/><ellipse cx=\"316\" cy=\"104\" rx=\"10\" ry=\"6\" transform=\"rotate(-20 316 104)\"\/><\/g><g stroke=\"#496a64\" stroke-width=\"1.7\"><path d=\"M75 143V95M138 113V65M201 133V85M266 83V35M324 103V55\"\/><\/g><\/svg>\n            <\/div>\n            <div class=\"app-body\"><div class=\"app-heading\"><h3 id=\"melody-title-zh\">\u65cb\u5f8b<\/h3><span class=\"app-name\" id=\"melody-name-zh\">Melody<\/span><\/div><p class=\"app-description\">\u8ddf\u968f\u97f3\u7b26\uff0c\u611f\u53d7\u65cb\u5f8b\u7684\u8d70\u5411\u3002<\/p><div class=\"app-bottom\"><span class=\"domain\">melody.geoffreychen.com<\/span><span class=\"arrow\" aria-hidden=\"true\">\u2197<\/span><\/div><\/div>\n          <\/a>\n          <a class=\"app rhythm\" href=\"https:\/\/rhythm.geoffreychen.com\/\" aria-labelledby=\"rhythm-title-zh rhythm-name-zh\">\n            <div class=\"art\"><span class=\"art-label\">04<\/span><span class=\"art-label right\">\u8282\u594f<\/span>\n              <svg viewBox=\"0 0 380 230\" aria-hidden=\"true\" fill=\"none\"><g stroke=\"#92775e\" stroke-width=\".7\" opacity=\".22\"><path d=\"M45 74H335M45 94H335M45 114H335M45 134H335M45 154H335\"\/><\/g><g fill=\"#8a7056\"><ellipse cx=\"74\" cy=\"134\" rx=\"10\" ry=\"6\" transform=\"rotate(-20 74 134)\"\/><ellipse cx=\"142\" cy=\"134\" rx=\"10\" ry=\"6\" transform=\"rotate(-20 142 134)\"\/><ellipse cx=\"179\" cy=\"134\" rx=\"10\" ry=\"6\" transform=\"rotate(-20 179 134)\"\/><ellipse cx=\"302\" cy=\"134\" rx=\"10\" ry=\"6\" transform=\"rotate(-20 302 134)\"\/><\/g><g stroke=\"#8a7056\" stroke-width=\"1.7\"><path d=\"M82 133V78M150 133V78M187 133V78M310 133V78\"\/><path d=\"M150 79H187\" stroke-width=\"4\"\/><path d=\"M237 94L246 107L235 119L244 128C234 128 232 135 239 141\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/g><path d=\"M62 179H314\" stroke=\"#92775e\" stroke-width=\".7\" opacity=\".45\"\/><g fill=\"#92775e\" opacity=\".65\"><circle cx=\"74\" cy=\"179\" r=\"2\"\/><circle cx=\"150\" cy=\"179\" r=\"2\"\/><circle cx=\"226\" cy=\"179\" r=\"2\"\/><circle cx=\"302\" cy=\"179\" r=\"2\"\/><\/g><\/svg>\n            <\/div>\n            <div class=\"app-body\"><div class=\"app-heading\"><h3 id=\"rhythm-title-zh\">\u8282\u594f<\/h3><span class=\"app-name\" id=\"rhythm-name-zh\">Rhythm<\/span><\/div><p class=\"app-description\">\u542c\u89c1\u957f\u77ed\u4e0e\u505c\u987f\uff0c\u8fa8\u8ba4\u8282\u594f\u7684\u53d8\u5316\u3002<\/p><div class=\"app-bottom\"><span class=\"domain\">rhythm.geoffreychen.com<\/span><span class=\"arrow\" aria-hidden=\"true\">\u2197<\/span><\/div><\/div>\n          <\/a>\n          <a class=\"app modes\" href=\"https:\/\/modes.geoffreychen.com\/\" aria-labelledby=\"modes-title-zh modes-name-zh\">\n            <div class=\"art\"><span class=\"art-label\">05<\/span><span class=\"art-label right\">\u8c03\u5f0f<\/span>\n              <svg viewBox=\"0 0 380 230\" aria-hidden=\"true\" fill=\"none\"><g stroke=\"#7f7d89\" stroke-width=\".7\" opacity=\".2\"><path d=\"M45 74H335M45 94H335M45 114H335M45 134H335M45 154H335\"\/><\/g><path d=\"M62 164L99 150L136 122L173 108L210 94L247 66L284 38L321 24\" stroke=\"#6e727e\" stroke-width=\"1.5\"\/><path d=\"M62 164L99 150L136 136L173 108L210 94L247 80L284 52L321 24\" stroke=\"#a18d76\" stroke-width=\"1.5\" stroke-dasharray=\"4 4\"\/><g fill=\"#6e727e\"><circle cx=\"62\" cy=\"164\" r=\"5\"\/><circle cx=\"99\" cy=\"150\" r=\"4\"\/><circle cx=\"136\" cy=\"122\" r=\"4\"\/><circle cx=\"173\" cy=\"108\" r=\"4\"\/><circle cx=\"210\" cy=\"94\" r=\"4\"\/><circle cx=\"247\" cy=\"66\" r=\"4\"\/><circle cx=\"284\" cy=\"38\" r=\"4\"\/><circle cx=\"321\" cy=\"24\" r=\"5\"\/><\/g><g fill=\"#e6e3e8\" stroke=\"#a18d76\" stroke-width=\"1.7\"><circle cx=\"136\" cy=\"136\" r=\"4\"\/><circle cx=\"247\" cy=\"80\" r=\"4\"\/><circle cx=\"284\" cy=\"52\" r=\"4\"\/><\/g><path d=\"M62 187H321\" stroke=\"#7f7d89\" stroke-width=\".7\" opacity=\".4\"\/><text x=\"62\" y=\"206\" fill=\"#73717c\" text-anchor=\"middle\" font-family=\"Georgia\" font-size=\"11\">1<\/text><text x=\"321\" y=\"206\" fill=\"#73717c\" text-anchor=\"middle\" font-family=\"Georgia\" font-size=\"11\">8<\/text><\/svg>\n            <\/div>\n            <div class=\"app-body\"><div class=\"app-heading\"><h3 id=\"modes-title-zh\">\u8c03\u5f0f<\/h3><span class=\"app-name\" id=\"modes-name-zh\">Modes<\/span><\/div><p class=\"app-description\">\u6bd4\u8f83\u5927\u8c03\u4e0e\u5c0f\u8c03\u97f3\u9636\uff0c\u542c\u89c1\u8c03\u5f0f\u7684\u8272\u5f69\u3002<\/p><div class=\"app-bottom\"><span class=\"domain\">modes.geoffreychen.com<\/span><span class=\"arrow\" aria-hidden=\"true\">\u2197<\/span><\/div><\/div>\n          <\/a>\n        <\/div>\n        <p class=\"closing\">\u7559\u4e00\u70b9\u65f6\u95f4\uff0c\u7ed9\u8033\u6735\u3002<\/p>\n      <\/section>\n    <\/div>\n    \n<!-- ScoreFlow promotion zh -->\n<section class=\"ear-scoreflow\" aria-labelledby=\"ear-scoreflow-title-zh\"><p class=\"ear-sf-kicker\">\u6211\u5f00\u53d1\u7684\u97f3\u4e50\u5e94\u7528<\/p><div class=\"ear-sf-panel\"><img data-recalc-dims=\"1\" class=\"ear-sf-icon\" src=\"https:\/\/i0.wp.com\/geoffreychen.com\/wp-content\/uploads\/2026\/10\/scoreflow-app-icon.png?resize=72%2C72&#038;ssl=1\" alt=\"ScoreFlow\" width=\"72\" height=\"72\" loading=\"lazy\" decoding=\"async\"><div><h3 class=\"ear-sf-title\" id=\"ear-scoreflow-title-zh\">ScoreFlow<\/h3><p class=\"ear-sf-platforms\">iPhone \u00b7 iPad<\/p><\/div><p class=\"ear-sf-tagline\">\u8ba9\u4e50\u8c31\u8ddf\u7740\u4f60\u7684\u6f14\u594f\u8d70\u3002<\/p><p class=\"ear-sf-description\">ScoreFlow \u662f\u6211\u5f00\u53d1\u7684\u94a2\u7434\u4e50\u8c31\u5e94\u7528\uff0c\u652f\u6301 MusicXML \u4e50\u8c31\u8ddf\u968f\u4e0e\u81ea\u52a8\u64ad\u653e\uff0c\u4e5f\u53ef\u4f7f\u7528 PDF \u770b\u8c31\u3002\u9002\u7528\u4e8e iPhone \u548c iPad\u3002<\/p><a class=\"ear-sf-cta\" href=\"https:\/\/apps.apple.com\/app\/scoreflow\/id6796205656\" target=\"_blank\" rel=\"noopener noreferrer\"><img data-recalc-dims=\"1\" class=\"ear-sf-badge\" src=\"https:\/\/i0.wp.com\/geoffreychen.com\/wp-content\/uploads\/2026\/10\/apple-app-store-download-badge-zh-cn.png?resize=391%2C144&#038;ssl=1\" alt=\"\u5728 App Store \u4e0b\u8f7d ScoreFlow\" width=\"391\" height=\"144\" loading=\"lazy\" decoding=\"async\"><\/a><\/div><\/section>\n<footer class=\"footer\"><a href=\"https:\/\/geoffreychen.com\">\u00a9 <span>2026<\/span> Geoffrey Chen<\/a><span class=\"footer-note\"><span class=\"footer-dot\" aria-hidden=\"true\"><\/span><span>geoffreychen.com\/ear\/<\/span><\/span><\/footer><\/div>\n<\/div>\n\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":17897162,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_gc_page_meta_description_zh":"","_gc_page_meta_description_en":"","_wpcom_ai_launchpad_about_page":false,"_wpcom_ai_launchpad_gallery_page":false,"_wpcom_ai_launchpad_contact_page":false,"_wpcom_ai_launchpad_events_page":false,"_wpcom_ai_launchpad_video_page":false,"_wpcom_ai_launchpad_portfolio_piece":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"footnotes":""},"class_list":["post-22758","page","type-page","status-publish","hentry",""],"translatepress_titles":{"en_AU":"Ear Training","zh_CN":"\u7ec3\u8033"},"jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P1ar9H-5V4","_links":{"self":[{"href":"https:\/\/geoffreychen.com\/zh\/wp-json\/wp\/v2\/pages\/22758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geoffreychen.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/geoffreychen.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/geoffreychen.com\/zh\/wp-json\/wp\/v2\/users\/17897162"}],"replies":[{"embeddable":true,"href":"https:\/\/geoffreychen.com\/zh\/wp-json\/wp\/v2\/comments?post=22758"}],"version-history":[{"count":10,"href":"https:\/\/geoffreychen.com\/zh\/wp-json\/wp\/v2\/pages\/22758\/revisions"}],"predecessor-version":[{"id":22794,"href":"https:\/\/geoffreychen.com\/zh\/wp-json\/wp\/v2\/pages\/22758\/revisions\/22794"}],"wp:attachment":[{"href":"https:\/\/geoffreychen.com\/zh\/wp-json\/wp\/v2\/media?parent=22758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}