About

So who am I?

I’m a 52 year old guy from Sweden (Yes the land of ABBA and Nord Lead) with a great interest in computers, electronics and music. Yes I’m married and make my own wine.

I’m also the funder and owner of DSP Synthesizers, a company that develope and sell chips for your DIY synthesizer projects.

solina4

I have a passion for music and have my own recordingstudio. I speak C and assembler in my sleep and writing blittering fast DSP algorithms that speak with the hardware is my second nature.

Since I have worked as a teacher (teaching music software and Adobe Photoshop) I’m a fetisch for explaning and showing of my constructions.

I hope you enjoy reading the blog and get some ideas yourself for a DIY Synthesizer.

/Jan

52 Responses to “About”

  1. K Plenty Says:

    Greetings.

    I have this strange passion to build a synth.

    I am located in Baton Rouge, LA in the United States. I find your site fascinating.

    Could you help me with some of the knowledge I need to gain, and direction I need to take in this endeavor. I want to build a VA synth/Rompler, then eventually mass produce it.

    My primary trade right now is as a film editor. But I have a secondary passion for music production. Thanks

    Kikala

    • janostman Says:

      Hi
      First of all you need to find some usefull hardware to run the VA.
      Here size and speed matters and you would prefer a fanless system. With small I mean Mini-ITX.

      Next you need a USB MIDI-keyboard. If it’s big enough it could host your computer inside and you wouldn’t need to box it like I did. If your building a rackmodule you would use a USB MIDI interface instead.

      Then you need a copy of Windows-98 because you can strip it down with Lite-PC for a fast bootup time.

      You then install ASIO4ALL, VSTHOST and of you go.

      This setup will let you run any VSTi, VA or Rompler of your choice and if your USB-keyboard have knobs it will let you adjust parameters on your VSTi in realtime.

      The more GHz you have, the greater number of synths or more powerfull synths can be run.

      Before you go of and hacksawing or do any soldering, just try to build the setup on any desktop or laptop computer so that you know it works as it should. That will save you a lot of debugging time.

      Note: If you are planning to produce and sell the synth you must remember that the softwares used are not free for commercial use and you probably need to pay royaltyfees to the software owners.

      It you have any questions feel free to ask.

      Br
      /Jan

  2. Nicholas Says:

    Hi.. like this as I was googling for diy hardware vst host, something I want to build! Your system looks cool (though large!). I have win98, asio4all and ITX Atom 330 board.. how do you avoid (pc) keyboard, mouse, monitor from spoiling the stand-alone hardware feel?
    Can 98 run as a server (headless – is the technical term for that I think)?
    What will you build next.. a drum machine, maybe?

    • janostman Says:

      Hi
      You only need a mouse, keyboard and monitor for setup. When installed you turn off the keyboard in the BIOS and it runs standalone.
      You can use a network interface as normal in win98 and share the VSThost folder for remote configs and you use a MIDI interface to control the synth.
      Next is a copy of the EMU Emulator II but I also have plans for a drummachine. I have a pile of old 486 machines and those make great drumsynths.

      /Jan

  3. Branden Says:

    really enjoyed seeing someone actually build a VA! thx for all the updates it has been very kool seeing the synth come together. my quest is to make a midi controller with keyboard that looks like the software it controls. like that one gent did with the imposcar
    http://www.synth-project.de/ImpOscar_Project.html
    only im not sure where to start on the learning process of what to do? what parts? all i find are sites on building boring generic midi knob boxes and nothing on building a vsti look alike controllers with keyboard. any advice would be greatly appreciated.

    • janostman Says:

      Hi
      Thanks for your interest in my little project.
      From what I understand you want to copy an original synth with it’s controls and knobs but the engine would be software. I belive that is what the ImpOscar project is about. That is also what I’m going to do next, build a copy of the Emulator II. The only differense in building a copy or building a generic MIDI controller is the design. Find as many pictures and usermanuals of the original as you can to get an understanding for how the original works and just build a MIDI controller that is a lookalike. If you don’t have the skills in electronics just buy a MIDI controller and move the knobs to the panel of your own design.
      /Jan

  4. Branden Says:

    hi Jan

    see i always thought it would be awesome to have a midi controller that actually looked like say the moog modularV from arturia. all those patch inputs and knobs etc… much like korg did with the ms-20 controller. what i do not understand mainly is how you install the patching cable inputs/knobs/sliders and a keyboard together. where do you link all those controls to? what do i link up a cheap midi keyboard to? all one lookalike moog modular v keyboard cuz like yourself i love a synth with keys and dislike racks. if i remember correctly you ran a midi cable from your keyboard to the sound card on the inside of the VA? would this be a good way to add in a keyboard for my controller?

    • janostman Says:

      Well the keyboardpart is easy, just USB it to the computer. The only reason I did it with a MIDI cable to the soundcard was that both the computer and the keyboard was to old for USB. The function however is exactly the same. Same with the knobs, they just send MIDI CC values when you twist them. The patchcabels are more difficult. Not only do you need to scan outputs and inputs to find out how the patchcables are connected but you also need to reconnect the patching of your softsynth based on the result of the cables. Not impossible but more advanced. Could be done with a custom VSTi made with SynthMaker or SynthEdit.
      /Jan

  5. Synth-Project Says:

    Nice Blog, Good Work !

    Best

    Synth-Project

  6. Paul T Says:

    Hi Jan,

    Very excited to come across this blog, there are so many used computers here in the U.S. that you can practically get one for free (esp. when they are old Pentium II-III desktops). It would be nice to see them get a second life as a synthesizer! Good luck with your project.

  7. Emeref Says:

    Hello Jan,

    I hope that you doing something with that synth yet. If you can send me few informations about status of work.

    Good luck!

  8. André Says:

    Hi Jan,

    at first of all: Great Project, very interesting. Is this project still living? Can we expect any news.

    I’m trying to do a simular thing. How do you get the lcd working?

    All the best
    André

    • janostman Says:

      Hi André
      The project has been sleeping for a while but the synth still works.

      However it is still without the LCD but the LCD can be connected as in my description but without software it will be blank.

      Sorry to say I have not written any software yet for the LCD.

      /Jan

  9. André Says:

    Hi Jan,

    It’s André again 😉 What booting time results do you get with the “win Lite”. Is the system stable? Wouldn’t xp be the better choice? I remember the 98’s times and it was not that stable.

    I wish i could get my win32 app (my own va with synthmaker) running on win ce, so that i could use that little beagleboard. Do you have any idea how to port it to win ce?

    regards
    André

  10. an3 Says:

    jan. can i have ur contact to keep contact for the shippin of the ju-x
    regards

  11. an3 Says:

    hell oJan. bets wishes for 2015. i ve send u two emails, no replty up till n0w. i m wudnering since ur pages says ready jan st 2015. how about an update

    best regards
    andreas

    • janostman Says:

      My broadband connection is broken since dec 23rd and wont be fixed until jan 12th.
      So I can’t reach my emails and my salespage is down.

      Sorry about that but I’ll answer you as soon as it works again.

  12. Jeff Hopkins Says:

    Hello!

    I just wanted to share that I just bought one of you’re synths in DIP for use in my next iteration of woodwind controller (the Hopkins Electronic Aerophone, check on hackaday.io for more). I look forward to seeing if breath control data and the plethora of other data streams I can throw at it will be as nice as I think it will be…. very excited!

    Cheers,

    Jeff Hopkins

    • janostman Says:

      Hi Jeff. I think that breathcontrol will fit my chip just perfect. Because it’s a VA and controlled through MIDI-CC it wil behave just as you want.

      • Jeff Hopkins Says:

        I’ve been piping my MIDI data wirelessly to a computer to handle all my synth. Originally I was not going to have an onboard synth at all, but then I was leaving towards something cheap like a VS1053B but never liked the sound. I think your chip will provide a very unique character to the instrument, and it’s small enough I can have it onboard and not worry about too many glue components.

        Being able to practice anywhere with headphones will be awesome. I look forward to plugging this guy in and giving it a run through.

        Thanks for the hard work you’ve obviously put into this chip.

        Jeff

      • Jeff Hopkins Says:

        Hello again! Been a few months… I’ve integrated the DSP G1 into a wind controller synth (see https://youtu.be/e7Gd0bjZoBo) however I have just a few issues.

        The master volume CC is noisy or clicky if you will, it’s not a game stopper, but just not nearly as smooth as the filter effects through CC.

        Any chance at Pitch Bend being added?

  13. Erix Says:

    Hi, I just discovered this interesting blog. I designed an analog synth some 35 years ago 🙂

    Back to present time, is this project of mine in-topic with the blog?
    http://www.erix.it/play-v6/

  14. Alon Says:

    Hey Jan 🙂
    My name is Alon Cohen and I’m from Israel, and I follow your projects for a long time.
    I have few questions I would be glad if you’d agree to answer:
    1) I’ve seen your Jano mini keyboard and the Noob mini key board, where did you get those keyboard enclosures? I want to have one mini key board like that for my self.

    2) when would the DSP D1, would be available? And how much would it cost? I really liked the D8, but sadly I see that it does not have a separate output for each sample. So I plan on buying 8 different d1s and using a Teensy to trigger them depart lie and process them as so.

    Thanks a head and your projects are awesome!!

    • janostman Says:

      Hi
      The Jano keyboard is a 25-key Alesis Q25 MIDI keyboard.
      The NOOB keyboard is a 37-key Miditech Garagekeys Mini Midi keyboard.

      In theory the dsp-D1 already exists.
      It is the same as the dsp-D8 but 8-pin DIP and just one drumsound.
      They will be $19 each and I need to figure out how you can select what sound you want to buy.

  15. roger Says:

    hi jan
    can you tell me what happened to the ‘DR-55 1U tile drum machine’ project? the indiegogo campaign is over… i’d love to have (at least) one of these! 😉

  16. chris Says:

    Hello
    I was looking at the O2 source code for the Arduino minipops emulator.
    Will that code enable the Arduino to make the sounds or is it code to trigger your minipops DSP chip.
    I’m really interested in making on of these.

    Thanks
    Chris

    • janostman Says:

      The source code is a complete rhythm box, sequencer and sound module.
      It’s standalone and requires no other chips.

  17. Shawn Says:

    Greetings Jan.

    My name is Shawn and I am a musician in Cape Cod, Massachusetts. I have a few Arduino synth builds under my belt now. I’m pretty good a schematics and soldering, but not so good with code so thank you for providing the code and an easy schematic. I have been looking for a drum machine and I like the O2 as a fun little machine. I’m wondering if you can help me a bit with a few pieces I am trying to work out.

    First, I would like to change the speed of the clock output. I am syncing with a some Korg Volcas and it is running too fast for them. Where would I adjust this in the code? I saw some code for pin 13, but couldn’t tell what number set the clock out and keeps it in sync with the tempo.

    Second, If I wanted to add a second pot to allow for 2 patterns to run at once, is that possible? The videos I have watched of the Mini Pops shows people using 2 patterns at once to get some really cool rhythms. It seems like there are enough inputs on the Uno to do this. I just don’t know if the clock would stay in sync, and is there anything limiting the code to only running 1 pattern at a time?

    Finally, is there any info on which switches control which part? I played around and figured some out, but wondering if that is defined in the code somewhere that I can pull it from?

    Thanks for your time developing this. I plan to donate for your efforts. I appreciate any help I can get.

    Shawn

  18. Colin Garritty Says:

    Hi,
    I keep getting drawn back to your page seeking an idea for a synth voice to pair with the Elektron analog four/keys and its 4 cv outs. Your juno clones and other unique modules seem like a close match for A4/keys users without an idea of how to put their CV track to use. Any thoughts on developing a module, diy or otherwise, that would be a nice companion to the Elektron? Drums or a juno voice would be so cool!
    Cheers,
    Colin

  19. rizzkeys Says:

    is “noob synth string” still available for sale?

  20. Alon Says:

    Hello Jan, how can I contact you /private message you?

  21. This $20 Drum Chip Emulates The Roland TR-808 - ADSR Says:

    […] allowing you to program its functions however you wish. The man who developed it, Swedish musician Janost, has provided the source code for […]

  22. Manfred Says:

    Hi,
    I’m interested in the 2HP Black Friday 808 module. I can’t find information about delivery charges. Are there any?
    Cheers,
    Manfred

  23. Mikko Möykky Says:

    Hello!

    I’m musician from Finland and been thinking if it’s possible to do Hoover sound on eurorack. Seems like you got solution 😊 Is there kits for modules?

  24. TONAL AXiS Says:

    Nice site and cool products!
    I love little DIY synth projects etc and writing about them on my WordPress blog.

  25. pedro Says:

    Jan Ostman , i love this project , you great ! , i try to build the dsp-g1 on LPCXpresso to make the hex file to flash the chip , but
    it happends that the header files are missing
    wiring.h
    sct_fsm.h

    please can you send them to ngugamail@ gmail.com

    thanks
    PedroGC

  26. pedro Says:

    Jan Ostman , i love this project , you great ! , i try to build the dsp-g1 on LPCXpresso to make the hex file to flash the chip , but
    it happends that the header files are missing
    wiring.h
    sct_fsm.h

    please can you send them ?

    thanks
    PedroGC

    • janostman Says:

      You dont need wiring to build this project so remove the wiring.h

      I’m quite sure that sct_fsm.h is part of the NXP library?

      I’m sure I didn’t write it anyway.

  27. pedro Says:

    well i am lamer on this i usualy work in arduino…
    i have imported the LPC810_CodeBase-master.zip from adafruit
    to the LPCXpresso then i just clean the main.c file and paste inside
    the main.c the dsp-g1 code and removed the wiring.h
    then pasted the files sct_fsm.c ; sct_fsm.h and sct_user.h , to
    the same directory were is the main.c , then after buid project
    it says

    Description Resource Path Location Type
    ‘UART_STATUS_TXRDY’ undeclared (first use in this function) main.c /LPC810_CodeBase/src line 440 C/C++ Problem
    expected ‘)’ before numeric constant sct_user.h /LPC810_CodeBase/src line 5 C/C++ Problem
    make: *** [src/main.o] Error 1 LPC810_CodeBase C/C++ Problem
    implicit declaration of function ‘mrtInit’ [-Wimplicit-function-declaration] main.c /LPC810_CodeBase/src line 561 C/C++ Problem
    implicit declaration of function ‘uart0Init’ [-Wimplicit-function-declaration] main.c /LPC810_CodeBase/src line 555 C/C++ Problem
    each undeclared identifier is reported only once for each function it appears in main.c /LPC810_CodeBase/src line 440 C/C++ Problem
    in expansion of macro ‘delay’ main.c /LPC810_CodeBase/src line 487 C/C++ Problem

  28. pedro Says:

    Thanks , if you send mre like an LPCXpresso project will be great !
    i just compiled one but i do not know if works… there was a call in the main void… to

    sct_fsm_init();

    then i just replaced by the code inside the sct_fsm.c :

    //————————-
    // sct_fsm_init();
    //————————-

    LPC_SCT->CONFIG = (LPC_SCT->CONFIG & ~0x00060001) | 0x00000001; // UNIFIED 32bit

    //— MATCH/CAPTURE registers
    LPC_SCT->REGMODE_L = 0x0000; // L: 2x MATCH, 0x CAPTURE, 3 unused
    LPC_SCT->MATCH[0].U = MATCH_PERIOD; // MATCH0
    LPC_SCT->MATCHREL[0].U = MATCH_PERIOD;
    LPC_SCT->MATCH[1].U = MATCH_DUTY; // MATCH1
    LPC_SCT->MATCHREL[1].U = MATCH_DUTY;

    //— OUTPUT registers
    LPC_SCT->OUT[0].SET = 0x00000001; // Output_pin_0 set on event0
    LPC_SCT->OUT[0].CLR = 0x00000002; // clear on event1
    LPC_SCT->OUT[1].SET = 0; // Unused outputs must not be affected by any event
    LPC_SCT->OUT[1].CLR = 0;
    LPC_SCT->OUT[2].SET = 0;
    LPC_SCT->OUT[2].CLR = 0;
    LPC_SCT->OUT[3].SET = 0;
    LPC_SCT->OUT[3].CLR = 0;

    //— EVENT registers
    LPC_SCT->EVENT[0].CTRL = 0x00005000; // L: –> state L_ENTRY
    LPC_SCT->EVENT[0].STATE = 0x00000001;
    LPC_SCT->EVENT[1].CTRL = 0x00005001; // L: –> state L_ENTRY
    LPC_SCT->EVENT[1].STATE = 0x00000001;
    LPC_SCT->EVENT[2].STATE = 0; // Unused events must not have any effect
    LPC_SCT->EVENT[3].STATE = 0;
    LPC_SCT->EVENT[4].STATE = 0;
    LPC_SCT->EVENT[5].STATE = 0;

    //— STATE registers
    LPC_SCT->STATE_L = 0;
    LPC_SCT->STATE_H = 0;

    //— CORE registers
    LPC_SCT->START_L = 0x0000;
    LPC_SCT->STOP_L = 0x0000;
    LPC_SCT->HALT_L = 0x0000;
    LPC_SCT->LIMIT_L = 0x0001;
    LPC_SCT->START_H = 0x0000;
    LPC_SCT->STOP_H = 0x0000;
    LPC_SCT->HALT_H = 0x0000;
    LPC_SCT->LIMIT_H = 0x0000;
    LPC_SCT->EVEN = 0x00000000;

    //——– sct_fsm_init(); END
    //—————————–

    then i used the this includes .

    #include “LPC8xx.h”
    #include “uart.h”

    and add some defines i take from headers to dsp-g1 code

    #define MATCH_PERIOD (SystemCoreClock/2) // 2hz
    #define MATCH_DUTY (SystemCoreClock/20) // 10% duty cycle

    compiled but do not know if it works … lol

    please help me with a LPCXpresso zip 🙂

    THanks
    Pedro

  29. Manfred Says:

    Hi,
    I bought the 2HP Black Friday 808 module (paid 2.11.), but did not get any notice about it. My comment on this site has been deleted, so whats that all about? I hope this time you will give me an answer to my question.
    Manfred

  30. Mark Says:

    Hi,
    Try as I might, I am unable to find any actual source code for the O2 project. Have I missed a link somewhere, or has it moved to a repo such as Github? If so, do you have the link for it, please.

    Thanks

    • janostman Says:

      It’s right here in the menu to the right.

      • Mark Says:

        That was where I was looking. Currently I am unable to see any source code, or active links to source code on that page despite trying different browsers, computer, networks and VPNs. Examining the HTML source also yields nothing hidden.

        I believe I saw it there before Christmas but can see nothing there now, unfortunately.

      • Mark Says:

        Thanks 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: