[{"data":1,"prerenderedAt":440},["ShallowReactive",2],{"project-35781959":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":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":47,"post_text":48,"what":49,"said":75,"maker_in_thread":219,"shape":227,"grid":230,"attempts":402,"same_week":403,"maker_shows":33,"maker_hidden":432,"reader_version":433,"card":434},"35781959","webfft","A spectrogram analyzer web app","title","Show HN: I've built a spectrogram analyzer web app","https:\u002F\u002Fwebfft.net\u002Fdft\u002F","webfft.net","ssgh",1682990777,2023,244,69,203,3109,7,"notable","creative","audio spectrogram analyzer","web_app",[24,25,26,27],"spectrogram","fft audio","audio visualizer","spectrogram analyzer online","mixed",0.306,{"positive":31,"neutral":32,"mixed":33,"critical":34},13,12,1,6,32,{"idea":37,"execution":40,"performance":42,"design":43,"privacy":45,"docs":46},{"positive":38,"critical":39},4,0,{"positive":33,"critical":41},5,{"positive":33,"critical":33},{"positive":44,"critical":39},3,{"positive":39,"critical":39},{"positive":39,"critical":39},[41,39,39,39,39,39,33,39,33,33,39,41,44,41,44,44,44,41,39,41,44,39,44,44,41,41,39,41,39,39,39,39,39,39,39,39,39,41,41,41],null,{"problem":50,"audience":48,"pricing":48,"motivation":57,"time_to_build":48,"stack":61,"openness":72,"stage":73,"team_size":74},{"value":51,"source":52,"evidence":53},"Visualizing and capturing sounds on a phone as a spectrogram.","maker",[54],{"id":55,"by":11,"text":56},"35781992","Author here. This is a basic spectrogram visualizer that's mobile friendly. It allows to select regions on the spectrogram and play them separately. There is no grand plan behind…",{"value":58,"source":52,"evidence":59},"No grand plan; a handy basic tool to capture and view sounds on a phone.",[60],{"id":55,"by":11,"text":56},[62,68],{"value":63,"source":52,"evidence":64},"JavaScript",[65],{"id":66,"by":11,"text":67},"35791979","I do have a WebGL-based implementation of FFT, but here I used good old JS. When properly written, it gets translated into really fast machine code, which is even faster than…",{"value":69,"source":52,"evidence":70},"WebGL (experimental FFT implementation)",[71],{"id":66,"by":11,"text":67},"unknown","launched","solo",{"praise":76,"objections":105,"requests":142,"questions":169,"alternatives":183},[77,93,100],{"value":78,"source":79,"evidence":80},"Fun, useful and easy to use","commenter",[81,85,89],{"id":82,"by":83,"text":84},"35782526","bitsinthesky","This is a lot of fun",{"id":86,"by":87,"text":88},"35789061","ddingus","I like this! Easy to use, fun, useful. Nice work.",{"id":90,"by":91,"text":92},"35785639","djmips","Very nice, I tried on my phone and was really enjoyed being able to intuitively select regions to playback. Very fun.",{"value":94,"source":79,"evidence":95},"Fast performance",[96],{"id":97,"by":98,"text":99},"35785934","HarHarVeryFunny","Nice - very fast (using WebGPU?). I like the interesting ability to play a \"rectangular\" (time + frequency limited) section of the audio.",{"value":101,"source":79,"evidence":102},"Selecting regions to play back is intuitive",[103,104],{"id":90,"by":91,"text":92},{"id":97,"by":98,"text":99},[106,125,135],{"value":107,"source":79,"evidence":108},"Shows 'mime type is not supported' error on iOS Safari and other mobile browsers",[109,113,117,121],{"id":110,"by":111,"text":112},"35782243","montag","Looks like it says “mime type is not supported” on mobile Safari.",{"id":114,"by":115,"text":116},"35782524","grugagag","I get the same error on Iphone\u002FSafari",{"id":118,"by":119,"text":120},"35783471","lokar","Also iPhone\u002Fchrome",{"id":122,"by":123,"text":124},"35783100","rickcarlino","I get the mime error on Firefox mobile. Very interesting idea though, hope I can try it in the future.",{"value":126,"source":79,"evidence":127},"Frequency axis is linear, so voice occupies little of the screen",[128,132],{"id":129,"by":130,"text":131},"35782598","wpietri","Very neat! May I suggest adding a button to switch to log scale for frequency? I love the ability to select and play back just a particular set of frequencies. But voice uses…",{"id":133,"by":130,"text":134},"35792148","Zooming is not really a way to get what I'm after, because I was trying to hear particular bands one after the other. E.g., trying to listen to one octave after the next. And…",{"value":136,"source":79,"evidence":137},"Firefox makes the page very resource heavy",[138],{"id":139,"by":140,"text":141},"35782935","KennyBlanken","Not OP, but...why on earth does having your site open in firefox nearly set my computer on fire?",[143,148,155,162],{"value":144,"source":79,"evidence":145},"Add a log or non-linear frequency scale",[146,147],{"id":129,"by":130,"text":131},{"id":133,"by":130,"text":134},{"value":149,"source":79,"evidence":150},"Add sample audio to try before granting microphone access",[151],{"id":152,"by":153,"text":154},"35783918","vishnuharidas","Web apps like this that accesses user's data should provide samples for users to experiment and explore before they have to give access to their actual data.",{"value":156,"source":79,"evidence":157},"Support Space bar playback and a play position marker",[158],{"id":159,"by":160,"text":161},"35784477","slhck","Nice tool. Some suggestions: - Allow playback via Space button. Show a play marker to let the user know where in the sample they are, even without having selected a part. -…",{"value":163,"source":79,"evidence":164},"Document supported file types and transcoding of video",[165],{"id":166,"by":167,"text":168},"35786528","nixpulvis","Would be awesome if it told me what file types it supported and also helped transcode some things like videos. Looks very interesting though.",[170,177],{"value":171,"source":79,"evidence":172},"Can it display in real time?",[173],{"id":174,"by":175,"text":176},"35783283","Groxx","Quite neat, thanks for sharing! I've never been able to play portions like this before, it's interesting. Is there any way to make this display in real time, or is that not…",{"value":178,"source":79,"evidence":179},"Which window size and settings to use",[180],{"id":181,"by":11,"text":182},"35783881","Your spectrogram looks elongated horizontally because the FFT window size is too large. I use window size 1024 with sample rate 48000 Hz, so one window covers 1024\u002F48000=0.02…",[184,191,198,205,212],{"value":185,"source":79,"evidence":186},"Audacity",[187],{"id":188,"by":189,"text":190},"35786652","vjerancrnjak","Very nice app. I usually use Audacity to inspect the spectrogram of FLAC files and see if they really are 44100Hz or if someone packaged a constant rate 320kbps mp3 encode into a…",{"value":192,"source":79,"evidence":193},"Sonic Visualiser",[194],{"id":195,"by":196,"text":197},"35791784","an-unknown","Seems like you never saw or used SpectraLayers (commercial tool from Steinberg) or Sonic Visualiser (OSS project). Both have much more advanced visualization capabilities than…",{"value":199,"source":79,"evidence":200},"iZotope RX",[201],{"id":202,"by":203,"text":204},"35787024","brunorsini","Izotope, associated with MIT researchers, makes arguably the best such tool for the pro audio industry. Their RX suite is truly miraculous, allowing audio engineers to visualize…",{"value":206,"source":79,"evidence":207},"Praat",[208],{"id":209,"by":210,"text":211},"35787158","k8si","What we really need is PraaS (Praat as a Service). Praat Cloud Edition. Etc.",{"value":213,"source":79,"evidence":214},"Web Audio API analyser node",[215],{"id":216,"by":217,"text":218},"35783769","Bewelge","The WebAudio API has an anlayser node that can create spectrogramms in real-time. The ones I've created in the past were nowhere near as detailed as this one though.…",{"comments":220,"answered":38,"key":221},8,[222,223,226],{"id":55,"text":56},{"id":224,"text":225},"35783770","It uses \"audio\u002Fwebm;codecs=opus\" to record mic. Now it's possible to change it in the config menu in the top right. Safari probably needs audio\u002Fmp3. Edit: also consider…",{"id":181,"text":182},{"commenters":228,"max_depth":18,"maker_replies":220,"first_comment_mins":44,"lifespan_hours":229},50,26,[231,235,239,243,246,249,252,255,258,261,264,268,271,273,274,275,276,279,281,285,289,293,295,298,299,301,304,305,307,309,310,314,316,319,322,325,327,330,331,335,337,339,342,343,346,349,351,353,355,356,357,359,363,366,369,372,374,376,379,381,383,385,387,389,392,395,398,399,400],[232,39,41,233,234,39],"35783547","project\u002Fpositive\u002Fidea","jboy55",[236,39,39,237,238,39],"35784392","commenter\u002Fneutral\u002Fnone","syx",[240,39,39,241,242,39],"35784526","other\u002Fneutral\u002Fnone","twelvechairs",[244,39,39,241,245,39],"35787376","swah",[247,39,39,241,248,39],"35785075","jo-m",[250,39,39,241,251,39],"35785868","scotteric",[253,39,39,237,254,39],"35786210","michaelmior",[256,39,39,241,257,39],"35786002","sorenjan",[259,39,39,241,260,39],"35787790","lightweightbaby",[262,39,39,241,263,39],"35785258","quickthrower2",[265,39,33,266,267,39],"35786274","project\u002Fcritical\u002Fexecution","jcelerier",[269,39,39,241,270,39],"35786739","epiccoleman",[55,33,39,272,11,33],"maker\u002Fneutral\u002Fidea",[110,33,33,266,111,39],[114,33,33,266,115,39],[118,33,33,266,119,39],[277,33,33,266,278,39],"35783615","dr_dshiv",[224,33,39,280,11,33],"maker\u002Fneutral\u002Fexecution",[282,33,41,283,284,39],"35784405","project\u002Fpositive\u002Fexecution","geraldhh",[286,33,44,287,288,39],"35784095","project\u002Fneutral\u002Fexecution","_emacsomancer_",[290,33,41,291,292,39],"35782328","maker\u002Fpositive\u002Fnone","echelon",[139,33,33,294,140,39],"project\u002Fcritical\u002Fperformance",[296,33,41,291,297,39],"35783421","timlod",[181,33,39,280,11,33],[129,33,44,300,130,39],"project\u002Fneutral\u002Fdesign",[302,33,39,303,11,33],"35783808","maker\u002Fneutral\u002Fdesign",[133,33,44,300,130,39],[122,33,44,306,123,39],"project\u002Fmixed\u002Fexecution",[174,33,44,308,175,39],"project\u002Fneutral\u002Fidea",[216,33,44,308,217,39],[311,33,41,312,313,39],"35783326","project\u002Fpositive\u002Fdesign","a-dub",[315,33,39,280,11,33],"35783907",[317,33,41,233,318,39],"35784156","lokimedes",[320,33,44,308,321,39],"35784655","shangers",[323,33,39,241,324,39],"35784890","galcerte",[326,33,44,308,318,39],"35786431",[328,33,39,329,11,33],"35791882","maker\u002Fneutral\u002Fnone",[159,33,44,300,160,39],[332,333,39,241,334,39],"35783452",2,"orbisvicis",[152,44,44,336,153,39],"project\u002Fneutral\u002Fprivacy",[338,44,39,329,11,33],"35783984",[340,38,41,312,341,39],"35783225","nick_m",[188,41,41,233,189,39],[344,34,41,233,345,39],"35782592","firefoxd",[347,34,39,241,348,39],"35782830","jxmorris12",[350,34,39,241,345,39],"35783653",[97,18,41,352,98,39],"project\u002Fpositive\u002Fperformance",[66,18,39,354,11,33],"maker\u002Fneutral\u002Fperformance",[202,220,39,241,203,39],[195,220,39,237,196,39],[358,220,39,241,203,39],"35797680",[360,361,39,241,362,39],"35782503",9,"peepwaah",[364,361,39,241,365,39],"35782525","nomel",[367,361,39,241,368,39],"35782529","picture",[370,361,39,241,371,39],"35782611","djsamseng",[373,361,39,241,362,39],"35782741",[375,361,39,241,297,39],"35783411",[377,361,39,241,378,39],"35786204","0xFEE1DEAD",[380,361,39,241,371,39],"35786290",[382,361,39,241,98,39],"35786571",[384,361,39,237,371,39],"35787189",[386,361,39,237,98,39],"35787468",[388,361,39,241,98,39],"35786317",[390,361,44,391,371,39],"35787279","maker\u002Fneutral\u002Fdocs",[82,393,41,394,83,39],10,"project\u002Fpositive\u002Fnone",[166,396,44,397,167,39],11,"project\u002Fneutral\u002Fnone",[90,32,41,312,91,39],[209,31,44,308,210,39],[86,401,41,394,87,39],14,[],[404,409,414,419,424,428],{"id":405,"name":406,"points":407,"category":408},"35762175","Frogmouth",240,"dev_tools",{"id":410,"name":411,"points":412,"category":413},"35764355","EVA",237,"data",{"id":415,"name":416,"points":417,"category":418},"35745719","Polish Pixels",216,"games",{"id":420,"name":421,"points":422,"category":423},"35786242","Currl",123,"consumer_social",{"id":425,"name":426,"points":427,"category":408},"35764635","PySaaS",121,{"id":429,"name":430,"points":431,"category":408},"35758584","PineTool",95,false,"v2",{"id":435,"name":5,"line":6,"ai":432,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":436,"top":18,"kw":437,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":438,"url":9,"mix":439,"praise":78,"objection":107,"sub":21},35781959,0.31,[24,25,26,27],"5000001011053533350530335505000000000555",[31,32,33,34],1794036634878]