Snippet: Stereo Audio Recorder
-
- This snippet implements a stereo audio recorder
- The final audio data is written to a file and loaded into an Audio Loop Player
HiseSnippet 2923.3oc2Zs0TajbEdDvXao8RVuwOjG6hJUEgWhPxvhsKp0V.FrIgKpPrdWWtHTsloGoILS2S5oEfrKW09PRU4s7SHukeG6ujTIOmW1WxyImS2yMcwXff2DGvf0b5aem6mSOzRJbXwwBoUoJGLHhYU5isaOfq5sdOpO2ZqmXU5Ss2gFqXRhgzZChnwwLWqRkl9oHgRkmwR+0O730nATtCKmjk0yE9Nrs8C8U4Ta07W6GDrI0kcfeXgYuTysbD70EAh9.dl1ttUD04XZW1tTbZSYa8LZbOqR20t9WtLic+E8bcoKtn6xKu7CevCW5gMnd0Wh1owxObo6sz8u2CtumUoargquRHaqnJVrUoYVS3NncOwobyA7b+X+NAL7gFVsgS1PdSQfKxhHUq064G31JUPEaYUxtUtXaZiX6N16365mQOW78Y5AH4qnn.rzTCCuoGBdMJBu5Ef2DfToBPx1.oaa21Q5GoxGAwyGYuEGzldTPOUDJ61Ob09t9hM8CPjXWpDnQLaf0Tunh85BXYbUsP5wrMkvCYaS0kqWedB7q4VoRkEtakxGzyOlDy8ihXJheXT.KDVYLgRP6HlfPwChHYNBoKShKfQ774zfjQ7.LPf83TouBNThBVhgHk6RBDfkiKwmij4DMpIaKDQjVAzAv9c2EpTALjhUjSnRhgG17aaP9Jh1ztVWlRun1TDaYhmpyZlJAl6r.ujuETu1ABEt9z8JaOPwUUMmmO880LFL8TYFL40EgQBN7P0YMCimPkJcCDc.1t6Qxz03QChYqPVXAhBjJQFvsVfv4XsDg5q74cIdBILNPvKf1MeWnNN8C6GPASJXqd4g584TvYizgAx6Xl7DPxgKlRVrdLygDv3cU8.gIbTrHpjcf.khnHGHbB.XBM.Ncp9XUBAIruid9H7LpKUOIi5RpRUv1AwJzGfd6qUq1b.WVwmG3yAcbetixWvIBtQHfBHoHnpSpzYdP.FzmMWkWWobAghl3JUJWoruGoZxTJCyorQiRcc2UnX6wq1.rDWx7CpUFcBddoynQ850My.9mjo5K4vCuoRY.Swh.VsXEUpViwc5ERkGWcN8wChStfvYfTDjPN.eqXY1lJBxG3GUPbMf2MvcH0RsDA9i.3oOXsYiruiBbpBWMehUSvVNbDQifl2.VPmuIVsXjrVFuNnF6.gSqNhrWaFNtF57.Fpb.AA50lvMBOs4vn9vUJiVNAjXPENQovcIav6BmKB+0564wjs8eEKWVmXSlG4nidRjdX7YY51qOvmPUz1lIAV9lMqlQAUMdt4IiR4vzyvGVDpEEmvjZtHMHUNbqTFsnqBV1fc+PLRhUXBapNx28rw3UetK6r87fkOm1eT+bpHyouThNYcPObj4SYwTTHkzAFiTTdP8k3JMyIFHpAVGDWv1COinIANcRPSrJCBcLHHV.JNO0BR+t8T3BvevHEfkKDdGE2APZavH.NEvlikh1DrAy6TJ.ZvE.CQyLwhqVL5Ct+D3+0Gw7DOvFhDqi2R.TMOg2OzD9MdtZ4PVwBiLJJ.2IZLMHNPTcDs7K0r2gymJ0uKoShU07YeR6BoYtNjG8nB6tVJzC1FMqjvBZNLmkMh.PT4qHf4YLYVGQjOycVjsyB9UvrKQ3P6qDgP3RfeBPM2azQUzlZNP3QtN5HmclRGk.CyUzXAmhLwAfcVjPpVk6tMjwKOayHmKL22TYh9vuq0m5HSgD0PdUjmPHAA9BiPlDcg4PoW3mAI.XVzm6+65yFx2NaReEY1msU6MNBhtbzrjuf.mf1ut8.vTNDqzam3pyACLasSomL6Xt3.BLZh7DKl5.3oYB+sLGL2RQWeO3XQlxbH3woKcSVs.w7xZlSGlDqcRKHRgNJs8poO7IHkluPLJiI69XDDHjx8VJKPkOGzpgHPkreAVoCmcZhXJY0AE0AwPwShVBHyW1NfiaxW3UyOVCg4PGZSsG5kqIN6qas+d+pMV+fi1busexF6+FTV6USIZqjPJZX0alxV4VFUJj4MIQoV4CiSFcHHE4jFKIcQ.SNwgQ8q77VXUviuCSVLAONQnj7gKA19sWBbwJzcL48JLQAeKtuZOvT9sU2tURxRrb4DTASUoKV9SSJVds9Jkfa4C0DeKaShRKMhK1Ti0WuEZYjtOvVBGSDSp7QNnzSXm.gNLEgW19Ir3igb254ljfFZK4cepmkcheGs4f7i+2z7TeWUuLBeurYOFFksHEqBsCLiAIPiHBWSTlhcmf8vkL.nuFpk.rBedruZPwd7t1ZY4hBwaa2xW4zaxXbpIfQPs79.iIM58I1a.g4cT4.bF6M+12Sc0M03xnJ1oMgjHcLlKfqeRyZEQRZ+ae8T1UpHYcgxLVIy0bnB9qFmEZa97hQztocBffrYjVYzLVIsUTXCfbwKVmrPgsQmuMYhIMdTnAiPAF+OoKCAFtGJk9TjD1Ww.RO5IrI2wwvE0AwKKF5oXuSUc5Q4bVPrliLUka5tHoBt7zflX2PoBpAYozU5yFGMoPngJNbDART+3dUGoBzNAiUBJP5vz9OvZCDQCHonDHk9wWV+Pr1kgNhWNoho+kMNDl6JEWZiKwRabnt8mKWra6Krgdiy2OaeQerAycnPRLHvm8tP4gh9RG15I7BdiDSggvMOWGeFc0aCJE8C+K3qjAajc8EvfMRGLO5+UJ7s03WvxHtherc98GbguZkR+Qaxk1i7BZleIUl23CSk4tL0oB4w5KAK4yVktIpPpXmdESVqBQWNccc24lbHfZQSqkHXPTOA22AIYlQJNWMTzGSVa.6ynwGP8CvjNs6GigJ1i2FK0BuvyRS+bneL8FeS650fugf26JbggtwlTGPrNnEESZeaarxEH0AFHHKERAjNjgi9dOKLHtio2OpQjAHNTWQwT1f9nfcr4JAwmfTiSYrO2J943nPgyVO2TSCvY3dZDdF3hS8SrwZWOJReeZVCw.eNv.RVshiWLerAxCu9KCpwg.q9yRcPK33T7IHc3VXOsoa3FfIsqKyUurDajc74IboYN6POK+4y.UZKpDPKzDEt2yj8DnByWZdQE4KOiVSnCrHzqrXARsOlcpQhUjp4lzQ+Z7RX1AE0icBOg4Q6GnFit0kGZ.LtTP6FPcfpwfzO73ICoe3wuCHsTywfTy+7DjVfW8aER+D68EB0lRFzwI2YvHX66dcyIhMft00flr4e+U+9yQb8Q1Ht1GCkbUjYnc9ZBww3U4EeMjO5VlAuo8tB+XlNhxma9L4oLNd8VBYiqi2bSzE9M2TZ5y6Euz3J9hWl480KdYlKVI5mO79.noqgdOQkSwXa8KoYC9Ir.vtKw9IwLNk5v1O6H3hzzl4lL6yfL9c6xF1eYRLzpJEDFLmxcZtOCe2A41T+7+RysgrjToNV4USVz3hKKNO80Oy1.WBZzS9OQu8ipY10PiyW638p2D8kN.x6TkeqrW3s17+o4uvaCABR47BahYrgD5EI7MCc0LVun4XAVew2uE3QIUPgmT4nh+outLsm4BaifrzGN1zXXI70S9ADf0lDe3.3OytE88lAwUzS81F7Zau8l6k.R3SjLz23bA4e6U24u9307iPGNLxWdIklwI+g+w+7wXMMak6a27O07anmvvK0OovqL1caVW3LKR4.VXjn8.9P4BaGBUu1CZCd3JktSS7uTgM3TPh3VbSZ0Cx9smmWLSMz1.a6AByeANqis3Wbvs5xgdwLWneQ5q2OVIBSY.cWVX8sllido8xKUC9x6Kve+v0ges3dWOOac8kadpKn45OUaIjoxQah+G2Ayf3Liv+ah3eLtnl+e4LBoNRwQNl6PCsPuklBHa45q7nr8N3yjFi+5hBg9PNxwY3sZrEduq5BW7ptvktpK7KupKb4q5Bu+UcgO3cuPrMwUSdo8P9NKqcZsgITYor3zkl15eC.NEtlC
-
@ustk Fantastic work! I have been waiting ages for some type of audio buffer in HISE, it offers a lot in terms of FX processing! :)
-
@ustk I am looking at the code and I am asking myself if it possible to adopt this for a ring buffer (a circular buffer that consistently rewrites). Do you think this achievable?
I can see retriggering the record process based on some input (MIDI, audio signal), but then I would end up with a unmanageable amount of audio files.
-
@HISEnberg That is doable (although if you want it to be sample accurate, doing this with script (so not on the C++ side) would be CPU enemy
Also, the problem is that keeping the same audio file name doesn't update the audio loop player, or at least I failed doing so. Even re-writing the file and loadAudioPool keeps the old version in memory
-
@ustk Yes I see what you mean, this is a really cool example nonetheless so thanks for sharing!
-
@ustk Nice work, thank you!
-
@ustk Great snippet, Thank you.
-
This post is deleted! -
Doing this in c++ should be possible. External data is shared between the c++ and javascript side of Hise. I've not tried integrating it this heavily yet but I have written and loaded external data into c++ for processing
(see my fft post, where I demonstrate a c++ sampler that processes external data, it wouldn't take much to then copy the fft result back into the external data for hise to recieve)
-
Fantastic!!!
-
@ustk Hi mate!! I was trying add to this snippet an Audiowaveform to show the recording. Any clue why it works within HISE and does not on compiled version?
HiseSnippet 3000.3oc6ZszabbbDdFRNRZ23GRNJA4XCh.jkxzq1kZkDEDrMeHRaFyGK3RKaCAFldmomcmvY6dRO8Px0FBHWBPtkK42P9c3eF4TfOFfbIWx4jp5ddtbEMEiribPnrnmoeT0WUc8rG0UJbYwwBokc8CFGwrreCmdi4pgqOjFvs15IV1usSRr53ijLWgziIsVabDMNl4YYaO6GgKxt1bV5e9Ge3ZzPJ2kULjk0SEAtrsCFEnJFs6JeRPX3lTO1AAiJs5NqrkqfutHTj..ZVmVVQT2ioCX6RwkMii0GSiGZYeGmNO5Q8a2m0t0xd2qyRK41Ge2e4VK660xmtjamNOh5u7C5aYesM7BTBYOEUwhsrmaMg23dCEmxML3oAwA8CY3Kss5Ab1L7lhPOTDwQsVeXPnW2LMUrkksS2B81rF81sc1IvKHe7B82M0SPJ1QYEn8LUg2rUfW6xvqUI3MEHYWBRNFHcKmdtxfHUwLHd9QNawULoOENmJCkcSFsZhWfXyfPDIN11vIhg.Vy7E0cVW.aiqZNhdLaSI7RNYZ7fVsVj.+ZgGWu9cuS8ZGLLHlDyChhXJRvnnP1HXmwDJIF1BSPnHiHYlT3FXD+.NMLcFe.CDfFmJCT.SIJXKlAobORn.rb7HAbbXNQiZx1BQDoaHcLPu6b250ACoXE4DpjXjgM+71j2mnssaNfozapGEwVt5ow7lkRf0NOHKEjf52KTnv8mQqbZfpqFZIuX46qELX4Y5LXwqKFEI3vKMl2LMxg50GDJ5Ch8fT+KXO9zvX1iI28tDEnUhLfasPg6wZMBMPEvGP7ERXdX.+P5fBpPccSFkDRASJfTO6PMcNEb1H8Yf9NlIOAzb3loj60Jl4RBY7ApgfxDXEKhJYGHPsHpxgANA.LgFBbmpYqRHHiRb0qGgm43RMTxndjFTEPNJnDPFnIeylMW.jx5A7v.NbFmvcUABNQvMJATAIEgMbyzNKBJvvD1B0+p50JoTzC9350pWKvmzHcI0f0TybhR871UnX6wazFrD6X9KdpL4B78yVQ6VsZYVA7eRlJQxgWdd8Z.lhEgrlwJpTsFi6NbDUdbiEzrGTmbAgy.sHngbA4VwxsMUDTNvGUPbMP1MvsxwRyTE9G.vSyXsYiLwUANUiVsXgMRwVAbDQSflmCVPWrIVyXbXsNdc3XrODNswD5dsY34OgtHfgGNfh.8ZSkFgu1bXRe350PKmPRLbDNUsvcHavG.7Eg+ZI99LYufujUnqSsIKhbzWuHxPL9rLi7ZF9Dph1yrHvx2PrllCnFwKrHYxQNLiGAvlvSQwILoVJxBRU.250PK5FfkMX2WQPRsBSES0QAdmcNYMf6wNaOeX6Kn8G0umoxbSjRzIqO5giBelHlgBojN1Xjh5CZfD2oYMwvfZf0GwEPd3cDMovoeJZhU4PnuAAwB3fyWcWYvfgJbC3ewHEfkKDdGU2gPZavH.3BXywxPaJ1f0cJE.M3BfgnYlXwMJG8AoOA9+ZVrHwGrgHw53sD.UKR3IiLgeiWnYAjUrQQlCJ.2omXZPbfnwDmxOSKdGtXlV+Nj9oVUKl+j1ERKb8IevGTh5ZsvPfLZQIUDzRXgHaTAfpJPQ.yyXx7thn.l27nXmG7qjYWpxglnDifvkf7DhmbOWGUQap4BgG45nib1YJcTBLLWYiEbIxTG.1YQBoZUt21PFuhrMSvWXsOu9T8g+11eliLERTC4UQYBgDD3aTDJjnKLGJ8BeFz.fYQBO32lvp3amun2mL+GuUuMNBhtbz7j2k.bP6W2aLXJOBqzam3FK.SLeySomL+4bwADXNIJRrXpCfmkI72vbwbKkc88A1hBkgIH6zktIaTZvhxZVPGlDqcRqHxfNps8apY9TzRKVJFkwjceLBBDRYoN4ApB3vo5HDnR1u.qzgyNMUMkt6vxmAwPwShtBHyWNEv4M4K7aFDqgvBnCso1C810CN+W0c+89kar9AGs4da+jM1+4nt1uoRzSIgTzvt2LSrJrLpWJyaZhR8gOLOYxofTjSatzzEgL4TmFOekWzFa.d78YxxI3wEBkjWsDXmWbIvkqP20j2qzBE7s3Ap8.S4WTc6VoIKgxkmIEUvRU5hkeqzhkWKQoDbq.nl3a3XRTZoQb4lZrx280L69mjta8A7mQOggVCZhbSmJi097DyCrwrrWzYxy0bmo1OryxsZ249cZe+VKi9NVRJe.qGVeBVnNRD8Hav8zu+WfA9zsPaWrwfTgFTDQLoJ.0w1OgcBDbyzlPMmmvhOFptPqURKgHWxtH8xY4hwuitx3BY5WsxoAdpg4C70xUFxv7.kGwpDubdo0hmgBpDnzX7guAzAQYGza4o6hMuTdneyhVilyHyPSYBOSD2xcpg8ylNAX6Vo8HraGdbfZb49cek091kEh2xoafxc3zw3LSAino92AXLso22zYCHkmqp.fy4r4m+cTGtybdcTcmrFxR0NFCSHLXZiqkQRVure5LN0qKYCfRtdbdXpJM+zHNOL+hEEloCY0ODR3jOzimL6cZKVkH.TWx8ZQtaIxnq8HcgoMgUpYqQBLWXZGWBL0GzVwo3PXOViICAWfo28U0BbgbGkCCWtOxFtCobNKLVKQlNTLcZkVMaQIAl7XPYSpw4k2nz7FmMsnvJEJOgBIJIdXiIpFue34JGGF5vrdwv5jDQiIYnDFJ6wm05PrNtJr3YSqwh2q8gvZeb4s19kXqsOT2J3KWdLmKsgd6K1OaeQB1r8NTHgNFmaWnTYQhzksdprfg7lAyBYduUVRfdvgh9k+E7S5jsyuJGXx1YSVjI7Jknv57W1zDthUB.egWyzrEWyj8evg7R6QdIMyeIOLu1OLOL2koNUHOVegfoOaYec7.otS9M39TnyQL0g80cZ0D9i0pP3lSWWe0EljJv4jdrthvwQCE7.WbHyJx.9piDI5b2Zz+wz3CnAgXVndIwXri838v5PwaCFxBXuqvCd5ZaRcA053tTr7fa4fUwAoNv.A4oPJgzBCGT6ZtE3RSizL61hMJM.hizUTLiCrGbdipvvbj5uoCVU9QQ5aJzpBbdG.NRVyxyOM.TkBeaX.UZgryx7wJY6W9MKr.CnEcCe1If+TSUhFJtC8rh2wh65Rk.Tft+PpLW9afHVZq3ga4s5rD7NzxXD55fu2FdGUIukC5hg2MzNndpx5eBymlDppPSqKKCa+BX30fBsTkXTqovn1Svn4JXz0bVpJmtALPqVoD+sc1WHTaJYPipb2wYb45Nc5LI3ct7ZqeJNeqGY94gO7AcVdo6u7RoWnNxr8QOGqIfeQjzpmYUlQe083aPYayXhctU7SwYgFbynH3j8eZf5aXl75N6JBhYZn+NlmIeDii2AlP19E84c90exe6OcY+7NQW5Oui8rWzWmo8U7qyL2qcecle.zARkOfTsLL1S+0a1feBKDr0RsYRcUyFspMyNBtHKkQgYx9LH82fAnSWA1mp.spRAAhJF41qrOC+nBE1Q+7+7JaCoLnRczpqltn8kWWbQmW+LGCbIngN4+243qocNZe9nfuQpo8Gkw92Jc.BNR6K3qbaAopfzkkG3ypbaGVewJmKP4W70aAdKRETPEUNoZd1WUlsycosEPQ50a6ULLC9cHeMGj5i9WuA4Mc5R+uzgcEOuaYvniy1atWJvfmH4Ht8EBru4Ku8e8CWKHBcfvHVEE3Ylm76+6+yODq4XqBe0U9iqjcigoEFkKhayF.7r7HGvFEI5MlWIuUuQPsjCg92pVIysWA+mavFbJnE7JSjtCgLU646GyTUHCP1CD6Pwuo25XuokmbqAbnsCysxWd70ShUhQ4WCJ1NAVOptHP6m47fNMge7eW72OZc3W2auWMua8pKO5LWRSzer1RH+HGsIdMzQxfxbCuuuQ42G2jv+qviQTWo3HWyk7fVh2POBna45d3q4rC9NYJeNlQP+.G45VkTmaiKcU238tparyUci2+ptwGbU23Cupab4u8MhsqsZ5WXGxkYYsS2MLgDsyiGaOq0+VY40Kh