[{"data":1,"prerenderedAt":855},["ShallowReactive",2],{"blog-post-musiq":3,"sibling-dives-musiq":853,"learn-track-musiq":854},{"id":4,"title":5,"authors":6,"body":9,"breadcrumb":772,"builders":776,"byline":802,"challenge":807,"courseAuthor":807,"courseLead":807,"dek":808,"description":809,"draft":810,"extension":811,"eyebrow":812,"finish":807,"fork":813,"hero":815,"heroAlt":807,"heroCta":807,"heroImage":807,"kind":817,"lessonCount":807,"meta":818,"navigation":166,"newsItems":807,"next":807,"ogImage":807,"order":807,"outcomes":807,"path":819,"publishDate":820,"readingTime":821,"related":822,"relatedProjects":823,"seo":844,"stem":847,"tags":848,"track":807,"trackName":807,"__hash__":852},"blog\u002Fblog\u002Fmusiq.md","Project Showcase: Musiq",[7,8],"doraking","emmanuellaadams",{"type":10,"value":11,"toc":765},"minimark",[12,16,19,22,31,36,39,103,106,110,113,120,654,709,713,716,721,724,728,731,736,739,744,748,751,761],[13,14,15],"p",{},"Musiq starts from a simple question: what does a quantum circuit sound like?",[13,17,18],{},"It is a browser-based quantum sonification studio. You build a circuit out of gates, or import an OpenQASM template, run it on a simulator or real IonQ hardware, and Musiq turns the resulting probabilities, amplitudes, and phases into sound you can play, visualize, and export. Quantum mechanics is usually met through equations and probability distributions; Musiq adds another sense.",[13,20,21],{},"It is a Spring 2026 challenge project from Tomoya Hatanaka, a freelance quantum engineer, and Emmanuella Adams, a creative technologist. The starting point was a frustration with how generative music usually works.",[23,24,28],"pull-quote",{"avatar":25,"name":26,"role":27,"username":7},"","Tomoya Hatanaka","Project lead, Musiq",[13,29,30],{},"I wanted to overcome the repetitive nature of classical algorithmic music by directly translating the mathematical spread of quantum states into dynamic musical expression.",[32,33,35],"h2",{"id":34},"what-a-circuit-sounds-like","What a circuit sounds like",[13,37,38],{},"The core of Musiq is a direct mapping from quantum data to audio. After a circuit runs, its outputs are not just plotted, they are turned into the parameters of a sound. Each part of the quantum result drives a part of what you hear:",[40,41,43],"repo-spec",{"lead":42},"Quantum data becomes sound through a direct mapping, computed from each run.",[44,45,46,59],"table",{},[47,48,49],"thead",{},[50,51,52,56],"tr",{},[53,54,55],"th",{},"Field",[53,57,58],{},"Detail",[60,61,62,71,79,87,95],"tbody",{},[50,63,64,68],{},[65,66,67],"td",{},"Basis-state index",[65,69,70],{},"Musical frequency, which note each outcome plays.",[50,72,73,76],{},[65,74,75],{},"Measurement probability",[65,77,78],{},"Strength of that frequency component.",[50,80,81,84],{},[65,82,83],{},"Statevector amplitude",[65,85,86],{},"Loudness contribution.",[50,88,89,92],{},[65,90,91],{},"Statevector phase",[65,93,94],{},"Oscillator phase and interference.",[50,96,97,100],{},[65,98,99],{},"Quantum distribution",[65,101,102],{},"Overall spectral and tonal texture.",[13,104,105],{},"Because the whole distribution shapes the waveform, different circuits sound genuinely different. A Bell or GHZ state's correlated outcomes shift the balance of frequencies. Interference-heavy IQP circuits produce dense, irregular textures with sharp peaks and valleys. Quantum-walk templates spread amplitude across many states and drift through evolving, probability-weighted tones.",[32,107,109],{"id":108},"hearing-a-bell-state","Hearing a Bell state",[13,111,112],{},"The simplest thing you can hear is a Bell state: two qubits put into superposition and entangled, so their measurement outcomes are correlated. On Qollab the circuit runs on a simulator or a real QPU exactly as written, and the counts that come back are what Musiq turns into sound.",[114,115],"blog-figure",{"caption":116,"no":117,"poster":118,"video":119},"Building a circuit in the studio, running it, and hearing and seeing the result, with waveform and spectrum. Press play, sound on.","Fig. 1","\u002F_content\u002Fimages\u002Fmusiq\u002Fhero.webp","https:\u002F\u002Fapi.cms.qollab.xyz\u002Fassets\u002F064dd3e0-1e11-4ebc-8646-a5b4444fbbca",[121,122,126],"code-block",{"name":123,"run-href":124,"tag":125},"bell_state.py","\u002Fu\u002Fdoraking\u002Fmusiq","Python",[127,128,132],"pre",{"className":129,"code":130,"language":131,"meta":25,"style":25},"language-python shiki shiki-themes one-dark-pro","# 'backend' is pre-created as a global on Qollab.\nfrom qiskit import QuantumCircuit\n\n# A Bell state: superposition, then entanglement.\ncircuit = QuantumCircuit(2, 2)   # 2 qubits, 2 bits\ncircuit.h(0)\ncircuit.cx(0, 1)\ncircuit.measure([0, 1], [0, 1])\nprint(circuit)\n\nfrom qiskit.providers.jobstatus import JobStatus\nimport time\n\ndef main(shots=100, exclude_low_probability=True, low_threshold=0.05):\n    job = backend.run(circuit, shots=shots)\n\n    # Poll until the job finishes\n    while True:\n        status = job.status()\n        print(f\"Job status is {status}\")\n        if status is JobStatus.DONE:\n            break\n        time.sleep(10)\n\n    counts = job.get_counts()\n    if exclude_low_probability:\n        threshold = shots * low_threshold\n        # Filter low-probability noise\n        counts = {b: c for b, c in counts.items() if c > threshold}\n    print(f\"Counts for {shots} shots: {counts}\")\n","python",[133,134,135,144,161,168,174,206,237,264,293,302,307,320,328,333,376,406,411,417,429,446,475,495,501,517,522,543,552,569,575,621],"code",{"__ignoreMap":25},[136,137,140],"span",{"class":138,"line":139},"line",1,[136,141,143],{"class":142},"sV9Aq","# 'backend' is pre-created as a global on Qollab.\n",[136,145,147,151,155,158],{"class":138,"line":146},2,[136,148,150],{"class":149},"seHd6","from",[136,152,154],{"class":153},"sn6KH"," qiskit ",[136,156,157],{"class":149},"import",[136,159,160],{"class":153}," QuantumCircuit\n",[136,162,164],{"class":138,"line":163},3,[136,165,167],{"emptyLinePlaceholder":166},true,"\n",[136,169,171],{"class":138,"line":170},4,[136,172,173],{"class":142},"# A Bell state: superposition, then entanglement.\n",[136,175,177,180,184,188,191,195,198,200,203],{"class":138,"line":176},5,[136,178,179],{"class":153},"circuit ",[136,181,183],{"class":182},"sjrmR","=",[136,185,187],{"class":186},"sVbv2"," QuantumCircuit",[136,189,190],{"class":153},"(",[136,192,194],{"class":193},"sVC51","2",[136,196,197],{"class":153},", ",[136,199,194],{"class":193},[136,201,202],{"class":153},")   ",[136,204,205],{"class":142},"# 2 qubits, 2 bits\n",[136,207,209,212,215,217,220,223],{"class":138,"line":208},6,[136,210,211],{"class":153},"circuit.",[136,213,214],{"class":186},"h",[136,216,190],{"class":153},[136,218,219],{"class":193},"0",[136,221,222],{"class":153},")",[136,224,227,228],{"class":225,"tabindex":226},"qg-help",0,"?",[136,229,232,236],{"class":230,"role":231},"qg-help__tip","tooltip",[233,234,235],"strong",{},"Superposition."," A Hadamard spreads the qubit across 0 and 1. In Musiq, that spread becomes the range of frequencies you hear.",[136,238,240,242,245,247,249,251,254,256],{"class":138,"line":239},7,[136,241,211],{"class":153},[136,243,244],{"class":186},"cx",[136,246,190],{"class":153},[136,248,219],{"class":193},[136,250,197],{"class":153},[136,252,253],{"class":193},"1",[136,255,222],{"class":153},[136,257,227,258],{"class":225,"tabindex":226},[136,259,260,263],{"class":230,"role":231},[233,261,262],{},"Entanglement."," A CNOT links the two qubits, so their outcomes are correlated. That reshapes the distribution, and so the balance of frequencies in the sound.",[136,265,267,269,272,275,277,279,281,284,286,288,290],{"class":138,"line":266},8,[136,268,211],{"class":153},[136,270,271],{"class":186},"measure",[136,273,274],{"class":153},"([",[136,276,219],{"class":193},[136,278,197],{"class":153},[136,280,253],{"class":193},[136,282,283],{"class":153},"], [",[136,285,219],{"class":193},[136,287,197],{"class":153},[136,289,253],{"class":193},[136,291,292],{"class":153},"])\n",[136,294,296,299],{"class":138,"line":295},9,[136,297,298],{"class":182},"print",[136,300,301],{"class":153},"(circuit)\n",[136,303,305],{"class":138,"line":304},10,[136,306,167],{"emptyLinePlaceholder":166},[136,308,310,312,315,317],{"class":138,"line":309},11,[136,311,150],{"class":149},[136,313,314],{"class":153}," qiskit.providers.jobstatus ",[136,316,157],{"class":149},[136,318,319],{"class":153}," JobStatus\n",[136,321,323,325],{"class":138,"line":322},12,[136,324,157],{"class":149},[136,326,327],{"class":153}," time\n",[136,329,331],{"class":138,"line":330},13,[136,332,167],{"emptyLinePlaceholder":166},[136,334,336,339,342,344,348,350,353,355,358,360,363,365,368,370,373],{"class":138,"line":335},14,[136,337,338],{"class":149},"def",[136,340,341],{"class":186}," main",[136,343,190],{"class":153},[136,345,347],{"class":346},"sb9H8","shots",[136,349,183],{"class":153},[136,351,352],{"class":193},"100",[136,354,197],{"class":153},[136,356,357],{"class":346},"exclude_low_probability",[136,359,183],{"class":153},[136,361,362],{"class":193},"True",[136,364,197],{"class":153},[136,366,367],{"class":346},"low_threshold",[136,369,183],{"class":153},[136,371,372],{"class":193},"0.05",[136,374,375],{"class":153},"):\n",[136,377,379,382,384,387,390,393,396,398,401],{"class":138,"line":378},15,[136,380,381],{"class":153},"    job ",[136,383,183],{"class":182},[136,385,386],{"class":153}," backend.",[136,388,389],{"class":186},"run",[136,391,392],{"class":153},"(circuit, ",[136,394,347],{"class":395},"s_ZVi",[136,397,183],{"class":182},[136,399,400],{"class":153},"shots)",[136,402,227,403],{"class":225,"tabindex":226},[136,404,405],{"class":230,"role":231},"Submits to a simulator or a real IonQ QPU through Qollab. Audio from a QPU run is derived from measurements on physical hardware.",[136,407,409],{"class":138,"line":408},16,[136,410,167],{"emptyLinePlaceholder":166},[136,412,414],{"class":138,"line":413},17,[136,415,416],{"class":142},"    # Poll until the job finishes\n",[136,418,420,423,426],{"class":138,"line":419},18,[136,421,422],{"class":149},"    while",[136,424,425],{"class":193}," True",[136,427,428],{"class":153},":\n",[136,430,432,435,437,440,443],{"class":138,"line":431},19,[136,433,434],{"class":153},"        status ",[136,436,183],{"class":182},[136,438,439],{"class":153}," job.",[136,441,442],{"class":186},"status",[136,444,445],{"class":153},"()\n",[136,447,449,452,454,457,461,464,466,469,472],{"class":138,"line":448},20,[136,450,451],{"class":182},"        print",[136,453,190],{"class":153},[136,455,456],{"class":149},"f",[136,458,460],{"class":459},"subq3","\"Job status is ",[136,462,463],{"class":193},"{",[136,465,442],{"class":153},[136,467,468],{"class":193},"}",[136,470,471],{"class":459},"\"",[136,473,474],{"class":153},")\n",[136,476,478,481,484,487,490,493],{"class":138,"line":477},21,[136,479,480],{"class":149},"        if",[136,482,483],{"class":153}," status ",[136,485,486],{"class":149},"is",[136,488,489],{"class":153}," JobStatus.",[136,491,492],{"class":193},"DONE",[136,494,428],{"class":153},[136,496,498],{"class":138,"line":497},22,[136,499,500],{"class":149},"            break\n",[136,502,504,507,510,512,515],{"class":138,"line":503},23,[136,505,506],{"class":153},"        time.",[136,508,509],{"class":186},"sleep",[136,511,190],{"class":153},[136,513,514],{"class":193},"10",[136,516,474],{"class":153},[136,518,520],{"class":138,"line":519},24,[136,521,167],{"emptyLinePlaceholder":166},[136,523,525,528,530,532,535,538],{"class":138,"line":524},25,[136,526,527],{"class":153},"    counts ",[136,529,183],{"class":182},[136,531,439],{"class":153},[136,533,534],{"class":186},"get_counts",[136,536,537],{"class":153},"()",[136,539,227,540],{"class":225,"tabindex":226},[136,541,542],{"class":230,"role":231},"Each basis state's index becomes a musical frequency; how often it appears sets that frequency's strength.",[136,544,546,549],{"class":138,"line":545},26,[136,547,548],{"class":149},"    if",[136,550,551],{"class":153}," exclude_low_probability:\n",[136,553,555,558,560,563,566],{"class":138,"line":554},27,[136,556,557],{"class":153},"        threshold ",[136,559,183],{"class":182},[136,561,562],{"class":153}," shots ",[136,564,565],{"class":182},"*",[136,567,568],{"class":153}," low_threshold\n",[136,570,572],{"class":138,"line":571},28,[136,573,574],{"class":142},"        # Filter low-probability noise\n",[136,576,578,581,583,586,589,592,595,598,601,604,607,610,613,616],{"class":138,"line":577},29,[136,579,580],{"class":153},"        counts ",[136,582,183],{"class":182},[136,584,585],{"class":153}," {b: c ",[136,587,588],{"class":149},"for",[136,590,591],{"class":153}," b, c ",[136,593,594],{"class":149},"in",[136,596,597],{"class":153}," counts.",[136,599,600],{"class":186},"items",[136,602,603],{"class":153},"() ",[136,605,606],{"class":149},"if",[136,608,609],{"class":153}," c ",[136,611,612],{"class":182},">",[136,614,615],{"class":153}," threshold}",[136,617,227,618],{"class":225,"tabindex":226},[136,619,620],{"class":230,"role":231},"Drops outcomes too rare to be signal, a simple hardware-noise filter, before the counts are mapped to sound.",[136,622,624,627,629,631,634,636,638,640,643,645,648,650,652],{"class":138,"line":623},30,[136,625,626],{"class":182},"    print",[136,628,190],{"class":153},[136,630,456],{"class":149},[136,632,633],{"class":459},"\"Counts for ",[136,635,463],{"class":193},[136,637,347],{"class":153},[136,639,468],{"class":193},[136,641,642],{"class":459}," shots: ",[136,644,463],{"class":193},[136,646,647],{"class":153},"counts",[136,649,468],{"class":193},[136,651,471],{"class":459},[136,653,474],{"class":153},[40,655,657],{"lead":656},"Musiq is open source, built to be forked and rerun.",[44,658,659,667],{},[47,660,661],{},[50,662,663,665],{},[53,664,55],{},[53,666,58],{},[60,668,669,677,685,693,701],{},[50,670,671,674],{},[65,672,673],{},"Frontend",[65,675,676],{},"Web app, visual circuit editor, players, and spectrum views.",[50,678,679,682],{},[65,680,681],{},"Quantum",[65,683,684],{},"Qiskit and OpenQASM 2.0, Bell, GHZ, IQP, and quantum-walk templates.",[50,686,687,690],{},[65,688,689],{},"Backends",[65,691,692],{},"Local ideal simulator, IonQ simulator, or IonQ QPU.",[50,694,695,698],{},[65,696,697],{},"Audio",[65,699,700],{},"Python with NumPy, SciPy, and SoundFile; WAV output plus spectral analysis.",[50,702,703,706],{},[65,704,705],{},"Deployment",[65,707,708],{},"Cloud-hosted web app.",[32,710,712],{"id":711},"a-universal-translator","A universal translator",[13,714,715],{},"Musiq is built to be a teaching instrument as much as a creative one. By comparing how different circuits sound, a learner can build intuition for how circuit design shapes quantum output, without first having to read the math. That is the role Emmanuella works on: the translation from quantum behavior into an experience a newcomer can actually feel their way through.",[23,717,718],{"avatar":25,"name":26,"role":27,"username":7},[13,719,720],{},"Music serves as a universal translator, allowing users to intuitively hear complex quantum concepts like superposition and entanglement without relying on mathematical formulas.",[13,722,723],{},"The team is careful about what the tool is and is not. Musiq is a sonification instrument that complements the usual diagrams and equations rather than replacing them, and it is honest about its current scope: it processes a circuit's output as a whole, and does not yet assign individual qubits to separate voices or instruments. What it does do is give superposition, interference, and entanglement a sound, and a spectrum you can inspect afterward.",[32,725,727],{"id":726},"where-its-headed","Where it's headed",[13,729,730],{},"Today Musiq generates a single layered waveform from a circuit, with a set of circuit templates and analysis tools to pick apart the result. The ambition Tomoya describes is bigger: to move from sonification toward genuine composition, using the all-to-all connectivity of trapped-ion hardware to give separate musical voices their own entangled structure.",[23,732,733],{"avatar":25,"name":26,"role":27,"username":7},[13,734,735],{},"We will scale up to 30 to 40 qubits on IonQ hardware, expanding from simple sound generation to the automated composition of fully structured music.",[13,737,738],{},"It is also a small argument about what quantum computers are for. Most of the field points its hardware at optimization and simulation; Musiq points it at a speaker.",[23,740,741],{"avatar":25,"name":26,"role":27,"username":7},[13,742,743],{},"It proves that quantum computing can expand beyond pragmatic optimization or calculation tasks, capturing new potential for creative and artistic expression.",[32,745,747],{"id":746},"make-it-yours","Make it yours",[13,749,750],{},"Musiq is open and forkable on Qollab, the full studio is on GitHub, and you can build a circuit and hear it in your browser right now. Start from a Bell or GHZ template, or bring your own OpenQASM, and listen to how the design changes the sound.",[746,752,755],{"fork-href":124,"live-href":753,"title":754},"https:\u002F\u002Fmusiquantum.vercel.app\u002F","Build a circuit. Hear what it does.",[13,756,757,758],{},"Fork Musiq, run a circuit on a simulator or real IonQ hardware, and turn its quantum data into sound. ",[233,759,760],{},"Everything here is open and yours to build on.",[762,763,764],"style",{},"html pre.shiki code .sV9Aq, html code.shiki .sV9Aq{--shiki-default:#7F848E;--shiki-default-font-style:italic}html pre.shiki code .seHd6, html code.shiki .seHd6{--shiki-default:#C678DD}html pre.shiki code .sn6KH, html code.shiki .sn6KH{--shiki-default:#ABB2BF}html pre.shiki code .sjrmR, html code.shiki .sjrmR{--shiki-default:#56B6C2}html pre.shiki code .sVbv2, html code.shiki .sVbv2{--shiki-default:#61AFEF}html pre.shiki code .sVC51, html code.shiki .sVC51{--shiki-default:#D19A66}html pre.shiki code .sb9H8, html code.shiki .sb9H8{--shiki-default:#D19A66;--shiki-default-font-style:italic}html pre.shiki code .s_ZVi, html code.shiki .s_ZVi{--shiki-default:#E06C75;--shiki-default-font-style:italic}html pre.shiki code .subq3, html code.shiki .subq3{--shiki-default:#98C379}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":25,"searchDepth":146,"depth":146,"links":766},[767,768,769,770,771],{"id":34,"depth":146,"text":35},{"id":108,"depth":146,"text":109},{"id":711,"depth":146,"text":712},{"id":726,"depth":146,"text":727},{"id":746,"depth":146,"text":747},[773,774,775],"Qollab","Blog","Musiq",[777,793],{"username":7,"name":26,"role":778,"avatar":25,"bio":779,"links":780},"Project lead · quantum researcher & engineer","Tomoya is a freelance quantum engineer with an Applied Physics master's from the University of Tokyo, specializing in quantum error correction and quantum algorithms, including ML-based decoders and quantum hash functions. He is first author on a published quantum hash function paper with RIKEN and OIST co-authors, and founded the open-source project KetQat to help democratize quantum computing.",[781,784,787,790],{"label":782,"href":783},"Qollab ↗","https:\u002F\u002Fqollab.xyz\u002Fu\u002Fdoraking",{"label":785,"href":786},"LinkedIn ↗","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Ftomoya-hatanaka\u002F",{"label":788,"href":789},"GitHub ↗","https:\u002F\u002Fgithub.com\u002Fdorakingx",{"label":791,"href":792},"arXiv ↗","https:\u002F\u002Farxiv.org\u002Fabs\u002F2409.19932",{"username":8,"name":794,"role":795,"avatar":25,"bio":796,"links":797},"Emmanuella Adams","Creative technologist · quantum experience","Emmanuella works on the bridge between quantum systems and creative research, focused on translating complex technical concepts into human-centered experiences. On Musiq she shapes the quantum-to-music translation, the audiovisual experience, and the educational interaction layer. She is an undergraduate in software engineering at Federal University Dutse, specializing in AI and machine learning.",[798,800],{"label":785,"href":799},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Femmanuellaadams\u002F",{"label":788,"href":801},"https:\u002F\u002Fgithub.com\u002FEmmanuella-Adams",{"username":803,"name":804,"role":805,"avatar":806},"nico","Nicolaas Spijker","Community manager, Qollab","\u002F_content\u002Fimages\u002Fbuilders\u002Fnicolaas-spijker.webp",null,"Tomoya Hatanaka and Emmanuella Adams built a browser studio that turns quantum circuits into sound. Build a circuit, run it on a simulator or real IonQ hardware, and hear its quantum data become music.","Tomoya Hatanaka and Emmanuella Adams built Musiq, a browser studio that turns quantum circuits into sound on real IonQ hardware. A Qollab Spring 2026 project.",false,"md","Quantum Creative Challenge · Spring 2026",{"href":124,"label":814},"Fork Musiq",{"image":118,"alt":816,"liveUrl":753},"Musiq, a browser studio that turns quantum circuits into sound","news",{},"\u002Fblog\u002Fmusiq","2026-04-30","7 min read",[],[824,831,838],{"username":825,"project":826,"title":827,"category":828,"thumb":829,"to":830},"incomputable","francisco","Superposition Sequencer","Music","\u002F_content\u002Fimages\u002Fsuperposition-sequencer\u002Fthumbnail.webp","\u002Fexplore\u002Ffrancisco",{"username":832,"project":833,"title":834,"category":835,"thumb":836,"to":837},"bawa27","qorbital","qOrbital","Education","\u002F_content\u002Fimages\u002Fqorbital\u002Fthumbnail.webp","\u002Fexplore\u002Fqorbital",{"username":839,"project":840,"title":841,"category":835,"thumb":842,"to":843},"hsadeghi","quantum-advantage-lab","Quantum Advantage Lab","\u002F_content\u002Fimages\u002Fquantum-advantage-lab\u002Fthumbnail.webp","\u002Fexplore\u002Fquantum-advantage-lab",{"title":845,"description":846},"Quantum Creative Project Showcase: Musiq","A browser studio that turns quantum circuits into sound. Build a circuit, run it on IonQ, and hear the quantum data become music.","blog\u002Fmusiq",[849,850,851],"music","quantum","education","Crb77p51Xb7WAYdrxu4wfDnUnVkr2DdtpE420l0SJBA",[],[],1785631554695]