electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » Developers' Corner
Just another digital wave generator
Post new topic   Reply to topic Moderators: DrJustice
Page 1 of 1 [17 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Thu Dec 12, 2019 12:48 am    Post subject: Just another digital wave generator
Subject description: And a link for free LABVIEW
Reply with quote  Mark this post and the followings unread

It will take at least some more weeks to finish the prototype, but I'm excited about this and am looking for some feedback.
Components are ordered, but since I will use a eeprom for storing waveforms (127 waveforms) I also will have to design an eeprom programmer...

So I stumbled upon the Adventure Kid website where I downloaded the wave forms.
These waveforms are all 600 samples long, and that is inconvenient for storing in an eeprom, so I designed a Labview program that resamples the AKWF files per whole directory in two type of 8-bit files of 512 samples: one for my (future) eeprom programmer, basically a bin file, and one you can use in a C or arduino program.

Example:
the .WAV file is posted below.

and the result:
Code:

byte AKWF_0001 [512] = {
128,    134,    139,    152,    158,    165,    172,    179,    185,    195,    198,    207,    214,    220,    226,    237,
242,    245,    249,    251,    253,    254,    254,    253,    252,    250,    248,    242,    239,    236,    232,    229,
221,    217,    212,    207,    202,    196,    184,    177,    170,    162,    155,    147,    131,    123,    115,    108,
101,    94,    83,    80,    75,    69,    64,    60,    53,    49,    46,    44,    42,    40,    38,    38,
38,    38,    38,    41,    42,    44,    46,    49,    51,    57,    60,    63,    66,    70,    73,    81,
84,    88,    92,    96,    100,    107,    111,    115,    118,    122,    125,    132,    135,    138,    141,    144,
146,    151,    153,    155,    157,    159,    162,    163,    163,    165,    166,    167,    168,    169,    169,    170,
170,    171,    171,    171,    172,    172,    172,    171,    171,    171,    170,    170,    170,    169,    168,    168,
167,    167,    166,    165,    164,    164,    163,    162,    161,    160,    159,    158,    157,    156,    155,    152,
151,    150,    149,    147,    146,    143,    142,    140,    139,    137,    136,    132,    131,    129,    127,    125,
122,    120,    118,    116,    115,    113,    109,    108,    106,    104,    103,    101,    98,    96,    95,    93,
92,    90,    88,    87,    85,    84,    83,    82,    80,    79,    78,    77,    77,    76,    75,    74,
74,    74,    73,    73,    73,    73,    73,    74,    74,    75,    76,    77,    78,    79,    80,    82,
83,    84,    86,    87,    89,    92,    93,    95,    96,    98,    99,    102,    103,    105,    106,    107,
109,    111,    112,    113,    114,    115,    117,    119,    119,    120,    120,    121,    122,    122,    123,    123,
123,    124,    125,    126,    127,    128,    129,    130,    133,    135,    137,    140,    142,    145,    152,    157,
161,    165,    168,    173,    178,    183,    188,    193,    198,    208,    213,    218,    222,    226,    229,    234,
236,    237,    238,    238,    237,    235,    233,    231,    229,    227,    224,    219,    216,    213,    210,    206,
199,    196,    192,    188,    183,    178,    168,    162,    156,    150,    143,    136,    122,    115,    108,    101,
94,    88,    76,    72,    67,    65,    61,    56,    48,    45,    42,    39,    37,    35,    32,    31,
30,    30,    30,    30,    31,    32,    34,    35,    37,    41,    44,    46,    49,    52,    54,    60,
64,    67,    70,    73,    77,    83,    87,    90,    93,    97,    100,    107,    110,    113,    116,    120,
123,    129,    132,    134,    137,    140,    145,    148,    150,    152,    154,    156,    160,    162,    164,    166,
167,    169,    171,    173,    174,    175,    176,    177,    178,    179,    180,    180,    181,    181,    182,    183,
183,    183,    183,    183,    183,    183,    183,    183,    182,    182,    181,    181,    180,    179,    179,    177,
176,    175,    174,    173,    171,    169,    167,    166,    164,    162,    161,    157,    156,    154,    152,    150,
146,    144,    142,    140,    138,    136,    132,    130,    128,    126,    124,    122,    119,    117,    115,    113,
111,    109,    105,    103,    102,    100,    98,    97,    93,    92,    90,    89,    87,    86,    83,    82,
80,    79,    78,    76,    75,    75,    74,    73,    73,    72,    72,    72,    72,    72,    72,    73,
73,    74,    75,    75,    76,    78,    78,    79,    80,    81,    82,    84,    84,    85,    86,    86,
86,    85,    85,    85,    85,    84,    84,    83,    83,    82,    81,    81,    80,    80,    79,    79,
80,    80,    81,    82,    83,    85,    86,    88,    93,    95,    98,    101,    104,    108,    117,    122
};


Posted Image, might have been reduced in size. Click Image to view fullscreen.

Laterrs Very Happy


wave001.PNG
 Description:
 Filesize:  7.53 KB
 Viewed:  10210 Time(s)

wave001.PNG



AKWF_0001.wav
 Description:
first AKWF file

Download
 Filename:  AKWF_0001.wav
 Filesize:  1.31 KB
 Downloaded:  541 Time(s)


_________________
my synth

Last edited by Grumble on Wed May 27, 2020 10:26 pm; edited 2 times in total
Back to top
View user's profile Send private message Visit poster's website
PHOBoS



Joined: Jan 14, 2010
Posts: 5591
Location: Moon Base
Audio files: 705

PostPosted: Fri Dec 13, 2019 1:09 am    Post subject: Re: Just another digital wave generator
Subject description: work in progress
Reply with quote  Mark this post and the followings unread

Grumble wrote:
So I stumbled upon the Adventure Kid website where I downloaded the wave forms.

Oh that might come in useful. I have a ton (or more) of EPROMs to play with and had been thinking of loading some with waveforms.
I did do a test with a triangle- and sinewave before which looked promising. Also tried some drumsounds I found (thanks to Blue
Hell for writing a program to convert the data so I could use it) but that was made for a somewhat odd DAC so rather useless.

At the moment I am working on a circuit, or mostly the code, for exploring EPROM data by scanning the addres lines.


EPROM Xplorer - 01.jpg
 Description:
 Filesize:  376.3 KB
 Viewed:  336 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

EPROM Xplorer - 01.jpg



_________________
"My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube
Back to top
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Wed May 27, 2020 3:38 am    Post subject: Reply with quote  Mark this post and the followings unread

I have used Labview a lot for work but since my retirement acces to Labview was not possible for me anymore, but luckily there is a solution to this problem.
In my diy world I just started to use Labview e.g. to make wave tables, and at the moment I'm using it to build a eeprom programmer.
The end-goal for now is to create wave forms from the Adventure Kids Waveforms, convert them with Labview to 512 byte waveforms and burn them in an eeprom (64k x 8 bit) in order to get a digital signal generator with 128 different waveforms.
HERE you can get the Labview Community Edition for free (at certain conditions)

LabVIEW Community Edition (FREE)

Use the same powerful graphical programming language that engineers and scientists use for your non-commercial personal projects.

The LabVIEW Community edition includes:

- Access to LabVIEW 2020 Community edition and LabVIEW NXG Community edition
- All of the capabilities found in the LabVIEW Professional editions
- The LINX toolkit for use with Raspberry Pi, BeagleBoard, and Arduino
- Access to the LabVIEW NXG Web Module for creating web-based applications

What Is LabVIEW?

LabVIEW offers a graphical programming approach to help you visualize every aspect of your application, including hardware configuration, measurement data, and debugging.

Benefits of using LabVIEW:

-Program the way you think with inuitive graphical programming
-Connect to almost any hardware with unparalleled hardware support
-Quickly gather and visualize data
-Interoperate with other software tools

(sorry if this looks like an advertisement, but I'm so happy with this offer and I'm sure there are more diy-ers who like to work with Labview for free Rolling Eyes

_________________
my synth
Back to top
View user's profile Send private message Visit poster's website
kaputtpanzer



Joined: Nov 02, 2009
Posts: 139
Location: Cologne
Audio files: 15

PostPosted: Wed May 27, 2020 5:21 am    Post subject: Reply with quote  Mark this post and the followings unread

Without reading all of it, I just wanted to say, that I would be very happy if somebody would build a wavetable oscillator with an arduino. Maybe one that takes CV or MIDI. I wanted to make one with the mozzi library, but I have to many other things in the pipeline rn.
Here is one article about DDS with timer interrupts, from my old art school, maybe I will try to implant midi into it someday: http://interface.khm.de/forums.html/lab/interfaces-advanced/arduino-dds-sinewave-generator/
Back to top
View user's profile Send private message Visit poster's website
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Wed May 27, 2020 7:38 am    Post subject: Reply with quote  Mark this post and the followings unread

I have designed and made several waveform generators with an Arduino.
My usual way of implementing is to use an AD9833 DDS for the timing.
I use the square wave output of the DDS as a clock signal for the address generator built with TTL counters (74LS193). The input frequency of the DDS is provided by the Arduino (16MHz). For the wave form storage I used a FIFO-register or RAM chip and the waveforms are created by the Arduino.


_________________
my synth
Back to top
View user's profile Send private message Visit poster's website
efluon



Joined: Jul 20, 2019
Posts: 8
Location: Hamburg

PostPosted: Wed May 27, 2020 11:19 am    Post subject: Reply with quote  Mark this post and the followings unread

kaputtpanzer wrote:
.. I would be very happy if somebody would build a wavetable oscillator with an arduino. Maybe one that takes CV or MIDI.


How about Shruti / Shruthi1 by pichenettes? The hybrid that started the rise of Mutable? It's in the github..
Back to top
View user's profile Send private message
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Wed May 27, 2020 10:30 pm    Post subject: Reply with quote  Mark this post and the followings unread

b.t.w. The two pictures in the first post of this thread (the one with the numbers and the one with the β€œscope” ) are both LabView outputs.

Just sayin’ Rolling Eyes

_________________
my synth
Back to top
View user's profile Send private message Visit poster's website
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Wed May 27, 2020 11:43 pm    Post subject: Reply with quote  Mark this post and the followings unread

First hardware step taken : the eeprom programmer for the 28c512
With this eeprom programmer I can get data from LabView and program the wave-forms in the eeprom for my Adventourus Wavetable Generator.


DSC_0025~3.JPG
 Description:
 Filesize:  1.31 MB
 Viewed:  309 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

DSC_0025~3.JPG



DSC_0024~2.JPG
 Description:
 Filesize:  797.49 KB
 Viewed:  281 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

DSC_0024~2.JPG



_________________
my synth
Back to top
View user's profile Send private message Visit poster's website
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Wed Jul 08, 2020 10:51 am    Post subject: Reply with quote  Mark this post and the followings unread



Finally I came to a point where there is actually sound coming out of the generator.
At this point (as shown in the video) the voltage controlled frequency works and the different waves can be chosen by means of a rotary encoder.

The adventure kid waveforms I use here are 512 bytes long*, so I had to make a 9 bit counter with a 74LS74 (LSB) followed by a 74LS590 for the next 8 bits.
These feed the eeprom directly while the last 7 bits of the eeprom are set by a 74HC595 in order to choose one of the 128 wave-forms.

*see remarks above


AdventurousSCH.pdf
 Description:

Download
 Filename:  AdventurousSCH.pdf
 Filesize:  162.31 KB
 Downloaded:  304 Time(s)


_________________
my synth
Back to top
View user's profile Send private message Visit poster's website
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Tue Jul 14, 2020 8:11 am    Post subject: Reply with quote  Mark this post and the followings unread

I have checked the datasheet of the DAC (it's a multiplying dac) and the reference voltage may be from 25 volt pos. to 25 volt neg. so I just have to feed this with an ADSR envelope control voltage, combine this with an offset potmeter and I'm set πŸ˜πŸ‘πŸ»
_________________
my synth
Back to top
View user's profile Send private message Visit poster's website
PHOBoS



Joined: Jan 14, 2010
Posts: 5591
Location: Moon Base
Audio files: 705

PostPosted: Tue Jul 14, 2020 9:34 am    Post subject: Reply with quote  Mark this post and the followings unread

that sounds great Razz , will have to read up and dive into it some other time.
VERY nice wiring on the EEPROM programmer btw!

_________________
"My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube
Back to top
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Tue Jul 14, 2020 9:58 am    Post subject: Reply with quote  Mark this post and the followings unread

In this first demo I just took a number of waves to use but at this moment the eeprom is loaded with more sought out waves.
The first four are triangle, square, sinus and saw-waves.

_________________
my synth
Back to top
View user's profile Send private message Visit poster's website
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Fri Jul 17, 2020 4:05 am    Post subject: Reply with quote  Mark this post and the followings unread

I have added a cv input amplifier, so I can set the output amplitude and can have an envelope as cv input.
Funny extra is that now I have a thru zero amplitude control Laughing which means that if I have chosen a saw wave with the ramp on the left side when sending a positive voltage to the input, first the output voltage amplitude gets smaller and when the cv goes negative the ramp will reappear on the right side.
This is due to the four quadrant multiplication of the used DAC.

_________________
my synth
Back to top
View user's profile Send private message Visit poster's website
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24079
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Fri Jul 17, 2020 7:56 am    Post subject: Reply with quote  Mark this post and the followings unread

Grumble wrote:
I have added a cv input amplifier, so I can set the output amplitude and can have an envelope as cv input.


That's very nice to have indeed, I've ended up with AM inputs on nearly all modules ... it's so cheap, nowadays / CPU cycle wise, in a digital system that it's almost a waste to not have it (:-)

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Fri Jul 17, 2020 2:31 pm    Post subject: Reply with quote  Mark this post and the followings unread

There is no processor involved in the amplitude control: I use the Vref input of the DAC directly from the cv mixer/amplifier.
_________________
my synth
Back to top
View user's profile Send private message Visit poster's website
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24079
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Fri Jul 17, 2020 2:33 pm    Post subject: Reply with quote  Mark this post and the followings unread

Yeah realized that after posting .. it's still a great idea.
_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
Grumble



Joined: Nov 23, 2015
Posts: 1294
Location: Netherlands
Audio files: 30

PostPosted: Fri Jul 17, 2020 2:35 pm    Post subject: Reply with quote  Mark this post and the followings unread

For your inner peace: I did use an ADC input of the processor for frequency cv πŸ––πŸ»πŸ˜ƒ
_________________
my synth
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic Moderators: DrJustice
Page 1 of 1 [17 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Developers' Corner
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use