Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Oldstench
Jun 29, 2007

Let's talk about where you're going.
Sup. Posting in the new synth thread.
~turns Scatter knob violently~

Adbot
ADBOT LOVES YOU

Oldstench
Jun 29, 2007

Let's talk about where you're going.
Pretty sick Richard... http://vimeo.com/90236532

Oldstench
Jun 29, 2007

Let's talk about where you're going.
Frankie Knuckles died. Sucks.

Oldstench
Jun 29, 2007

Let's talk about where you're going.
Live Windowlicker cover.
https://www.youtube.com/watch?v=W9GfEAaQUR4

Tinfoil over the speaker for distortion is awesome.

Startyde posted:

[...]hail Satan

Oldstench
Jun 29, 2007

Let's talk about where you're going.

toadee posted:

The best acid possible is hooking a 303's CV directly into the MS-20. gently caress tuning.

Amen.

Oldstench
Jun 29, 2007

Let's talk about where you're going.
So...what have you guys done with your equipment lately?
http://vimeo.com/93923609

Oldstench
Jun 29, 2007

Let's talk about where you're going.
Regarding Expert Sleepers Silent Way, I made a skin file for the StepLFO that has the following features:
  • Euclidean rhythm generation
  • Shift Pattern Left/Right
  • Invert/Reverse Pattern
  • Clear Pattern
  • Random Pattern
  • Pseudo-variable step length function - 2x, 3x, and 4x buttons extend the length of the pattern but keep the ratio of step length equal to the original pattern so you can remove steps from the end to fake variable step length
  • Pattern shuffle - ex: pattern 12345678 becomes 15263748

You can't create new knobs with the ES scripting language, so I had to use existing knobs to do double duty.
For the Euclidean generator:
The Length in Steps parameter on the main page determines the total length of the pattern, and the End Step parameter determines the number of hits in the pattern. Due to this, you can only use the pattern generator in Start/Length mode.

So, choose the length, choose the number of hits with the End param, go to the Utility group and hit Process. Magic! It currently creates steps at with a max output value. This can be scaled.

Also, I don't know if it's just because I'm a terrible programmer or because LUA sucks, but sometimes the resulting patterns are a bit glitchy especially if you keep hammering the function buttons.

Save this code in a file called gui_steplfo.lua and place it in a skin folder named whatever you want.
Windows ex: %appdata%\Expert Sleepers\Silent Way\Skins\EuclidLFO(or whatever you want to call it)\Contents\Resources

No idea where it should go on a Mac.

Choose the skin from the plugin options page.

code:
-- return the window size
getWindowSize = getWindowSize or function()
	return 907, 415
end

