{"id":17437,"date":"2026-10-27T11:11:03","date_gmt":"2026-10-27T15:11:03","guid":{"rendered":"https:\/\/blogs.mathworks.com\/pick\/?p=17437"},"modified":"2026-10-27T11:11:03","modified_gmt":"2026-10-27T15:11:03","slug":"sqat-can-we-put-a-number-on-how-a-sound-feels","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/pick\/2026\/10\/27\/sqat-can-we-put-a-number-on-how-a-sound-feels\/","title":{"rendered":"SQAT: Can we put a number on how a sound feels?"},"content":{"rendered":"<div class = rtcContent><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">Two sounds can have the same sound pressure level and still feel very different. One may seem sharp, another rough or tonal. A steady fan and a passing aircraft can have similar peaks on a meter, while their changing character tells a different story.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><a href = \"https:\/\/github.com\/ggrecow\/SQAT\"><span class=\"_richTextNode\">The Sound Quality Analysis Toolbox (SQAT)<\/span><\/a><span class=\"_richTextNode\"> is an open-source MATLAB toolbox for quantitative sound-quality analysis. It is being developed by <\/span><a href = \"https:\/\/www.tu-braunschweig.de\/en\/se2a\/about-us\/portrait-gallery\/gil-felix-greco\"><span class=\"_richTextNode\">Gil Felix Greco<\/span><\/a><span class=\"_richTextNode\"> (TU Braunschweig) <\/span><a href = \"https:\/\/www.tudelft.nl\/en\/staff\/r.merinomartinez\/\"><span class=\"_richTextNode\">Roberto Merino-Martinez<\/span><\/a><span class=\"_richTextNode\"> (TU Delft) <\/span><a href = \"https:\/\/www.linkedin.com\/in\/alejandro-osses-10039883\/\"><span class=\"_richTextNode\">Alejandro Osses<\/span><\/a><span class=\"_richTextNode\">* (ENS, PSL University - *Currently at Sorama B.V.), <\/span><a href = \"https:\/\/www.linkedin.com\/in\/michael-lotinga-6890328\/\"><span class=\"_richTextNode\">Michael J. B. Lotinga<\/span><\/a><span class=\"_richTextNode\"> (University of Salford)  <\/span><a href = \"https:\/\/www.linkedin.com\/in\/sergio-aguirre\/\"><span class=\"_richTextNode\">Sergio Luiz Aguirre<\/span><\/a><span class=\"_richTextNode\"> (Independent Researcher). It brings together psychoacoustic metrics, a sound-level meter, example signals, validation scripts, and a graphical interface to effectively explore these.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\"><\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"https:\/\/blogs.mathworks.com\/pick\/files\/SQAT_blog_1.png\" width = \"350\" height = \"202\" alt = \"\" style = \"vertical-align: baseline; width: 350px; height: 202px;\"><\/img><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span class=\"_richTextNode\">Turn waveforms into perceptual metrics <\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">SQAT includes implementations of loudness, sharpness, roughness, fluctuation strength, tonality, and several psychoacoustic-annoyance models. It also includes Effective Perceived Noise Level (EPNL) calculations for aircraft noise and sound-level measurements such as frequency-weighted and time-weighted SPL.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">What I really like is that SQAT pairs its functions with examples and validation material against specific acoustic standards. For many implementations, the project includes scripts that compare results with reference values from a standard or model. That gives users a way to inspect how an implementation behaves, reproduce checks, and build on the same functions in their own MATLAB workflows.<\/span><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span class=\"_richTextNode\">Explore sounds using a GUI<\/span><\/h2><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">If you want to investigate a few recordings before writing code, SQAT's GUI gives you a guided workflow. Load one or more WAV files, then select a signal to see its waveform and spectrogram alongside an audio player. You can play and pause, move through the sound by clicking the plots, and loop a section while listening.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">Before calculating absolute sound levels, set the calibration for each recording. The GUI accepts a known full-scale level, a recording made with a sound-level calibrator, or a relative level when the recording setup is unknown. <\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">Next, add the analyses you want, adjust their parameters, choose which signals and channels to include, and select<\/span><span class=\"_richTextNode\"> <\/span><span class=\"_richTextNode\" style=' font-weight: bold;'>Run Analysis<\/span><span class=\"_richTextNode\">. The save dialog exports plots as PNG or PDF, statistics as CSV, and results in a spreadsheet.<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">And, for those who care, it supports dark mode!<\/span><\/div><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"https:\/\/blogs.mathworks.com\/pick\/files\/SQAT_blog_2.png\" width = \"922\" height = \"547\" alt = \"\" style = \"vertical-align: baseline; width: 922px; height: 547px;\"><\/img><\/div><h2  style = 'margin: 20px 10px 5px 4px; padding: 0px; line-height: 25px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: 700; text-align: left; '><span class=\"_richTextNode\" style=' font-weight: bold;'>Try it now:<\/span><\/h2><ul  style = 'margin: 10px 0px 20px; padding-left: 0px; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-size: 14px; '><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><a href = \"https:\/\/matlab.mathworks.com\/open\/github\/v1?repo=ggrecow\/SQAT&amp;file=gui\/SQAT_GUI.m&amp;line=1\"><span class=\"_richTextNode\">Click here to launch the app <\/span><\/a><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\"> <\/span><a href = \"https:\/\/github.com\/ggrecow\/SQAT\"><span class=\"_richTextNode\">SQAT on GitHub<\/span><\/a><span class=\"_richTextNode\"> <\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\"> <\/span><a href = \"https:\/\/github.com\/ggrecow\/SQAT\/releases\/latest\"><span class=\"_richTextNode\">Latest release<\/span><\/a><span class=\"_richTextNode\"> <\/span><\/li><li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\"> <\/span><a href = \"https:\/\/doi.org\/10.5281\/zenodo.7934709\"><span class=\"_richTextNode\">Zenodo archive and DOI<\/span><\/a><\/li><\/ul><div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><\/div>\r\n<\/div><script type=\"text\/javascript\">var css = '._richTextNode {white-space: break-spaces;}'; var head = document.head || document.getElementsByTagName('head')[0], style = document.createElement('style'); head.appendChild(style); style.type = 'text\/css'; if (style.styleSheet){ style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); }<\/script>","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img src=\"https:\/\/blogs.mathworks.com\/pick\/files\/SQAT_blog_1.png\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div><p>Two sounds can have the same sound pressure level and still feel very different. One may seem sharp, another rough or tonal. A steady fan and a passing aircraft can have similar peaks on a meter,... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/pick\/2026\/10\/27\/sqat-can-we-put-a-number-on-how-a-sound-feels\/\">read more >><\/a><\/p>","protected":false},"author":242,"featured_media":17453,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,47,16],"tags":[],"class_list":["post-17437","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-app","category-matlab-community-toolbox","category-picks"],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/17437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/users\/242"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/comments?post=17437"}],"version-history":[{"count":3,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/17437\/revisions"}],"predecessor-version":[{"id":17446,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/17437\/revisions\/17446"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/media\/17453"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/media?parent=17437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/categories?post=17437"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/tags?post=17437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}