{"id":20029,"date":"2021-01-30T00:35:56","date_gmt":"2021-01-30T05:35:56","guid":{"rendered":"https:\/\/reactivemusic.net\/?p=20029"},"modified":"2021-02-06T01:15:46","modified_gmt":"2021-02-06T06:15:46","slug":"max8radio-cubicsdr-i-q-prototype","status":"publish","type":"post","link":"https:\/\/reactivemusic.net\/?p=20029","title":{"rendered":"Max8radio CubicSDR I\/Q prototype"},"content":{"rendered":"<h4>Another working prototype with Max and CubicSDR<\/h4>\n<p>Now working some better&#8230; The Max SDR patch is receiving an IQ audio stream at 96 KHz from CubicSDR and sending frequency data to rigctld daemon via a python script that recodes OSC to tcp data.<\/p>\n<p>repository:\u00a0<a href=\"https:\/\/github.com\/tkzic\/max8radio\">https:\/\/github.com\/tkzic\/max8radio<\/a><\/p>\n<h5>Files:<\/h5>\n<p>max8sdr1.maxpat<\/p>\n<p>py3rigctl2.py (python script)<\/p>\n<h5>Instructions:<\/h5>\n<p>Basically the same as instructions in the previous prototype here:\u00a0<a href=\"https:\/\/reactivemusic.net\/?p=19995\">https:\/\/reactivemusic.net\/?p=19995<\/a><\/p>\n<p>make sure to start the rigctl daemon before CubicSDR<\/p>\n<pre class=\"p1\"><span class=\"s1\"> rigctld -m 1 4532 &amp;\u00a0<\/span><\/pre>\n<p>And make sure there is some audio gain on CubicSDR<\/p>\n<p>But&#8230; There is only one Max patch now and &#8211; after you start the rigcltd daemon, you need to run the python script in the max8radio folder like this:<\/p>\n<pre>python3 py3rigctl2.py<\/pre>\n<p>The most important thing is to start CubicSDR first before you run the Max patch. Make sure to get everything working correctly. Then start the Max SDR.<\/p>\n<p>In CubicSDR make sure you only have one &#8220;modem&#8221; running &#8211; otherwise the IQ data stream will be a complete mess. Als0 make sure that the audio sample rate in CubicSDR is set to 96 KHz. It will revert to 48 KHz. everytime you load the program. You can use the &#8216;bookmarks&#8217; from a previous CubicSDR session (lower left part of the screen) to load a previous session with the same parameters.<\/p>\n<p>These are the necessary settings:<\/p>\n<ul>\n<li>I\/Q modem<\/li>\n<li>Audio out: Existential Audio Inc. Blackhole 2 ch.<\/li>\n<li>Audio sample rate: 96 KHz.<\/li>\n<li>Rig Control Menu: enable rig and follow rig should be &#8216;checked&#8217;<\/li>\n<li>Frequency should equal Center frequency and the V delta lock toggle should be on<\/li>\n<li>Demodulator Gain level should be very low to prevent excess AGC (upper right corner)<\/li>\n<\/ul>\n<p>Actually if you have loaded everything ok in a previous session, try this:<\/p>\n<ul>\n<li>get the rigctld daemon running from the command<\/li>\n<li>load CubicSDR<\/li>\n<li>First thing: click &#8216;enable rig&#8217; under rig control (this will probably load some crazy frequency like 145 Mhz<\/li>\n<li>Then in the bookmarks (lower left) double click on your previous session, under &#8216;recents&#8217; for example: 7007MHzI\/Q &#8211; this should restore almost all the settings.<\/li>\n<li>Then change the audio sample rate to 96 KHz if needed.<\/li>\n<li>If the input to Max seems wrong, try clicking the S\u00a0 (over near the top right)\u00a0 to solo the modems. There may be more than one going.<\/li>\n<\/ul>\n<h4>Max settings<\/h4>\n<ul>\n<li>Set audio input to Blackhole 2ch @ 96 KHz. (to match output from CubicSDR<\/li>\n<li>Click the &#8216;flip IQ&#8217; toggle &#8211; for some reason CubicSDR sends out the I\/Q signal flipped<\/li>\n<li>The arrow key tuning and all other tuning methods should work now<\/li>\n<\/ul>\n<h4>Notes<\/h4>\n<p>One of the problems with CubicSDR is sometimes you&#8217;ll accidentally change something and all the settings go crazy.<\/p>\n<p>note: I tried a new version of CubicSDR (2.6) from the sdrplay website. It would not detect any connected devices or audio drivers.<\/p>\n<p>Once you get it working, the audio quality inside Max is excellent &#8211; using the Airspy HF+<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Another working prototype with Max and CubicSDR Now working some better&#8230; The Max SDR patch is receiving an IQ audio stream at 96 KHz from CubicSDR and sending frequency data to rigctld daemon via a python script that recodes OSC to tcp data. repository:\u00a0https:\/\/github.com\/tkzic\/max8radio Files: max8sdr1.maxpat py3rigctl2.py (python script) Instructions: Basically the same as instructions &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/reactivemusic.net\/?p=20029\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Max8radio CubicSDR I\/Q prototype&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[230,21,28,332],"tags":[344,345,57],"class_list":["post-20029","post","type-post","status-publish","format-standard","hentry","category-development","category-dsp","category-maxmsp","category-radio-2","tag-dsp","tag-maxmsp","tag-radio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Max8radio CubicSDR I\/Q prototype - reactive music<\/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:\/\/reactivemusic.net\/?p=20029\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Max8radio CubicSDR I\/Q prototype - reactive music\" \/>\n<meta property=\"og:description\" content=\"Another working prototype with Max and CubicSDR Now working some better&#8230; The Max SDR patch is receiving an IQ audio stream at 96 KHz from CubicSDR and sending frequency data to rigctld daemon via a python script that recodes OSC to tcp data. repository:\u00a0https:\/\/github.com\/tkzic\/max8radio Files: max8sdr1.maxpat py3rigctl2.py (python script) Instructions: Basically the same as instructions &hellip; Continue reading &quot;Max8radio CubicSDR I\/Q prototype&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/reactivemusic.net\/?p=20029\" \/>\n<meta property=\"og:site_name\" content=\"reactive music\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-30T05:35:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-06T06:15:46+00:00\" \/>\n<meta name=\"author\" content=\"Tom Zicarelli\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tom Zicarelli\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20029#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20029\"},\"author\":{\"name\":\"Tom Zicarelli\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\"},\"headline\":\"Max8radio CubicSDR I\\\/Q prototype\",\"datePublished\":\"2021-01-30T05:35:56+00:00\",\"dateModified\":\"2021-02-06T06:15:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20029\"},\"wordCount\":488,\"keywords\":[\"DSP\",\"Max\\\/MSP\",\"radio\"],\"articleSection\":[\"development\",\"DSP\",\"Max\\\/MSP\",\"Radio\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20029\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20029\",\"name\":\"Max8radio CubicSDR I\\\/Q prototype - reactive music\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#website\"},\"datePublished\":\"2021-01-30T05:35:56+00:00\",\"dateModified\":\"2021-02-06T06:15:46+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20029#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/reactivemusic.net\\\/?p=20029\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/?p=20029#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/reactivemusic.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Max8radio CubicSDR I\\\/Q prototype\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#website\",\"url\":\"https:\\\/\\\/reactivemusic.net\\\/\",\"name\":\"reactive music\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/reactivemusic.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/reactivemusic.net\\\/#\\\/schema\\\/person\\\/56224d281582df7e5518e037ca63e571\",\"name\":\"Tom Zicarelli\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g\",\"caption\":\"Tom Zicarelli\"},\"sameAs\":[\"http:\\\/\\\/tomzicarelli.com\"],\"url\":\"https:\\\/\\\/reactivemusic.net\\\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Max8radio CubicSDR I\/Q prototype - reactive music","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:\/\/reactivemusic.net\/?p=20029","og_locale":"en_US","og_type":"article","og_title":"Max8radio CubicSDR I\/Q prototype - reactive music","og_description":"Another working prototype with Max and CubicSDR Now working some better&#8230; The Max SDR patch is receiving an IQ audio stream at 96 KHz from CubicSDR and sending frequency data to rigctld daemon via a python script that recodes OSC to tcp data. repository:\u00a0https:\/\/github.com\/tkzic\/max8radio Files: max8sdr1.maxpat py3rigctl2.py (python script) Instructions: Basically the same as instructions &hellip; Continue reading \"Max8radio CubicSDR I\/Q prototype\"","og_url":"https:\/\/reactivemusic.net\/?p=20029","og_site_name":"reactive music","article_published_time":"2021-01-30T05:35:56+00:00","article_modified_time":"2021-02-06T06:15:46+00:00","author":"Tom Zicarelli","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Tom Zicarelli","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/reactivemusic.net\/?p=20029#article","isPartOf":{"@id":"https:\/\/reactivemusic.net\/?p=20029"},"author":{"name":"Tom Zicarelli","@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571"},"headline":"Max8radio CubicSDR I\/Q prototype","datePublished":"2021-01-30T05:35:56+00:00","dateModified":"2021-02-06T06:15:46+00:00","mainEntityOfPage":{"@id":"https:\/\/reactivemusic.net\/?p=20029"},"wordCount":488,"keywords":["DSP","Max\/MSP","radio"],"articleSection":["development","DSP","Max\/MSP","Radio"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/reactivemusic.net\/?p=20029","url":"https:\/\/reactivemusic.net\/?p=20029","name":"Max8radio CubicSDR I\/Q prototype - reactive music","isPartOf":{"@id":"https:\/\/reactivemusic.net\/#website"},"datePublished":"2021-01-30T05:35:56+00:00","dateModified":"2021-02-06T06:15:46+00:00","author":{"@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571"},"breadcrumb":{"@id":"https:\/\/reactivemusic.net\/?p=20029#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/reactivemusic.net\/?p=20029"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/reactivemusic.net\/?p=20029#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/reactivemusic.net\/"},{"@type":"ListItem","position":2,"name":"Max8radio CubicSDR I\/Q prototype"}]},{"@type":"WebSite","@id":"https:\/\/reactivemusic.net\/#website","url":"https:\/\/reactivemusic.net\/","name":"reactive music","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/reactivemusic.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/reactivemusic.net\/#\/schema\/person\/56224d281582df7e5518e037ca63e571","name":"Tom Zicarelli","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0da58cf21a2707dd335b204b8ed3cd9194dcbf9d9814ac5d71195a65c76c8a72?s=96&d=mm&r=g","caption":"Tom Zicarelli"},"sameAs":["http:\/\/tomzicarelli.com"],"url":"https:\/\/reactivemusic.net\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/20029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=20029"}],"version-history":[{"count":8,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/20029\/revisions"}],"predecessor-version":[{"id":20084,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=\/wp\/v2\/posts\/20029\/revisions\/20084"}],"wp:attachment":[{"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=20029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reactivemusic.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=20029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}