-- create and lay out all the controls
createUI = createUI or function()

	createUICommon()

	-- constants
	local kKnobSpace = 45
	local kKnobSpaceV = 70
	local kWaveformW = 433
	local kWaveformH = 151
	local kDropdownW = 72
	local kTextW = 40
	local kLabelSpaceV = 30
	local kRandomW = 433
	local kRandomH = 18
	
	local function knobGroup( LR, id, title )
		g = group( title )
		
		local x = 0
		local y = 0

		theKnobRenderer = smallKnobRenderer

		smallKnobAndTextField( g, "Speed " .. LR,		"Speed",			x, y )
		smallKnobAndTextField( g, "Beats " .. LR,		"Beats",			x, y+kKnobSpaceV )
		x = x + kKnobSpace

		labelledDropDown( g, "Speed Multiplier " .. LR, "Multiplier", x, y, kDropdownW )
		y = y + kLabelSpaceV
		labelledDropDown( g, "Speed Mode " .. LR, "Speed Mode", x, y, kDropdownW )
		y = y + kLabelSpaceV
		labelledDropDown( g, "Sync " .. LR, "Sync", x, y, kDropdownW )
		y = y + kLabelSpaceV
		labelledDropDown( g, "Beat Divisor " .. LR, "Divisor", x, y, kDropdownW )
		y = y + kTextFieldH + 4
		g:add( paramButton( "Triplet " .. LR, "Triplet", x, y, kDropdownW, kTextFieldH ) )
		
		x = x + kDropdownW + 10
		y = 0

		labelledDropDown( g, "Swing Type " .. LR, "Swing Type", x, y, kDropdownW )
		y = y + kLabelSpaceV
		labelledDropDown( g, "Interpolation " .. LR, "Interpolation", x, y, kDropdownW )
		y = y + kLabelSpaceV
		labelledDropDown( g, "Range Mode " .. LR, "Range", x, y, kDropdownW )
		y = y + kLabelSpaceV
		labelledDropDown( g, "Length Mode " .. LR, "Length Mode", x, y, kDropdownW )
		y = y + kLabelSpaceV

		x = x + kDropdownW + 10
		y = 0

		local x1 = x
		
		smallKnobAndTextField( g, "Swing " .. LR,			"Swing",	x, y )
		x = x + kKnobSpace
		smallKnobAndTextField( g, "Gate Length " .. LR,		"Gate",		x, y, kTextW )
		x = x + kKnobSpace
		smallKnobAndTextField( g, "Phase " .. LR,			"Phase",	x, y, kTextW )
		x = x + kKnobSpace
		smallKnobAndTextField( g, "Asymmetry " .. LR,		"Asym",		x, y, kTextW )
		x = x + kKnobSpace
		smallKnobAndTextField( g, "Smoothing " .. LR,		"Smooth",	x, y )
		x = x + kKnobSpace

		local x2 = x

		x = x1
		y = y + kKnobSpaceV

		smallKnobAndTextField( g, "Offset " .. LR,			"Offset",	x, y, kTextW )
		x = x + kKnobSpace
		smallKnobAndTextField( g, "Multiplier " .. LR,		"Scale",	x, y, kTextW )
		x = x + kKnobSpace
		smallKnobAndTextField( g, "Start Step " .. LR,			"Start",	x, y )
		x = x + kKnobSpace
		smallKnobAndTextField( g, "Length In Steps " .. LR,		"Length",	x, y )
		x = x + kKnobSpace
		smallKnobAndTextField( g, "End Step " .. LR,			"End",	x, y )
		x = x + kKnobSpace

		return g
	end

	local function makeResetGroup( LR, id, title )
		g = group( title )
		
		local x = 0
		local y = 0

		theKnobRenderer = smallKnobRenderer

		labelledDropDown( g, "Signal Input " .. LR, "Signal", x, y+1.5*kLabelSpaceV, kKnobSize )
		labelledDropDown( g, "Input Mode " .. LR, "Input Mode", x+kKnobSpace, y+1.5*kLabelSpaceV, kDropdownW )
		labelledDropDown( g, "Trigger Input " .. LR, "Trigger", x, y+0*kLabelSpaceV, kKnobSize )
		labelledDropDown( g, "Reset Input " .. LR, "Reset", x, y+3*kLabelSpaceV, kKnobSize )
		labelledDropDown( g, "Reset By Note " .. LR, "Reset Mode", x+kKnobSpace, y+3*kLabelSpaceV, kDropdownW )
		x = x + kKnobSpace + kDropdownW + 2*pad
		smallKnobAndTextField( g, "Reset Note Min " .. LR,		"Reset Min",		x, y + kKnobSpaceV, nil, "%.0f" )
		smallKnobAndTextField( g, "Trigger Note Min " .. LR,		"Trigger Min",		x, y, nil, "%.0f" )
		x = x + 1.5*kKnobSpace
		smallKnobAndTextField( g, "Reset Note Max " .. LR,		"Reset Max",		x, y + kKnobSpaceV, nil, "%.0f" )
		smallKnobAndTextField( g, "Trigger Note Max " .. LR,		"Trigger Max",		x, y, nil, "%.0f" )
		x = x + kKnobSpace

		return g
	end

	local function makeRandomGroup( LR, id, title )
		g = group( title )
		
		local x = 0
		local y = 0
		local y2 = y + kKnobSpaceV

		theKnobRenderer = smallKnobRenderer
		
		local kButtonH = 20

		labelledDropDown( g, "Random Mode " .. LR, "Mode", x, y, kDropdownW )
		y = y + 30
		g:add( paramButton( "Random Set Next " .. LR, "Set Next", x, y, kDropdownW, kButtonH ) )
		y = y + 30
		g:add( paramButton( "Random Enable " .. LR, "Enable", x, y, kDropdownW, kButtonH ) )
		y = 0
		x = x + kDropdownW + pad
		smallKnobAndTextField( g, "Register Length " .. LR,		"Length",		x, y2, kTextW )
		smallKnobAndTextField( g, "DAC Bits " .. LR,		"DAC Bits",		x, y, kTextW )
		x = x + 1.5*kKnobSpace
		smallKnobAndTextField( g, "Randomness " .. LR,		"Randomness",		x, y, kTextW )

		return g
	end

	local function makeUtilGroup( LR, id, title)
		g = group( title )
		
		local x = 0
		local y = 0
		--local y2 = y + kKnobSpaceV
		--theKnobRenderer = smallKnobRenderer
		
		local kButtonH = 20
		
		g:add( luaButton(function() randDist(LR) end, "Random", "Randomize Distribution " ..LR, "push", x, y, kDropdownW, kButtonH))
		y = y + 25
		g:add( luaButton(function() shiftR(LR) end, "Shift R", "Shift Right " ..LR, "push", x, y, kDropdownW, kButtonH))
		y = y + 25
		g:add( luaButton(function() shiftL(LR) end, "Shift L", "Shift Left " ..LR, "push", x, y, kDropdownW, kButtonH))
		x = x + kDropdownW + pad
		y = 0
		g:add( luaButton(function() procEuclid(LR) end, "Euclidean", "Create Euclidean Rhythm " ..LR, "push", x, y, kDropdownW, kButtonH))
		y = y + 25
		g:add( luaButton(function() reverse(LR) end, "Reverse", "Reverse Pattern " ..LR, "push", x, y, kDropdownW, kButtonH))
		y = y + 25
		g:add( luaButton(function() invert(LR) end, "Invert", "Invert Pattern " ..LR, "push", x, y, kDropdownW, kButtonH))
		x = x + kDropdownW + pad
		y = 0
		g:add( luaButton(function() quadruple(LR) end, "4x", "Quadruple Pattern Length " ..LR, "push", x, y, kDropdownW, kButtonH))
		y = y + 25
		g:add( luaButton(function() triple(LR) end, "3x", "Triple Pattern Length " ..LR, "push", x, y, kDropdownW, kButtonH))
		y = y + 25
		g:add( luaButton(function() double(LR) end, "2x", "Double Pattern Length " ..LR, "push", x, y, kDropdownW, kButtonH))
		x = x + kDropdownW + pad
		y = 0
		g:add( luaButton(function() clear(LR) end, "Clear All", "Clear Pattern " ..LR, "push", x, y, kDropdownW, kButtonH))
		y = y + 25
		g:add( luaButton(function() shuffle(LR) end, "Shuffle", "Shuffle Pattern " ..LR, "push", x, y, kDropdownW, kButtonH))
		return g
	end
		
	-- make groups and knobs
	--

	theKnobRenderer = smallKnobRenderer

	miscGroup = group( "OSC" )
	smallKnobAndTextField( miscGroup, "OSC Port Offset",	"Port",		0*kKnobSpace, 0 )
	miscGroup:setVisible( false )

	local mainGroup = {}
	mainGroup.L = knobGroup( "L", 0, "Left Channel" )
	mainGroup.R = knobGroup( "R", 1, "Right Channel" )
	
	local resetGroup = {}
	resetGroup.L = makeResetGroup( "L", 0, "Left Channel" )
	resetGroup.R = makeResetGroup( "R", 1, "Right Channel" )
	resetGroup.L:setVisible( false )
	resetGroup.R:setVisible( false )

	local randomGroup = {}
	randomGroup.L = makeRandomGroup( "L", 0, "Left Channel" )
	randomGroup.R = makeRandomGroup( "R", 1, "Right Channel" )
	randomGroup.L:setVisible( false )
	randomGroup.R:setVisible( false )

	local utilGroup = {}
	utilGroup.L = makeUtilGroup( "L", 0, "Left Channel" )
	utilGroup.R = makeUtilGroup( "R", 1, "Right Channel" )
	utilGroup.L:setVisible( false )
	utilGroup.R:setVisible( false )
	
	-- positions!

	local xbase = windowEdgePad
	local ybase = windowEdgePad
	local x = xbase
	local y = ybase
	
	mainGroup.R:setPosition( x, y, true )
	resetGroup.R:setPosition( x, y, true )
	randomGroup.R:setPosition( x, y, true )
	utilGroup.R:setPosition( x, y, true )
	x = x + mainGroup.R:width() + pad
	local stepEdX = x
	
	miscGroup:setPosition( x, y, true )
	x = x + miscGroup:width() + pad
	
	x = xbase
	y = y + mainGroup.R:height() + pad
	local randomRightY = y
	y = y + kRandomH + pad
	local ybase2 = y
	
	mainGroup.L:setPosition( x, y, true )
	resetGroup.L:setPosition( x, y, true )
	randomGroup.L:setPosition( x, y, true )
	utilGroup.L:setPosition( x, y, true )
	x = x + mainGroup.L:width() + pad
	
	y = y + mainGroup.L:height() + pad
	local randomLeftY = y

	-- add directly positioned objects
	--

	local stepEds = {}
	stepEds.R = stepEditor( 1, stepEdX, ybase, kWaveformW, kWaveformH )
	setStepEditorColours( stepEds.R )
	add( stepEds.R )
	stepEds.L = stepEditor( 0, stepEdX, ybase2, kWaveformW, kWaveformH )
	setStepEditorColours( stepEds.L )
	add( stepEds.L )
	
	local bigEdW = stepEdX+kWaveformW-xbase
	local bigEds = {}
	bigEds.R = stepEditor( 1, xbase, ybase, bigEdW, kWaveformH )
	setStepEditorColours( bigEds.R )
	add( bigEds.R )
	elementSetVisible( bigEds.R, false )
	bigEds.L = stepEditor( 0, xbase, ybase2, bigEdW, kWaveformH )
	setStepEditorColours( bigEds.L )
	add( bigEds.L )
	elementSetVisible( bigEds.L, false )

	local function buttonRow( LR, id, x, y )
		local x, y = x, y
		local kButtonW = 60
		add( luaButton( function() _button1( mainGroup[LR], resetGroup[LR], randomGroup[LR], utilGroup[LR], stepEds[LR], bigEds[LR] ) end, "Main", "Show main controls", "push", x, y, kButtonW, kRandomH ) )
		x = x + kButtonW + pad
		add( luaButton( function() _button2( mainGroup[LR], resetGroup[LR], randomGroup[LR], utilGroup[LR], stepEds[LR], bigEds[LR] ) end, "Inputs", "Show input/reset/trigger controls", "push", x, y, kButtonW, kRandomH ) )
		x = x + kButtonW + pad
		add( luaButton( function() _button3( mainGroup[LR], resetGroup[LR], randomGroup[LR], utilGroup[LR], stepEds[LR], bigEds[LR] ) end, "Random", "Show random random controls", "push", x, y, kButtonW, kRandomH ) )
		x = x + kButtonW + pad
		add( luaButton( function() _button4( mainGroup[LR], resetGroup[LR], randomGroup[LR], utilGroup[LR], stepEds[LR], bigEds[LR] ) end, "Utility", "Show utility processor", "push", x, y, kButtonW, kRandomH ) )
		x = x + kButtonW + pad
		add( luaButton( function() _button5( mainGroup[LR], resetGroup[LR], randomGroup[LR], utilGroup[LR], stepEds[LR], bigEds[LR] ) end, "Big", "Show big step editor", "push", x, y, kButtonW, kRandomH ) )
		x = x + kButtonW + pad
		local reg = randomRegister( id, stepEdX, y, kRandomW, kRandomH )
		setRandomRegisterColours( reg )
		add( reg )
	end
	
	buttonRow( "L", 0, xbase, randomLeftY )
	buttonRow( "R", 1, xbase, randomRightY )

