{"id":8266,"date":"2022-09-12T17:46:04","date_gmt":"2022-09-12T12:16:04","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/"},"modified":"2022-09-12T17:46:04","modified_gmt":"2022-09-12T12:16:04","slug":"solved-is-my-program-ready-for-fft","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/","title":{"rendered":"[Solved] Is my program ready for FFT?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-33441156\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"33441156\" data-parentid=\"33437865\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<blockquote>\n<ol>\n<li>What does the data in my List is representing in its current form?<\/li>\n<\/ol>\n<\/blockquote>\n<p>In its current form, you are getting the raw byte sequence from the file, except from the header which you are removing explicitly. The mapping between raw bytes and the corresponding data sample value is in general non-trivial, and varies according to the selected encoding scheme. See <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/www-mmsp.ece.mcgill.ca\/documents\/audioformats\/wave\/wave.html\">this wave file specification<\/a> for more details. <\/p>\n<blockquote>\n<ol start=\"2\">\n<li>I read a lot about Sampling the signal first, but since the file is already in a digital format so should I be worried about sampling because I think it is done during ADC only. On the other hand if it is still needed to be done, then why should I be doing that as I&#8217;m already using the whole file.<\/li>\n<\/ol>\n<\/blockquote>\n<p>Indeed wavefiles contain digitally sampled data, so you do not need to be worried about sampling this data. You will however very likely need to know how this data was sampled, and in particular the sampling rate used. That information is contained in the wav file header.<\/p>\n<blockquote>\n<ol start=\"3\">\n<li>Is the data in its current form ready for the FFT?<\/li>\n<\/ol>\n<\/blockquote>\n<p>Simply put, no. As I indicated above, the data is still in raw byte form and using <code>CopyTo<\/code> to try and convert the raw bytes to an array of <code>double<\/code> just doesn&#8217;t cut it. <\/p>\n<blockquote>\n<ol start=\"4\">\n<li>What are the things I&#8217;m missing right now for preparing the data for FFT?<\/li>\n<\/ol>\n<\/blockquote>\n<p>You would need to convert the raw byte sequence into data sample values. If you were to do this yourself, you&#8217;d have to take into account the number of bits per sample, the number of channels (to deinterleave the channels if you are not dealing with mono) and the encoding format (PCM, IEEE float, etc.).<br \/>\nFortunately there are several libraries (such as <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/naudio.codeplex.com\/\">NAudio<\/a>) which can perform this decoding for you. Alternatively you may want to have a look at answers this post.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">1<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Is my program ready for FFT? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] What does the data in my List is representing in its current form? In its current form, you are getting the raw byte sequence from the file, except from the header which you are removing explicitly. The mapping between raw bytes and the corresponding data sample value is in general non-trivial, and varies according &#8230; <a title=\"[Solved] Is my program ready for FFT?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/\" aria-label=\"More on [Solved] Is my program ready for FFT?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[1613,324,2341,2342],"class_list":["post-8266","post","type-post","status-publish","format-standard","hentry","category-solved","tag-audio","tag-c","tag-fft","tag-wav"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Is my program ready for FFT? - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Is my program ready for FFT? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] What does the data in my List is representing in its current form? In its current form, you are getting the raw byte sequence from the file, except from the header which you are removing explicitly. The mapping between raw bytes and the corresponding data sample value is in general non-trivial, and varies according ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-12T12:16:04+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Is my program ready for FFT?\",\"datePublished\":\"2022-09-12T12:16:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/\"},\"wordCount\":334,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"audio\",\"c++\",\"fft\",\"wav\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/\",\"name\":\"[Solved] Is my program ready for FFT? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-12T12:16:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Is my program ready for FFT?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Is my program ready for FFT? - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Is my program ready for FFT? - JassWeb","og_description":"[ad_1] What does the data in my List is representing in its current form? In its current form, you are getting the raw byte sequence from the file, except from the header which you are removing explicitly. The mapping between raw bytes and the corresponding data sample value is in general non-trivial, and varies according ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/","og_site_name":"JassWeb","article_published_time":"2022-09-12T12:16:04+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Is my program ready for FFT?","datePublished":"2022-09-12T12:16:04+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/"},"wordCount":334,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["audio","c++","fft","wav"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/","url":"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/","name":"[Solved] Is my program ready for FFT? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-12T12:16:04+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-is-my-program-ready-for-fft\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Is my program ready for FFT?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=8266"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8266\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=8266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=8266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=8266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}