buffering output? 7407?

I am using an Arduino to generate 5V gates for an analog synth.

I assume I should buffer the outputs?

Should I use a 7407? If so, do I need pullups on the input pins? or is it ok if connected to the outputs pins of the arduino (which are in this case would be either written high or low).

The Arduino will provide you with a 5V output when high and 0V when low. However, make sure that there is no chance of a higher voltage getting into the arduino.

You can use a 7407 and this will provide you with a bit more isolation. As these are open collector you will need a pull up resistor to a 5V reference ideally taken from your synth. You will also need to connect the ground of your synth to the ground of the arduino.

thank you that's helps me too much

Do I use pullups on the outputs of the 7407 or the inputs?

Another option I had was to use an opamp in voltage follower mode. Is there any reason NOT to use an opamp?? I could not find this info anywhere...the only thing I can think of is slew related issues.

Do I use pullups on the outputs of the 7407 or the inputs?

Outputs

Is there any reason NOT to use an opamp?

Most cheap op-amps do not go rail to rail so you won't get the 5V swing you want. It is just not the right part to use.

ah ok. If I use a rail safe single supply opamp powered 0-5V then that would be ok I guess. However, it sounds like using a buffer IC is more conventional for this application...

If I use a rail safe single supply opamp powered 0-5V then that would be ok

Not sure what a "rail safe" op amp is but you want a rail to rail op amp if you insist on using one these cost about 10 times more than the conventional ones.

However, it sounds like using a buffer IC is more conventional for this application...

Yep