end		-- of createUI()

_button1 = function( g, rg, rndg, utlg, s, b )
	g:setVisible( true )
	rg:setVisible( false )
	rndg:setVisible( false )
	utlg:setVisible( false )
	elementSetVisible( s, true )
	elementSetVisible( b, false )
	redrawLabels()
end

_button2 = function( g, rg, rndg, utlg, s, b )
	g:setVisible( false )
	rg:setVisible( true )
	rndg:setVisible( false )
	utlg:setVisible( false )
	elementSetVisible( s, true )
	elementSetVisible( b, false )
	redrawLabels()
end

_button3 = function( g, rg, rndg, utlg, s, b )
	g:setVisible( false )
	rg:setVisible( false )
	rndg:setVisible( true )
	utlg:setVisible( false )
	elementSetVisible( s, true )
	elementSetVisible( b, false )
	redrawLabels()
end

_button4 = function( g, rg, rndg, utlg, s, b )
	g:setVisible( false )
	rg:setVisible( false )
	rndg:setVisible( false )
	utlg:setVisible( true )
	elementSetVisible( s, true )
	elementSetVisible( b, false )
	redrawLabels()
end

_button5 = function( g, rg, rndg, utlg, s, b )
	g:setVisible( false )
	rg:setVisible( false )
	rndg:setVisible( false )
	utlg:setVisible( false )
	elementSetVisible( s, false )
	elementSetVisible( b, true )
	redrawLabels()
