Skip to content

Turn GTL standalone hardware gear.

Hi @Jack and folks,
I know the title could seem crazy but I want to discuss the possibility to create an standalone version of this marvel called GTL and I think it will require work from all of us (whose want to take part of it).

First the background:
http://cdm.link/2019/03/dadamachines-doppler-fpga-open-music-hardware/

The new doppler board promises to meld the power of FPGA brains with microcontrollers and the accessibility of environments like Arduino. And the founder is so confident that could lead to new stuff, he’s making a “label” to help share your ideas.

>

doppler is a small, 39EUR development board packing both an ARM microcontroller and an FPGA. It could be the basis of music controllers, effects, synths – anything you can make run on those chips.

So they are aiming to create a community of tinkers and cool projects which IMHO it’s amazing news for GTL (and live looping itself). There were other attempts Raspi based and so but the fact FPGA are close to a patching environment hardware based makes this opportunity something big.

Obviously I know almost the basics of what I’m propossing and also I will help with my knowledge and if I can involving more people (like my 2 brothers who are on FPGA and code programming too and some other hard/code, web designer and musicians friends to name a few). Years tinkering about diy midi controllers makes me confident about believe it could be possible turn GTL into what I’m going to call RC808 (as I expect it should be a new Loopstation if Roland decides to release an update on Loopstation family). I don’t expect to market releasing something like this soon due to niche market and risk for the usual suspects and also making it opensourceable isn’t they usual way to go (maybe Korg could be take apart).

So what do you say guys? Let’s discuss it and dream a bit about it... We can even make something modular to complement actual GTL instead cannibalize one project for other (of course).

I need to make some mockups and true thinking about all of this but I wanted to share it with you since it’s the first time in some time I feel excited about new development in our field and that’s thanks to Jack and GTL app project for it.

<3

