[{"data":1,"prerenderedAt":519},["ShallowReactive",2],{"project-39331383":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":45,"post_text":46,"what":47,"said":83,"maker_in_thread":193,"shape":206,"grid":210,"attempts":480,"same_week":481,"maker_shows":32,"maker_hidden":511,"reader_version":512,"card":513},"39331383","Keyboard Connect","A platform for remote piano lessons based on the Web MIDI API","title","Show HN: A platform for remote piano lessons based on the Web MIDI API","https:\u002F\u002Fkeyboardconnect.com\u002F","keyboardconnect.com","keycon",1707609029,2024,224,103,340,3515,10,"notable","learning_science","remote piano lessons","web_app",[21,24,25,26],"web midi","piano teaching","webrtc","curious",0.064,{"positive":30,"neutral":31,"mixed":32,"critical":33},6,13,1,5,25,{"performance":36,"execution":38,"idea":39,"docs":42,"design":43,"privacy":44},{"positive":37,"critical":37},0,{"positive":37,"critical":37},{"positive":40,"critical":41},3,2,{"positive":37,"critical":32},{"positive":32,"critical":41},{"positive":37,"critical":37},[40,40,37,40,33,37,37,32,32,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,40,37,40,40,32,32,37,33,37,40,40,33,40,33,33,33],"I'm building a video conferencing app designed to facilitate better remote piano lessons. My hope is to solve a lot of the challenges piano tutors and new students deal with when taking lessons through Skype\u002FZoom. It leverages WebRTC's data transmission to send media, MIDI state, and (eventually) send sheet music files and other musical data.\n\nI'm surprised with how well the MVP has worked and would love to hear any feedback or suggestions!",{"problem":48,"audience":55,"pricing":61,"motivation":62,"time_to_build":61,"stack":66,"openness":81,"stage":82,"team_size":81},{"value":49,"source":50,"evidence":51},"Setting up remote piano lessons over Skype\u002FZoom needs expensive equipment and technical knowledge","maker",[52],{"id":53,"by":11,"text":54},"39335849","Piano tutors who want to give an engaging remote lesson will want the ability to show themselves playing as well as what notes they're playing. This requires expensive equipment…",{"value":56,"source":50,"evidence":57},"Piano tutors and new students taking remote lessons",[58,60],{"id":59},"post",{"id":53,"by":11,"text":54},null,{"value":63,"source":50,"evidence":64},"Solve challenges piano tutors and students face in remote lessons over Skype\u002FZoom",[65],{"id":59},[67,71,75],{"value":68,"source":50,"evidence":69},"WebRTC",[70],{"id":59},{"value":72,"source":50,"evidence":73},"Web MIDI API",[74],{"id":59},{"value":76,"source":50,"evidence":77},"JavaScript",[78],{"id":79,"by":11,"text":80},"39332361","Wrote it myself. It's a javascript object that loads in all the piano sounds and manages the audiocontext. When the MIDI note\u002Fvelocity\u002Fpedal state updates, a method on the object…","unknown","beta",{"praise":84,"objections":104,"requests":132,"questions":162,"alternatives":178},[85,97],{"value":86,"source":87,"evidence":88},"Cool concept and well received for shipping","commenter",[89,93],{"id":90,"by":91,"text":92},"39333710","Bewelge","This is such a cool concept, congrats on shipping! I've been developing a webMIDI app myself for the past couple of years [0] and adding a multiplayer feature is something I've…",{"id":94,"by":95,"text":96},"39332746","udtravdu","Congrats on shipping! I would suggest recording the videos from the player's point of view. It adds a layer of abstraction to have to reverse the image when reading it as a…",{"value":98,"source":87,"evidence":99},"Design praised",[100],{"id":101,"by":102,"text":103},"39334068","RockRobotRock","Love the design.",[105,113,121,128],{"value":106,"source":87,"evidence":107},"Website confusing on mobile and buttons that do nothing",[108,112],{"id":109,"by":110,"text":111},"39331809","The28thDuck","Website is a bit jumbled on mobile, just a heads up.",{"id":90,"by":91,"text":92},{"value":114,"source":87,"evidence":115},"No demo video or way to try before signing up",[116,120],{"id":117,"by":118,"text":119},"39331942","Nifty3929","I'd love to give some feedback both as a teacher and a student. But I don't see a way on your website to just see what it really does and how it works, beyond just those couple…",{"id":90,"by":91,"text":92},{"value":122,"source":87,"evidence":123},"MIDI keyboard without weighted keys may hinder learning piano",[124],{"id":125,"by":126,"text":127},"39332041","Ferret7446","From what I've heard MIDI controllers are not good for learning piano. You really want weighted keys and a full 88 keys otherwise you won't learn the right habits or build finger…",{"value":129,"source":87,"evidence":130},"Mouse key presses produce no sound and MIDI keys get stuck",[131],{"id":90,"by":91,"text":92},[133,141,148,155],{"value":134,"source":87,"evidence":135},"Add a demo video showing the app",[136,140],{"id":137,"by":138,"text":139},"39331937","montag","This looks pretty cool! Would love to see a quick YouTube demo of the product in action. What's the biggest benefit of the MIDI capability, in practice?",{"id":117,"by":118,"text":119},{"value":142,"source":87,"evidence":143},"Support iPad and tablets",[144],{"id":145,"by":146,"text":147},"39333014","digger495","I am a student -- how do I find an instructor who uses your platform? Does it work on an iPad?",{"value":149,"source":87,"evidence":150},"Pre-recorded lessons for beginners",[151],{"id":152,"by":153,"text":154},"39332916","JoshTriplett","This sounds incredible, and I'd love to try it! A few immediate thoughts: As a student, I don't care about a two-sided platform (which is what it looks like you're trying to…",{"value":156,"source":87,"evidence":157},"Show tutor playing alongside student in demo video",[158],{"id":159,"by":160,"text":161},"39334133","qwertox","One thing I'd change from a marketing perspective would be that in the video loop the tutor would also have a keyboard at their hands. Because usually it is like this, that if…",[163,167,171],{"value":164,"source":87,"evidence":165},"How good is the latency?",[166],{"id":90,"by":91,"text":92},{"value":168,"source":87,"evidence":169},"How to find an instructor on the platform?",[170],{"id":145,"by":146,"text":147},{"value":172,"source":87,"evidence":173},"What security implications does MIDI permission have?",[174],{"id":175,"by":176,"text":177},"39336119","bruce343434","The browser (firefox) says that allowing MIDI can have security implications - what's that all about? ETA: I didn't see this on your website because I didn't create an account or…",[179,186],{"value":180,"source":87,"evidence":181},"Plug and Plink with hardware lights for lessons",[182],{"id":183,"by":184,"text":185},"39333457","phireal","There's also https:\u002F\u002Fplugandplink.com\u002F, which includes a hardware component to help the person learning (lights on the snake). The app also includes preprepared videos and…",{"value":187,"source":87,"evidence":188},"OBS with Synthesia for remote lessons",[189],{"id":190,"by":191,"text":192},"39333440","weinzierl","When the pandemic hit we needed a quick solution for my daughter's piano lessons. I built a setup with OBS, Synthesia and an old Logitec web cam I had lying around (these were…",{"comments":194,"answered":195,"key":196},18,7,[197,200,203],{"id":198,"text":199},"39335968","I really appreciate the feedback, Bewelge, these ideas are all very helpful to me! I'll be making changes based on each one. I haven't measured the latency directly. But, I did…",{"id":201,"text":202},"39335921","Excellent suggestions, these ideas ring true to me. I'm going to start exploring this direction for growing the platform. Thank you very much!",{"id":204,"text":205},"39331989","Thank you for the response. You're right, it didn't sit well with me putting a required log in between the landing page and the app. So I'll work on a more comprehensive video…",{"commenters":207,"max_depth":195,"maker_replies":194,"first_comment_mins":208,"lifespan_hours":209},62,78,114,[211,215,219,223,225,229,232,234,237,239,241,243,246,248,251,254,256,258,260,261,265,267,269,271,274,277,280,282,285,288,291,293,295,298,301,304,307,310,313,316,319,322,325,328,331,334,336,339,341,343,346,349,352,354,357,360,363,365,367,370,372,375,377,379,380,383,385,386,389,391,393,396,398,401,403,405,409,411,414,418,421,424,428,430,432,436,439,441,442,444,446,450,452,453,455,457,462,464,468,469,472,474,478],[212,37,37,213,214,37],"39334703","other\u002Fneutral\u002Fnone","thomasrynne",[216,37,40,217,218,37],"39335836","project\u002Fneutral\u002Fnone","albert_e",[220,37,40,221,222,37],"39353265","project\u002Fneutral\u002Fperformance","XCSme",[90,32,40,224,91,37],"project\u002Fmixed\u002Fexecution",[226,32,37,227,228,37],"39334272","commenter\u002Fneutral\u002Fnone","jacquesm",[230,32,37,227,231,37],"39334478","DonHopkins",[233,32,37,227,228,37],"39334593",[235,32,40,236,91,37],"39334712","maker\u002Fneutral\u002Fexecution",[238,32,37,213,228,37],"39334825",[198,32,37,240,11,32],"maker\u002Fneutral\u002Fnone",[152,41,33,242,153,37],"project\u002Fpositive\u002Fidea",[244,41,37,213,245,37],"39333399","semi-extrinsic",[247,41,37,213,228,37],"39334264",[249,41,37,213,250,37],"39334550","vidarh",[252,41,37,213,253,37],"39337462","fakedang",[255,41,37,213,250,37],"39339017",[257,41,37,213,153,37],"39342089",[259,41,37,213,231,37],"39334562",[201,41,37,240,11,32],[262,41,32,263,264,37],"39336189","project\u002Fcritical\u002Fidea","secabeen",[117,40,32,266,118,37],"project\u002Fcritical\u002Fdocs",[204,40,37,268,11,32],"maker\u002Fneutral\u002Fdocs",[125,270,32,263,126,37],4,[272,270,37,213,273,37],"39332062","trust_bt_verify",[275,270,37,213,276,37],"39332070","williamcotton",[278,270,37,213,279,37],"39332754","solresol",[281,270,37,213,276,37],"39334877",[283,270,37,213,284,37],"39332080","bluGill",[286,270,37,213,287,37],"39332138","brudgers",[289,270,37,227,290,37],"39332987","ghostpepper",[292,270,37,227,287,37],"39336811",[294,270,37,227,290,37],"39385884",[296,270,37,213,297,37],"39332164","lizhang",[299,270,37,213,300,37],"39332194","Rodeoclash",[302,270,37,213,303,37],"39332308","rawrawrawrr",[305,270,37,213,306,37],"39332401","modeless",[308,270,37,213,309,37],"39332429","robbrown451",[311,270,37,213,312,37],"39333365","praash",[314,270,37,213,315,37],"39332572","jerkstate",[317,270,37,213,318,37],"39332714","booi",[320,270,37,213,321,37],"39332764","pouyarad_",[323,270,37,213,324,37],"39332814","rrr_oh_man",[326,270,37,213,327,37],"39332823","crazygringo",[329,270,37,213,330,37],"39332847","blindriver",[332,270,37,227,333,37],"39333348","jdietrich",[335,270,37,227,327,37],"39335553",[337,270,37,227,338,37],"39340017","IIsi50MHz",[340,270,37,227,327,37],"39351373",[342,270,37,213,315,37],"39333355",[344,270,37,213,345,37],"39334143","keymasta",[347,270,37,213,348,37],"39332988","blueboo",[350,270,37,213,351,37],"39333056","anon291",[353,270,37,213,228,37],"39334297",[355,270,37,213,356,37],"39334916","sloxser",[358,270,37,213,359,37],"39333005","beautron",[361,270,37,213,362,37],"39333061","turtlebits",[364,270,37,213,146,37],"39333216",[366,270,37,213,146,37],"39333211",[368,270,37,213,369,37],"39333487","vnorilo",[371,270,37,213,228,37],"39334287",[373,270,37,227,374,37],"39336072","hhyndman",[94,33,40,376,95,37],"maker\u002Fneutral\u002Fdesign",[378,33,37,240,11,32],"39335717",[183,30,37,213,184,37],[381,30,37,213,382,37],"39333511","sss111",[384,30,37,227,184,37],"39333703",[190,195,37,213,191,37],[159,387,40,388,160,37],8,"project\u002Fneutral\u002Fdesign",[390,387,37,376,11,32],"39335864",[137,392,40,217,138,37],9,[394,392,37,395,11,32],"39332017","project\u002Fneutral\u002Fidea",[175,18,40,397,176,37],"project\u002Fneutral\u002Fprivacy",[109,399,32,400,110,37],11,"project\u002Fcritical\u002Fdesign",[402,399,37,227,110,37],"39331814",[404,399,37,376,11,32],"39331825",[406,407,32,400,408,37],"39331974",12,"DrawTR",[410,407,37,376,11,32],"39332003",[412,31,37,213,413,37],"39334508","tanepiper",[415,416,37,213,417,37],"39336220",14,"yayitswei",[419,416,37,213,420,37],"39337935","Pine_Mushroom",[422,416,37,213,423,37],"39343048","easyThrowaway",[425,426,33,427,228,37],"39334229",15,"project\u002Fpositive\u002Fnone",[429,426,37,213,11,32],"39335701",[431,426,37,213,228,37],"39335943",[433,434,40,217,435,37],"39331932",16,"yedava",[437,434,37,438,11,32],"39332030","project\u002Fneutral\u002Fexecution",[440,434,40,438,303,37],"39332312",[79,434,37,438,11,32],[443,434,40,438,312,37],"39333385",[445,434,37,217,11,32],"39335876",[447,448,33,242,449,37],"39334082",17,"throwuwu",[451,448,37,240,11,32],"39335782",[145,194,40,217,146,37],[454,194,37,438,11,32],"39335747",[456,194,40,438,146,37],"39382616",[458,459,33,460,461,37],"39333012",19,"maker\u002Fpositive\u002Fnone","castles",[463,459,37,240,11,32],"39335773",[465,466,40,217,467,37],"39333449",20,"tofflos",[53,466,37,395,11,32],[101,470,33,471,102,37],21,"maker\u002Fpositive\u002Fdesign",[473,470,37,240,11,32],"39335752",[475,476,33,242,477,37],"39332178",22,"rafamvc",[479,476,37,240,11,32],"39332219",[],[482,487,492,497,502,507],{"id":483,"name":484,"points":485,"category":486},"39339249","Bitwise Liminal",450,"creative",{"id":488,"name":489,"points":490,"category":491},"39372159","Reor",411,"productivity",{"id":493,"name":494,"points":495,"category":496},"39333309","SimpleKVM",397,"infrastructure",{"id":498,"name":499,"points":500,"category":501},"39365135","Athena Crisis",276,"games",{"id":503,"name":504,"points":505,"category":506},"39304068","traderjoes",274,"data",{"id":508,"name":509,"points":510,"category":486},"39314153","CueCam Presenter",246,false,"v2",{"id":514,"name":5,"line":6,"ai":511,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":515,"top":18,"kw":516,"maker":11,"domain":10,"tier":19,"attempts":37,"strip":517,"url":9,"mix":518,"praise":86,"objection":106,"sub":21},39331383,0.06,[21,24,25,26],"3303500110000000000000003033110503353555",[30,31,32,33],1794036649461]