end

shiftL = function(LR)
	local length = getParameter("Length In Steps " ..LR)
	local s = LuaStack()
	for i = 1, length do
		s:push(getParameter("Step " ..i .." " ..LR))
	end
	for i = length - 1, 1, -1 do
		setParameter("Step " ..i .." " ..LR, s:pop(1))
	end
	setParameter("Step " ..length .." " ..LR, s:pop(1))
end

shiftR = function(LR)
	local length = getParameter("Length In Steps " ..LR)
	local s = LuaStack()
	for i = length, 1, -1 do
		s:push(getParameter("Step " ..i .." " ..LR))
	end
	for i = 2, length do
		setParameter("Step " ..i .." " ..LR, s:pop(1))
	end
	setParameter("Step 1 " ..LR, s:pop(1))
end

randDist = function(LR)
	local length = getParameter("Length In Steps " ..LR)
	local s = LuaStack()
	local count ={}
	local k, val
	for i = 1, length do
		s:push(getParameter("Step " ..i .." " ..LR))
		table.insert(count, i)
	end
	for i = 1, length do
		k = math.random(table.getn(count))
		setParameter("Step " ..i .." " ..LR, s[count[k]])
		table.remove(count, k)
	end
end

invert = function(LR)
	local length = getParameter("Length In Steps " ..LR)
	local range = getParameter("Range Mode " ..LR)
	local s = LuaStack()
	local k = 0
	for i = 1, length do
		s:push(getParameter("Step " ..i .." " ..LR))
	end
	if range == 1 then -- bipolar
		for i = length, 1, -1 do
			setParameter("Step " ..i .." " ..LR, (s:pop(1) * -1))
		end
	else -- unipolar
		for i = length, 1, -1 do
			k = 1 - s:pop(1)
			if k > 1 then
				setParameter("Step " ..i .." " ..LR, 1)
			elseif k < 0 then
				setParameter("Step " ..i .." " ..LR, 0)
			else
				setParameter("Step " ..i .." " ..LR, k)
			end
		end
	end
