qr code that plays "never gonna give you up" by rick astley
qr code that plays "never gonna give you up" by rick astley
source code available at https://codeberg.org/nupanick/qrplay
qr code that plays "never gonna give you up" by rick astley
source code available at https://codeberg.org/nupanick/qrplay
Could you link this? I cant open this on my phone
Edit: ok I can, but it's hard. And the data has WAY too many brackets and slashes to be pasted.
there's a demo of it running on https://nycki.net/qrplay !
Copy the following text to hear rick Ashley:
0V40RS-B:B:+D:-B:RI.FFQE:IX-SA:A:+C-A:RI.E:E:ID:SC-I.B:SA:A:+C-A:RI.D:E:C-SB:I.A:SXIA:+QE:Q.D:IXS-B:B:+D:-B:RI.FFQE:IX-SA:A:+C-A:RI.A:CID:SC-I.B:SA:A:+C-A:RI.D:E:C-SB:I.A:SXIA:+QE:Q.D:IXS-B:B:+D:-B:RI.FFQE:IX-SA:A:+C-A:RI.E:E:ID:SC-I.B:SA:A:+C-A:RI.D:E:C-SB:I.A:SXIA:+QE:Q.D:IXS-B:B:+D:-B:RI.FFQE:IX-SA:A:+C-A:RI.A:CID:SC-I.B:SA:A:+C-A:RI.D:E:C-SB:I.A:SXIA:+QE:Q.D:IXQX/0$0V25RQXRI.A:A:QA:IX-QXRI.A:A:IG:SFI.E:IE:XRI.G:G:QA:IXIXXQA:HB:QXRI.A:A:QA:IX-QXRI.A:A:IG:SFI.E:IE:XRI.G:G:QA:IXIXXQA:HB:QXRI.A:A:QA:IX-QXRI.A:A:IG:SFI.E:IE:XRI.G:G:QA:IXIXXQA:HB:QXRI.A:A:QA:IX-QXRI.A:A:IG:SFI.E:IE:XRI.G:G:QA:IXIXXQA:HB:QX/0$0V36R--TD:XD:XB:XB:XR--SXXTB:XB:XSXXTB:XB:XSXXTA:XA:XSXXTA:XA:XR--SXXTA:XA:XSXXTA:XA:XSXXTG:XG:XSXXTG:XG:XR--SXXTG:XG:XSXXTG:XG:XSXXTA:XA:XSXXTA:XA:XR--SXXTG:XG:XSXXTG:XG:XSXXTG:XG:XTD:XD:XB:XB:XR--SXXTB:XB:XSXXTB:XB:XSXXTA:XA:XSXXTA:XA:XR--SXXTA:XA:XSXXTA:XA:XSXXTG:XG:XSXXTG:XG:XR--SXXTG:XG:XSXXTG:XG:XSXXTA:XA:XSXXTA:XA:XR--SXXTG:XG:XSXXTG:XG:XSXXTG:XG:XTD:XD:XB:XB:XR--SXXTB:XB:XSXXTB:XB:XSXXTA:XA:XSXXTA:XA:XR--SXXTA:XA:XSXXTA:XA:XSXXTG:XG:XSXXTG:XG:XR--SXXTG:XG:XSXXTG:XG:XSXXTA:XA:XSXXTA:XA:XR--SXXTG:XG:XSXXTG:XG:XSXXTG:XG:XTD:XD:XB:XB:XR--SXXTB:XB:XSXXTB:XB:XSXXTA:XA:XSXXTA:XA:XR--SXXTA:XA:XSXXTA:XA:XSXXTG:XG:XSXXTG:XG:XR--SXXTG:XG:XSXXTG:XG:XSXXTA:XA:XSXXTA:XA:XR--SXXTG:XG:XSXXTG:XG:XSXXTG:XG:XTD:XD:XB:XB:X/0$0V28R++SA:G:FD:R++I.D:D:Q.E:ICCR++I.E:E:Q.FSA:G:FD:R++I.D:D:Q.E:ICCQE:HFSA:G:FD:R++I.D:D:Q.E:ICCR++I.E:E:Q.FSA:G:FD:R++I.D:D:Q.E:ICCQE:HFSA:G:FD:R++I.D:D:Q.E:ICCR++I.E:E:Q.FSA:G:FD:R++I.D:D:Q.E:ICCQE:HFSA:G:FD:R++I.D:D:Q.E:ICCR++I.E:E:Q.FSA:G:FD:R++I.D:D:Q.E:ICCQE:F-SB:B:XB:B:B:XB:/0$4RJ33+++EA-G--B++G++C*/$9RJ33BABB-A+A-B/V35RQ9XRQ9X4X9X4X9X4X9X4X9X4X9X4X9X4X9X4XRQ9X4X9X4X9X4X9X4X9X4X9X4X9X4XS4X4X9X4X4X4X9X4XRQ9X4X9X4X9X4X9X4X9X4X9X4X9X4X9X4XRQ9X4X9X4X9X4X9X4X9X4X9X4X9X4XS4X4X9X4X4X4X9X4X
OK, you beat me. In the past I just did this:
But that's just 1 second.
I thought of codec2, but that would be extremely inconvenient to play.
ooooooh that's really good though!!! i considered raw audio but it seemed like it would take up way more space, but kudos to you for doing it anyway!
i love how many modern hacks are just a roundabout way to reproduce phreaking
jokes on everyone i think that song is a legitimate banger
This reminds me of this video about QR code tricks that almost got deleted once
DATA:TEXT/HTML,<META%20NAME=VIEWPORT%20CONTENT=initial-scale=1>
<CENTER>
<H1>
<A%20HREF=http://nycki.net/qrplay>QRPLAY</A>
</H1>
<BUTTON%20ONCLICK='H.A?.close(),H.A=A=new%20AudioContext,F=(M=``,T,L,N,I=0,E=D=>M[I]==D,S=D=>D?S(D+E(C,++I)-E/
):I)=>{for(;C=M[I++];Q>7?(Q-=9)?Q>9?L/=+C||2/3:Q>7?(D=M[I++]+M[I++],Q>8)?U=D+M[I++]:G=new%20GainNode(A,{gain:2**(D/5-11)}):L=Q?1<<Q:N=4:F[M[I]]=M.slice(++I,S(1)):Q?(O=new%20OscillatorNode(A,{type:square
,detune:100*(Q2-(Q>3)+E*
-E:
-N-7)}),Q&&O.connect(G,G.connect(A.destination)),O.start(T),O.stop(T+=L/U15/8)):C-3|C>X
?R++<99&&F(F[C],T,L,N):N-=C+12|0)Q=XCDEFGABR$JTSIQHWVU3.
.indexOf(C);R--},F(RU137V30
+H.value,R=0)'>PLAY</BUTTON>
%20<BUTTON%20ONCLICK=H.A.close()>STOP</BUTTON>
<P>
<TEXTAREA%20ID=H%20STYLE=WIDTH:MIN(40EM,99%);HEIGHT:9LH>$-TITLE:%20NEVER%20GONNA%20GIVE%20YOU%20UP.%20ORIGNAL%20BY%20RICK%20ASTLEY.%20COVER%20BY%20CHRISTOPHER%20ALLEN.-/U115$0V40RS-B:B:+D:-B:RI.FFQE:IX-SA:A:+C-A:RI.E:E:ID:SC-I.B:SA:A:+C-A:RI.D:E:C-SB:I.A:SXIA:+QE:Q.D:IXS-B:B:+D:-B:RI.FFQE:IX-SA:A:+C-A:RI.A:CID:SC-I.B:SA:A:+C-A:RI.D:E:C-SB:I.A:SXIA:+QE:Q.D:IXS-B:B:+D:-B:RI.FFQE:IX-SA:A:+C-A:RI.E:E:ID:SC-I.B:SA:A:+C-A:RI.D:E:C-SB:I.A:SXIA:+QE:Q.D:IXS-B:B:+D:-B:RI.FFQE:IX-SA:A:+C-A:RI.A:CID:SC-I.B:SA:A:+C-A:RI.D:E:C-SB:I.A:SXIA:+QE:Q.D:IXQX/0$0V25RQXRI.A:A:QA:IX-QXRI.A:A:IG:SFI.E:IE:XRI.G:G:QA:IXIXXQA:HB:QXRI.A:A:QA:IX-QXRI.A:A:IG:SFI.E:IE:XRI.G:G:QA:IXIXXQA:HB:QXRI.A:A:QA:IX-QXRI.A:A:IG:SFI.E:IE:XRI.G:G:QA:IXIXXQA:HB:QXRI.A:A:QA:IX-QXRI.A:A:IG:SFI.E:IE:XRI.G:G:QA:IXIXXQA:HB:QX/0$0V36R--TD:XD:XB:XB:XR--SXXTB:XB:XSXXTB:XB:XSXXTA:XA:XSXXTA:XA:XR--SXXTA:XA:XSXXTA:XA:XSXXTG:XG:XSXXTG:XG:XR--SXXTG:XG:XSXXTG:XG:XSXXTA:XA:XSXXTA:XA:XR--SXXTG:XG:XSXXTG:XG:XSXXTG:XG:XTD:XD:XB:XB:XR--SXXTB:XB:XSXXTB:XB:XSXXTA:XA:XSXXTA:XA:XR--SXXTA:XA:XSXXTA:XA:XSXXTG:XG:XSXXTG:XG:XR--SXXTG:XG:XSXXTG:XG:XSXXTA:XA:XSXXTA:XA:XR--SXXTG:XG:XSXXTG:XG:XSXXTG:XG:XTD:XD:XB:XB:XR--SXXTB:XB:XSXXTB:XB:XSXXTA:XA:XSXXTA:XA:XR--SXXTA:XA:XSXXTA:XA:XSXXTG:XG:XSXXTG:XG:XR--SXXTG:XG:XSXXTG:XG:XSXXTA:XA:XSXXTA:XA:XR--SXXTG:XG:XSXXTG:XG:XSXXTG:XG:XTD:XD:XB:XB:XR--SXXTB:XB:XSXXTB:XB:XSXXTA:XA:XSXXTA:XA:XR--SXXTA:XA:XSXXTA:XA:XSXXTG:XG:XSXXTG:XG:XR--SXXTG:XG:XSXXTG:XG:XSXXTA:XA:XSXXTA:XA:XR--SXXTG:XG:XSXXTG:XG:XSXXTG:XG:XTD:XD:XB:XB:X/0$0V28R++SA:G:FD:R++I.D:D:Q.E:ICCR++I.E:E:Q.FSA:G:FD:R++I.D:D:Q.E:ICCQE:HFSA:G:FD:R++I.D:D:Q.E:ICCR++I.E:E:Q.FSA:G:FD:R++I.D:D:Q.E:ICCQE:HFSA:G:FD:R++I.D:D:Q.E:ICCR++I.E:E:Q.FSA:G:FD:R++I.D:D:Q.E:ICCQE:HFSA:G:FD:R++I.D:D:Q.E:ICCR++I.E:E:Q.FSA:G:FD:R++I.D:D:Q.E:ICCQE:F-SB:B:XB:B:B:XB:/0$4RJ33+++EA-G--B++G++C*/$9RJ33BABB-A+A-B/V35RQ9XRQ9X4X9X4X9X4X9X4X9X4X9X4X9X4X9X4XRQ9X4X9X4X9X4X9X4X9X4X9X4X9X4XS4X4X9X4X4X4X9X4XRQ9X4X9X4X9X4X9X4X9X4X9X4X9X4X9X4XRQ9X4X9X4X9X4X9X4X9X4X9X4X9X4XS4X4X9X4X4X4X9X4Xnooo why does the html scream at me :(
Because you've been a very BAD person, and you deserve to be SHRIEKED at
For those curious, there is actually a reason. It compresses better in QR codes: https://shkspr.mobi/blog/2025/02/why-are-qr-codes-with-capital-letters-smaller-than-qr-codes-with-lower-case-letters/
🤖🖖 How do you do, my fellow human?
10 0011 10101