Comments

  • Sounds like a dream, Dubby, a good one!

    I‘m on my way to the wilderness of Australia right now, so I won‘t be active here for 2-3 months. I‘m looking forward though to join the GTL community again when back in Switzerland, I had an amazing time playing around with it on my travels so far.

    I‘m an experience web developer. Other than that, I think I have proven to be a very investigative tinkerer (is this a word?), so maybe I can be of help.

    Take care and keep dreaming,
    Joshua
  • edited March 2019

    Sounds like a great idea @dubbylabby, just ask if you need to know anything regarding GTL or MIDI.

    I've made a basic Arduino MIDI controller myself in the past, great fun and plenty of scope for customisation.

    Good luck!

  • > @Jack said:
    > Sounds like a great idea @dubbylabby, just ask if you need to know anything regarding GTL or MIDI.
    >
    > I've made a basic Arduino MIDI controller myself in the past, great fun and plenty of scope for customisation.
    >
    > Good luck!

    Well I’m still wondering the best setup... I’m not a true coder but I will keep my eyes open to the project and ser what the needs are to make it happen. I expect some kind of API from the devs to port objective-c (maybe they are working with Juce/Soul) code into the platform so If I’m right probably you could (if you want) make a dedicated version for it.
    About the hardware side I expect also some guidelines about the core and about interface my first idea was “let’s make a box and plug things to them”. We can make dedicated hardware of course but I believe in make step by step.

    If you wanted to develop a hardware unit what do you envision it should have?
  • edited March 2019

    @dubbylabby said:
    > @Jack said:
    > Sounds like a great idea @dubbylabby, just ask if you need to know anything regarding GTL or MIDI.
    >
    > I've made a basic Arduino MIDI controller myself in the past, great fun and plenty of scope for customisation.
    >
    > Good luck!

    Well I’m still wondering the best setup... I’m not a true coder but I will keep my eyes open to the project and ser what the needs are to make it happen. I expect some kind of API from the devs to port objective-c (maybe they are working with Juce/Soul) code into the platform so If I’m right probably you could (if you want) make a dedicated version for it.
    About the hardware side I expect also some guidelines about the core and about interface my first idea was “let’s make a box and plug things to them”. We can make dedicated hardware of course but I believe in make step by step.

    If you wanted to develop a hardware unit what do you envision it should have?

    Are you thinking of making a hardware version of GTL? I got the impression you were thinking of making just a MIDI controller.

    I don't know much about this board but it looks like you use the Arduino environment to program it. If that's the case then you can write your code in C. There are some great C libraries for MIDI on Arduino out there. As for audio, I expect there are some good libraries too and I can imagine it would be possible to synthesise audio and do basic processing.

    As for Objective-C, it's an Apple language. It's used for programming on OSX and IOS operating systems. The doppler is a micro controller and does not run an operating system and therefore you won't be able to use Objective-C. Also GTL uses many Apple frameworks, including CoreAudio which is what makes IOS so great for music. As well as the physical limitations, I suspect you could not use apple frameworks on any other platform legitimately.

    Don't let the above put you off though, it just means you can't port GTL to the doppler. Instead you would be looking at creating something from scratch, maybe drawing influence from GTL. There are many advantages to hardware loopers over software ones like GTL. One that comes to mind is frame by frame processing, operating systems process audio in chunks (buffers) which introduces large amounts of latency. Micro controllers can process audio frame by frame resulting in super low latency, this is how digital mixing desks work.

    Hope some of this helps, I'm not an expert on this type of programming so don't take anything I say too literally!

    Cheers

  • Hi @Jack!
    Not me... US!

    Also Fpga means programable hardware so it’s possible to develop analog hardware from its programable nature and being developed from Zmors dev I expect his team will implement somekind of wrapper or API translator... or almost a modular environment (like zmors itself) to build those ideas.

    So my proposal is to port GTL into this hardware platform but as “product” or GTL projects player + hardware looper more than a substitute :wink:

    It has also arduino-like chip (alongside the fpga) sobit could be possible develop hardware user interface but also usb host so just adding midi support makes it suitable for any regular class compliant controller.

    I wonder about some kind of GTL-in-a-box (devian version) which gets the rock solid label but the amazing GTL workflow and the iOS version with all the full potential for experimental and advanced stuff (and the editor!)...

    Makes any sense?

    To me the similar hardware nowadays could be trio+ but I miss some features from GTL and also I will love to see some of the trio+ dedicated features (harmony recognition, transient detection for drum algorythm...) being implemented in GTL too.

    A box with best of two worlds and Jack signature will be a dream. Obviously this is not a project just for one human (there are superhumans out there but I’m not one of them) xP
  • So I will look deeply into it and come back with some answers! I’m internet-free due to moving home and I’m totally lost everytime I get into it again xD
  • edited March 2019

    Ah I see, I read a little more about Fpga. Sounds powerful.

    GTL uses memory/RAM to store audio loops. I'm interested in how this would be implemented on an Fpga board.

  • I will ask my brother about it and come with answers :wink:
  • edited April 2019

    @dubbylabby said:
    I will ask my brother about it and come with answers :wink:

    Meanwhile taking a deeper look into the CDM article and documentation we can find the Teensy Audio Library (full compatible with this project) also based in block patching ala pd/max

    https://www.pjrc.com/teensy/gui/index.html

    https://github.com/adafruit/Audio/
    https://www.pjrc.com/teensy/td_libs_Audio.html

    About audiomemory usage:
    https://www.pjrc.com/teensy/td_libs_AudioConnection.html

    About Interrupts:
    https://www.pjrc.com/teensy/td_libs_AudioProcessorUsage.html

    How to create new modules:
    https://www.pjrc.com/teensy/td_libs_AudioNewObjects.html

    Roadmap:
    https://www.pjrc.com/teensy/td_libs_AudioRoadmap.html

    Let's take in consideration this is the teensy/adafruit Library which is awesome but isn't the one dadamachines is going to develop dedicated to the board (but compatible as I said) so we can expect something similar but on stereoids and hopefully Teensy developer will help in improve all since he is an amazing human kind.

    So to put light on this Doppler works with Arduino IDE ergo this and lots of coding out there.
    FPGAs have the ability to become hardware from coding them and it could be possible to develop something in this way and later export it as standalone hardware with its own memory (inside the FPGA or attached as module) like GEM works on Max(msp) environment.

    This is still young but I see a huge potential and not so complex coding metaphor to get an standalone box someday. It's like the missing piece on the puzzle between pd/Max environments and iOS developing (the other similar piece to this is MobMuPlat) so it's a matter of time that some kind of wrapper will emerge (it could be possible to port LibPd into this hardware and just make it run pd patches but I can imagine the dadamachines proposal gone even further since Zmors modulars is similar approaching)

    I need to study the physical side of hardware loopers to understand what components are involved (alongside ADC/DAC, memory and CPU) and maybe patch something into Max as proof of concept (Beap! modules make this easy in comparison to C coding) so maybe the question now is how imagine a GTL box in feature terms going from must to wishlist and find the way to help @Jack to port/adapt the coding to make this a value proposition for GTL as platform. This also could help with revenue for him since it's common the low revenues iOS developers get from Apple...

    I will dig more into FPGAs themselves and come back as I said.

    From CDM article too:
    https://ds0.me/oshug.pdf

    FPGA structure:

    • Modern FPGAs aren’t just LUTs and DFFs!
    • Block RAM: dual port SRAM, usually 4-36 kbit
    • DSP: multiplier and adders
    • High speed IO blocks for DDR memory, HDMI, PCI Express, etc
    • Even CPUs! (Zynq ARM cores, Virtex-II Pro PPC)

    From https://blog.hackster.io/dadamachines-doppler-development-board-packs-both-a-sam-d51-and-ice40-fpga-f09a62aadd29

    On the hardware end, the Doppler features an Arm Cortex-M4F (SAM D51), an FPGA 5000 LUT (1Mb RAM, 6 DSP cores, OSC, PLL), and is both Arduino IDE compatible and breadboard friendly. The board sports a micro USB port, 3.5V to 5.5V VCC, 4 X 4 LED matrix, 2X DAC pins, 10X ADC pins, and all GPIO have 3.3V logic level. It also offers a pair of user buttons, an AREF solder jumper, SWD program pin headers, and uses a UF2 bootloader with firmware uploaded via USB stick mode.

    I will back :wink:

    Cheers!

  • edited April 2019

    Thanks for the info @dubbyLaby! I must admit a lot of the FPGA stuff goes straight over my head. It certainly sounds interesting though.

    I have a teensy myself, the audio library looks great. It's a good idea to research hardware loopers. I suspect there will be some limitations for what a teensy type board can handle. IOS and iPad hardware is exceptionally powerful. The native audio format is 32bit floating point, which is what GTL uses. Also It's capable of mixing many audio streams simultaneously and processing them all in real time. Hardware boards like the Teensy are limited in comparison to an iPad. Having said this, you will not have to deal with running an operating system alongside so you will be able to dedicate more resources to the audio. As GTL mixes multiple audio streams, it would be worth investigating how many the hardware will allow you to achieve.

    In terms off porting any code from GTL, I'm still sceptical I'm afraid. The Core Audio library is the foundations for GTL, it's apple code designed for apple operating systems. I suspect you will have to write the majority from scratch.

    Keep up the good work @dubbylabby!

  • I know @Jack... my hopes are on Zmors developer and all these Audio Libraries (or even LibPd) getting supported. The whole point is about how powerful and cheap are these boards but how closed, so projects like this make them maybe an option for things like that.

    I will research a bit more in the FPGA field and also in hardware loopers to see how reliable could be make something like Trio+ but audio buffer based (like a phrase sampler).
    Something in between the Trio+, an rc505 and Sp/Mpc boxes.

    As inspiration and encouragement I have this two Raspi based projects which are build over libPd/MobMuPlat:


    http://cdm.link/2013/07/roll-your-own-looper-cheap-raspberry-pi-pd-korg-monotron-hands-on/

    ;)

  • edited April 2019
    After ask my brother some of my assumptions are clear. FPGAs could emulate into bare metal hardware gear, includding ram chips inside them and so but also can use external ram too.

    Tinkering with him over the table I can see why regular loopers can do one undo layer but two undos are ususally not available regards to volatile memory and buffers.
    So it isn’t trivial (going full FPGA) but I expect these libraries will make things a bit easy to develop and I will track the improvements (new board releases too) and research a bit into hardware loopers to get more knowledge about emulate these.
    I think it’s possible (and relatively easy) emulate basic behaviour from GTL into a FPGA project and it’s probably a matter of time before someone makes it happen (maybe not directly as GTL _per-se_ but a generic looper machine).
    Meanwhile also check the market new tools are emerging pointing the consumer adaption state like the headrush looperboard (leaked 2 days ago and available soon)





    The Headrush Looperboard was built to push the art of looping live audio to the next level. It utilizes a powerful quad-core DSP system, combined with a 7" touchscreen and a generous set of I/O with premium circuitry.
    Plus, there's over five hours of onboard recording with stunning 32 bit / 48 kHz quality, premium Eleven HD Expanded effects, external USB/SD storage, USB audio interface and so much more.
  • Thanks for the update @dubbylabby, very interesting! The Headrush Looperboard looks nice too.

  • Thanks to you my friend. Your amazing work is my inspiration and if someday becomes a reality option be sure I will propose you a business plan :wink:<3

  • In the same line CDM posted about ELK audio musicOS which also could be a good receptor...

    http://cdm.link/2019/05/hardware-vst-steinberg-retrologue/

    https://www.mindmusiclabs.com/
  • Wow looks fantastic, it should open up a lot of possibilities for sure.
  • > @Jack said:
    > Wow looks fantastic, it should open up a lot of possibilities for sure.

    It’s older project and more business focused (a d supports Juce and probably the new language from them) so yes, it’s amazing! :)
  • Meanwhile in the BatCave...

    Humm I should make my own midi foot controller as start point... maybe later I could build also a tabletop companion controller...

    Maybe I should open a new post asking about those @Jack ? Do you have something in mind when you code?
    @janosax do you want to share thoughts? Who can be involved?

Sign In or Register to comment.