end

reverse = function(LR)
	local length = getParameter("Length In Steps " ..LR)
	local s = LuaStack()
	for i = 1, length do
		s:push(getParameter("Step " ..i .." " ..LR))
	end
	for i = 1, length do
		setParameter("Step " ..i .." " ..LR, s:pop(1))
	end
end

procEuclid = function(LR)
	local length = getParameter("Length In Steps " ..LR)
	local hits = getParameter("End Step " ..LR)
	euclidgen(length, hits, LR)
end

double = function(LR)
	local length = getParameter("Length In Steps " ..LR)
	local l2x = length * 2
	if l2x < 96 then
		local s = {}
		for i = 1, length do
			table.insert(s, getParameter("Step " ..i .." " ..LR))
		end
		setParameter("Length In Steps " ..LR, l2x)
		for i = 1, l2x do
			setParameter("Step " ..i .." " ..LR, s[math.ceil(i/2)])
		end
	end
end

triple = function(LR)
	local length = getParameter("Length In Steps " ..LR)
	local l3x = length * 3
	if l3x < 96 then
		local s = {}
		for i = 1, length do
			table.insert(s, getParameter("Step " ..i .." " ..LR))
		end
		setParameter("Length In Steps " ..LR, l3x)
		for i = 1, l3x do
			setParameter("Step " ..i .." " ..LR, s[math.ceil(i/3)])
		end
	end
end

quadruple = function(LR)
	local length = getParameter("Length In Steps " ..LR)
	local l4x = length * 4
	if l4x < 96 then
		local s = {}
		for i = 1, length do
			table.insert(s, getParameter("Step " ..i .." " ..LR))
		end
		setParameter("Length In Steps " ..LR, l4x)
		for i = 1, l4x do
			setParameter("Step " ..i .." " ..LR, s[math.ceil(i/4)])
		end
	end
end

clear = function(LR)
	for i = 1, 96 do
		setParameter("Step " ..i .." " ..LR, 0)
	end
end

shuffle = function(LR)
	local length = getParameter("Length In Steps " ..LR)
	local half = length / 2
	local back = LuaStack()
	local front = LuaStack()
	for i = length, length - math.floor(half) + 1, -1 do
		back:push(getParameter("Step " ..i .." " ..LR))
	end
	for i = length - math.floor(half), 1, -1 do
		front:push(getParameter("Step " ..i .." " ..LR))
	end
	for i = 1, length, 2 do
		setParameter("Step " ..i  .." " ..LR, front:pop(1))
	end
	for i = 2, length, 2 do
		setParameter("Step " ..i .." " ..LR, back:pop(1))
	end
