I would like to hear your music made with Renoise or other Daws

lmao this is so cool

here’s a new HLER release - descriptions of Renoise relationship below:

Released June 13, 2025

Credits:
Written, produced and mixed by HLER (Heikki Lindgren, Esa Ruoho)

Heikki Lindgren: electric guitar, bowed lyre, live effects
Esa Ruoho: Pure Data, Ableton Live, Renoise with Paketti

Mastered by Jukka Andersson
Cover design Juuso Koponen

Signature Dark 2025
SD20D

6 Likes

Already listened to it on Spotify. Very nice!!!

1 Like

glad you liked it!! :slight_smile:
we have a library gig coming this 2nd july, let’s see what kinda gear heikki’s gonna use this time. maybe either monosynths or electric guitar or the bowed lyre. sometimes he uses flutes.
it’s all fun to loop and layer with them tools

2 Likes

5 Likes

4 Likes

That was pretty good JVS.Now why dont you use better sounds to make it stand out! Its a shame good music like this and other tracks in your soundcloud page to go unnoticed because of the sound selection.

Thank you very much. :slight_smile:
My main goal is to focus on the most important element: melody, and I’m really glad you like it.:slight_smile:

Is Korg M1 really that cheesy? :smiley:

1 Like

This definitely sounds like a Vektroid side project. I see why it might be divisive, but I kind of like it for that :smiley:

Yes and No, it depends on ones taste :smiley:

I think you are pretty good with melodies already and song structure,just try a different synth for a change

What @JVS is creating is basically ā€œAmiga soundā€ in a better sound quality that only needs 4 tracks. The sound selection fits to that style imho. So as long as he prefers to create that style, a different synth alone probably wouldn’t change anything. :wink:

Atmosphere!

@lilith
Spheres: Huge difference in comparison to the WIP when it comes to mixing. :+1:

1 Like

I didn 't post this track in the WIP section :smiley:

BTW. The Cover is made with python (and chatgpt):


from PIL import Image, ImageDraw, ImageFont
import random
import math

class GridSpheresWithEdges:
def __init__(self, width=900, height=900, rows=3, cols=3, background=(10, 10, 20), base_color=(255, 255, 255)):
self.width = width
self.height = height
self.rows = rows
self.cols = cols
self.background_color = background
self.base_color = base_color

self.image = Image.new("RGB", (self.width, self.height), self.background_color)
self.draw = ImageDraw.Draw(self.image)

self.positions = [] # Store centers of spheres

def _draw_sphere(self, x, y, radius, base_color):
size = radius * 2
sphere = Image.new("RGBA", (size, size), (0, 0, 0, 0))
draw = ImageDraw.Draw(sphere)

for r in range(radius, 0, -1):
alpha = int(255 * (r / radius) ** 2)
brightness = int(base_color[0] * (r / radius) ** 1.8)
color = (brightness, brightness, brightness, alpha)
draw.ellipse((radius - r, radius - r, radius + r, radius + r), fill=color)

self.image.paste(sphere, (x - radius, y - radius), sphere)

def _draw_arrow(self, start, end, arrow_color=(255, 0, 0), arrow_size=15, width=3):
# Draw line
self.draw.line([start, end], fill=arrow_color, width=width)

# Calculate arrowhead
angle = math.atan2(end[1] - start[1], end[0] - start[0])
arrow_angle = math.pi / 6 # 30 degrees

# Points for arrowhead
left = (end[0] - arrow_size * math.cos(angle - arrow_angle),
end[1] - arrow_size * math.sin(angle - arrow_angle))
right = (end[0] - arrow_size * math.cos(angle + arrow_angle),
end[1] - arrow_size * math.sin(angle + arrow_angle))

self.draw.polygon([end, left, right], fill=arrow_color)

def draw_grid_spheres(self):
cell_width = self.width // self.cols
cell_height = self.height // self.rows
self.positions.clear()

for row in range(self.rows):
for col in range(self.cols):
cx = col * cell_width + cell_width // 2
cy = row * cell_height + cell_height // 2
max_radius = min(cell_width, cell_height) // 2 - 10
radius = random.randint(max_radius // 2, max_radius)

self._draw_sphere(cx, cy, radius, self.base_color)
self.positions.append((cx, cy))

def draw_arrows_between(self, edges):
# edges = list of (from_index, to_index)
for from_idx, to_idx in edges:
start = self.positions[from_idx]
end = self.positions[to_idx]

# Adjust start and end points to be on the edge of the spheres:
# Rough approximation: shift start/end closer by some pixels
dx = end[0] - start[0]
dy = end[1] - start[1]
dist = math.hypot(dx, dy)
if dist == 0:
continue
offset = 30 # Adjust depending on avg radius
start_adj = (start[0] + dx * offset / dist, start[1] + dy * offset / dist)
end_adj = (end[0] - dx * offset / dist, end[1] - dy * offset / dist)

self._draw_arrow(start_adj, end_adj)

def show(self):
self.image.show()

def save(self, filename="grid_spheres_with_arrows.png"):
self.image.save(filename)

# ------------------------
# run
# ------------------------
if __name__ == "__main__":
art = GridSpheresWithEdges()
art.draw_grid_spheres()

# Example edges (from node index to node index)
example_edges = [
(0, 1),
(1, 2),
(3, 0),
(4, 8),
(7, 6),
(5, 4),
(2, 5),
]
art.draw_arrows_between(example_edges)

art.show()
art.save()
1 Like

My bad, I meant ā€œWavefunctionsā€. But ā€œSpheresā€ is nice, too. :sweat_smile:
Are you checking all the different styles now? Techno, Electro, Dub Techno, next stop Tech House?

1 Like

No Tech House. In the last three days I started with SuperCollider and I just ordered that book

https://academic.oup.com/book/55790

Thanks againšŸ™‚ i’m on right track then. I ofte doubt my self, so it really encourages me.
Dont Worry, i have some comming sogns using predator VST and samplesšŸ˜‰

Here comes my new Song, not hard to guess who inspired me here, for me still the the best Composer our time. Hope you enjoy this so much like me doing this spending several night hours. Used 100 % Renoise with dedicated ā€œSpaghetti Westernā€ Kontakt VSTs, Pulse and Omnisphere 2.

1 Like

Full of surprises from start to finish !!! Good work oleg71

1 Like

95% of sound design is done in Renoise

3 Likes