end

-- based on algorithm from [url]http://www.hisschemoller.com/2011/euclidean-rhythms/[/url]
function euclidgen(len, hits, LR)
	local r = LuaStack()
	if hits >= len then
		for i = 1, len do
			setParameter("Step " ..i .." " ..LR, 1)
		end
	else
		local rests = len - hits
		if rests >= hits then
			local per_pulse = math.floor(rests/hits)
			local remainder = rests % hits
			for i = 0, hits - 1, 1 do
				r:push(1)
				for j = 0, per_pulse - 1, 1 do
					r:push(0)
				end
				if i < remainder then
					r:push(0)
				end
			end
		else
			local per_rest = math.floor((hits - rests) / rests)
			remainder = (hits - rests) % rests
			for i = 0, rests - 1, 1 do
				r:push(1)
				r:push(0)
				for j = 0, per_rest - 1, 1 do
					r:push(1)
				end
				if i < remainder then
					r:push(1)
				end
			end
		end
		--
		for i = len, 1, -1 do
			setParameter("Step " ..i .." " ..LR, r:pop(1))
		end
	end
end

-- taken from [url]http://snippets.luacode.org/snippets/stack_97[/url]
function LuaStack(t)
	local Stack = {
		push = function(self, ...)
			for _, v in ipairs{...} do
				self[#self+1] = v
			end
		end,
		pop = function(self, num)
			local num = num or 1
			if num > #self then
				error("stack underflow")
			end
			local ret = {}
			for i = num, 1, -1 do
				ret[#ret+1] = table.remove(self)
			end
			return unpack(ret)
		end
	}
	return setmetatable(t or {}, {__index = Stack})
end

Oldstench
Jun 29, 2007

Let's talk about where you're going.

WAFFLEHOUND posted:

So does a hammer to hit yourself in the dick with, which is arguably more efficient than hardware sampler/sequencers since at least you're getting instant percussion.

Stop kinkshaming me.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

renderful posted:

That's why Audio Damage copied it and is releasing it for EuroRack with all of the A4 sequencer's features and more: http://www.analogindustries.com/b1873/The+New+poo poo/

It looks like it, but the power of the Elektron sequencers is in the p-locks, and I don't see this having that feature unless I'm completely blind and missing a major bullet point.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

WAFFLEHOUND posted:

So am I missing some giant music theory secret to having a bass lower than an F#? I can't get a synth to play nice below that in any meaningful way, even with a filter on it.

D# phrygian :argh:

I can guarantee that synths can play bass notes below F#. Maybe your monitors aren't able to produce frequencies that low? Have you considered getting a sub? Other than that, you can add some overtones to the bass and use psychoacoustics to beef up the bass.

Oldstench
Jun 29, 2007

Let's talk about where you're going.
Eh gently caress bass anyway. Prince didn't need it for "When Doves Cry", so neither do you.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

Panda Time posted:

Diggin thru the eurorack modules trying to find various routing mixers that will take one audio input and fade between 2 or more outputs.

So far it seems like Mutable Instruments Frames can do this along was some other neat features..

It seems like a very basic utility to have for modular routing, and I can't seem to find any modules focused on this.

Well, you could rig this up with some basic building block modules. Mult your audio signal into 2 VCA inputs, turn one attenuator fully CW, the other fully CCW. Route the VCA outputs to a mixer. Mult your CV that will control your fade. The first signal goes into the VCA set fully CCW, the other goes into an inverter and then into the VCA turned CW. You may need to offset the inverted signal. As you increase the voltage on the CV the first VCA will fade in, the inverted signal will fade the signal from the second VCA out.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

Oldstench
Jun 29, 2007

Let's talk about where you're going.
I'm guessing you want hardware only, but for the money, the ValhallaDSP plugins (especially ValhallaVintageVerb) are just about perfect.

Oldstench
Jun 29, 2007

Let's talk about where you're going.
Anyone here have:
  • a modular
  • either an Expert Sleepers anything (6 outs total would be ideal; 3 gate/triggers, 3 CVs) or a DC coupled interface that can pass CVs
  • Reaktor
  • patience

If so, would you be willing to beta test something in about a week?

Oldstench
Jun 29, 2007

Let's talk about where you're going.
Getting close to finishing up my Reaktor-based Klee.

Sorry about the bad video quality. I think my camera is going bad.

https://www.youtube.com/watch?v=Revcy2jm0_0

Oldstench
Jun 29, 2007

Let's talk about where you're going.

breaks posted:

That looks really cool man. What are you using to clock it, and what are you using to get the signals to the modular? And what is the thing below it? I bet it would be a lot of fun with a Lemur template to control it.

It's just the Reaktor clock. Signals are running out of my MOTU into my Expert Sleepers ES-1. The thing below it is just the Echomania ensemble from the Reaktor library. Synths always sound better with delay.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

Panda Time posted:

Curious — is it possible to record CV as audio clips for the ES-1?

You need the ES-2 for that.

Oldstench
Jun 29, 2007

Let's talk about where you're going.
Wait, wait, wait, wait...

You people are trying to write music?

Oldstench
Jun 29, 2007

Let's talk about where you're going.
I brought my MKS-50 back from that great pawn shop in the sky and threw something together to welcome it back.
https://soundcloud.com/oldstench/kmk

Oldstench
Jun 29, 2007

Let's talk about where you're going.

ynohtna posted:

Funnily enough, seasoned, musicians who make experimental sounds always fall into the first category

We're just happy to have the gig, man.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

A MIRACLE posted:

Is anyone good at the Yamaha CS1x? I'm trying to sync the arpeggiator to the midi clock on my TR-8 but the TR-8 also happens to be sending on channel 10 which is triggering the drums on my CS1x. I can turn the drums off individually per preset on multi play mode (which is a huge menu-diving pain in the rear end) but can't get them out of the performance mode. Alternately, can I turn off omni / midi send on the TR-8 and still have it send the clock? I read the manual but it doesn't say if clock is exclusive of channel send.

I may be misunderstanding something here, but can't you just tell the CS1x to receive only on e.g. channel 1?

Oldstench
Jun 29, 2007

Let's talk about where you're going.

Dessert Rose posted:

It sounds a lot like there's a story behind this rant that I'd love to hear.

Being a DJ has helped me understand that one of the keys to success is making my promoter/soundguy/other event staff happy first and foremost. Especially the sound guy. If they aren't happy, no one's happy.

I blow everyone FOH before any show. Does wonders.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

net work error posted:

Sonicstate had a walkthrough on the new Modulus 002 and it's a high end synth (:20bux:) but it has some really cool features that I thought were interesting. Specifically the ability to actually edit your patches or sequences via a web browser and have them pushed to your synth. Even better is that this small company is open sourcing it to hopefully have other companies implement this feature as well. It could be a huge feature if it becomes popular.

https://www.youtube.com/watch?v=v7Hdb0hDL4E

I love that he equates it to a PRS. I guess that means it's unnecessarily overpriced and made for blues-dads?

Oldstench
Jun 29, 2007

Let's talk about where you're going.
New Gotharman sequencer - seems neat-o.
https://www.youtube.com/watch?v=GeQkJJ3dPbk

Oldstench
Jun 29, 2007

Let's talk about where you're going.

BKPR posted:

Why don't you loving nerds get into something cool, like measuring filter slopes?

Doesn't loving pay the bills.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

Scatterfold posted:

haha I've said that I did so I'm gonna show the goods: https://soundcloud.com/scatterfold/sets/davoren-arc. Three tracks I've done in the last few weeks, all with the same kit. Very Opal Tapes-y I think; so minimal, warm house if that's your thing.

Machinedrum UW+; Blofeld; Wavestation; MC-202; TR-606 and Reaktor. Lots (too much? no) sidechain compression and a lot of tape compression too. It's a bit of a departure in terms of my style, but the one thing I've always used are found sounds and recordings of things irl so they're here too. And radio static. And porn.

This isn't really my favorite style of music, but it's really well done and sounds great.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

Scatterfold posted:

Seasick House? Seahouse? New genre. you heard it here first on the something awful dot com forums

http://www.residentadvisor.net/feature.aspx?2131

Oldstench
Jun 29, 2007

Let's talk about where you're going.

WAFFLEHOUND posted:

Tehschulman has bad as gently caress opinions on the TB-3, so here's some pictures of the TB-3.

For anyone who saw my (apparently "goony as gently caress") Craigslist ad asking if anyone else was a talentless musician who wanted to jam, something actually came of it! After one 17 year old girl who played the drums and three people who wanted me to fill in spots in their pre-existing band, I met a guy with a worse case of GAS than me and with the same sense of his own future with synths. We grabbed coffee, hit it off, and then scheduled a time to meet up and jam. He likes techno, I like acid, soooooo it worked out pretty well on that front. We both had a TB-3, so I stuck my on a bass patch and we put his on lead, the Tempest pulled percussion duty. The Octatrack was just a clock because he hadn't really figured it out yet, and the A4 did some small amount of background garbage.

I'm also officially in love with the Sherman Filterbank :stare:



Are you going to be the next Blawan and Pariah?

Oldstench
Jun 29, 2007

Let's talk about where you're going.
Hey Waffles, you still selling the .MIX or did you already get rid of it?

Oldstench
Jun 29, 2007

Let's talk about where you're going.
LFO Ridas
10V Banditos
Make Noise Boyz

Oldstench
Jun 29, 2007

Let's talk about where you're going.


Hail Satan.

Oldstench
Jun 29, 2007

Let's talk about where you're going.
I don't keep an excel of who has what (except for you WAFFLEHOUND). Do any of you own a System-1? If so, care to give a mini-review?

Oldstench
Jun 29, 2007

Let's talk about where you're going.
Syro is so loving good.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

toadee posted:

Another Synthember bonus that I pooped out in about an hour after work. I bet the levels are all lovely because I can't mix for poo poo and I didn't care and also there's a Bleep Labs Thingamagoop solo so track is automatically dope.

https://soundcloud.com/david-gates-2/jfk-bass

Word, man.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

magiccarpet posted:

I think its about time for me to add some modular to my life. Looking to grab a core system to rig to Ableton. Does anybody have any particularlly strong feelings on either the Doepfer A-100 or the Pittsburgh Foundation 90? Thanks

IMHO, I wouldn't spring for a "core" system. Yes, you will get a functional modular synth experience right out of the gate, but you will also be spending a bunch of money on modules you may not want at full retail.

If you aren't already a member of Muffs, join up and check the For Sale/Trade forum daily. Practically every module will pass through there at some point, usually at around 80% (or more) off.

My suggested steps:
  1. Buy a case - used or new.
  2. Join Muffs and Watch the FST forum. Start slow. Pick up a VCO, VCA (or 2), EG, Filter, Mixer.
  3. Buy a lot of cables at Ad Infinitum (like, a lot - you will never have enough. Ever.)
  4. Play with your new modular and learn what you want/need.
  5. Repeat steps 2-4 (and occasionally 1 as necessary) until you are fulfilled (never) or run out of money (more likely).

Good luck.

Oldstench
Jun 29, 2007

Let's talk about where you're going.
Well, I just got a huge loving raise and am seriously considering getting a Komplete Kontrol S49. Can anyone with any NI hardware comment on their general build quality?

Oldstench
Jun 29, 2007

Let's talk about where you're going.

magiccarpet posted:

So what's everybody's favorite Moog style ladder filter for baby's first euro? Kinda feel this is the most important part to not gently caress up...

Doepfer A-120 is cheap and sounds just fine.
Synthesis Technology/MOTM E440 is a almost twice as much, but has 12, 18, and 24 db slopes and sounds amazing (has an awesome drive control).
The new Aion 904A Low Pass is basically a Moog LPF clone, but I don't have any experience with ordering from Aion.

Oldstench
Jun 29, 2007

Let's talk about where you're going.

magiccarpet posted:

How is everyone sequencing their modular? I figured I'd just drive it with Ableton but I'm starting to dig the HexInverter and that new Audio Damage gear.

I'm in so much trouble.

I have an ES-1 for computer sequencing, a Rene, RCD, PP+Brains, etc. for pure modular sequencing.

It's all good.

Except for everyone here pimping Access stuff. For the money you could get a billion VSTi's (and a new computer, and a really good controller keyboard), but eh... gently caress it - let's go bowling.

Adbot
ADBOT LOVES YOU

Oldstench
Jun 29, 2007

Let's talk about where you're going.

SineRider posted:

Wanted to put something up for OSCtober. Here is a track I'm currently working on created with the Makenoise Shared System and my homemade Atari Punk Console. However, everything was sequenced in Ableton Live. It still pretty rough mix-wise too

https://soundcloud.com/devin-powers-music/sketch-2-test-mix-1

Nice stuff. Love the MN SS.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply