Hi Robert,
not Stargate-specific, just making sure you haven't missed some of the
Faust Reverb resources already out there:
https://faustdoc.grame.fr/examples/reverb/
https://ccrma.stanford.edu/~jos/pasp/FDN_Reverberators_Faust.html
and by extension this whole bit about verb ->
https://ccrma.stanford.edu/~jos/pasp/Artificial_Reverberation.html
this http://blog.reverberate.ca/post/faust-reverb/ and code on github
https://github.com/coreyker/KBVerb
another Faust reverb on github https://github.com/jpcima/fverb
All the best
Roland
Am 2021-06-22 12:29, schrieb Robert-André Vettel:
Hey again,
I've fixed an issue in my main.c and simulation data. The Stargate
circuit design has many quirks and I just recently found out that the
write address gets inverted somewhere down the line. So instead of
filling the DRAM from 0 - 16383 it starts at 16383 and counts down from
there. (Sidenote: I might at some point start a small video series
where I'm just rambling about all the interesting things I've
discovered). So once again, it should now be bit-perfect, as far as my
current understanding of the circuit goes.
To finally test my own research, I have started working on a Reaktor
ensemble, which you can find here:
https://www.native-instruments.com/de/reaktor-community/reaktor-user-library/entry/show/14155/
The feedback path still needs some tweaking and I'm having some issues
with comb-filtering, but the sound characteristics already show many
similarities to my own hardware unit.
Now about porting things to faust: I'm afraid my previous question
about arrays/tables/lists might have sounded like I'm unwilling to
rtfm. But the manual is actually the reason why I'm confused. The first
thing that pops up about lists is "Strictly speaking, there are no
lists in Faust." and the entry for rdtables talks exclusively about
calculating lookup-tables for oscillators: "[...] The table can either
be implemented by using the waveform primitive [...] or using a
function controlled by a timer (such as ba.time) [...]".
Best,
Robert
-------------------------
Von: Robert-André Vettel <ra.vet...@live.de>
Gesendet: Freitag, 11. Juni 2021 12:26
An: Robert-André Vettel <ra.vet...@live.de>; Gary Hall
<garyhall...@gmail.com>; Yann Orlarey <orla...@grame.fr>
Cc: faudiostream-users users
<faudiostream-users@lists.sourceforge.net>; Laurent Pottier
<laurent.pott...@univ-st-etienne.fr>
Betreff: AW: [Faudiostream-users] [Preservation] Porting a digital
reverb circuit to faust (Ursa Major Stargate 323)
Hey everyone,
I've finally hit a milestone. The /code/main.c file on my GitHub is a
working proof of concept of the internal hardware logic
(https://github.com/ravettel/UrsaMajorStargate323 [1]).
It will just generate a data stream of all the delay & gain values for
now, but as far as I can tell it should be bit perfect.
Unfortunately the code is very dependent on several large arrays (up to
2^13 bit wide) and I could not find much information about working with
large arrays/lists/tables in the FAUST docs.
Did I miss something? And if not, how could I approach this challenge?
Thanks & best regards,
Robert
-------------------------
Von: Robert-André Vettel <ra.vet...@live.de>
Gesendet: Montag, 26. April 2021 19:51
An: Gary Hall <garyhall...@gmail.com>; Yann Orlarey <orla...@grame.fr>
Cc: faudiostream-users users
<faudiostream-users@lists.sourceforge.net>; Laurent Pottier
<laurent.pott...@univ-st-etienne.fr>
Betreff: Re: [Faudiostream-users] [Preservation] Porting a digital
reverb circuit to faust (Ursa Major Stargate 323)
Thank you all very much. I'm really glad about all the positive
responses :)
I've uploaded the Service Manual, the raw eeprom dumps as well as some
other resources, on my GitHub
https://github.com/ravettel/UrsaMajorStargate323 [2]
(I had to previously remove all links, because my initial email was
flagged as spam).
You can also find PDFs of Christopher Moore's patents for the SST and
Stargate algorithms on google patents (US4303991A & US4268717A).
The service manual is quite long, but most of the circuit is explained
in detail from pages 8 to 16 and the schematics start at page 73. I've
also uploaded an OCR version. It should make reading/searching a bit
easier, but I haven't yet checked it for any OCR errors.
Anyway, here's a (sort of) quick overview of how this reverb works and
where I'm at:
The Stargate 323 is basically a mono-to-stereo multitap delay. Most of
the algorithm is stored across several different eproms, which
determine the read/write delays of each reverb tap as well as the
corresponding gain for the DA conversion. The address bits for most
eproms are set by the front panel switches for Program/PreDelay/Decay
as well as by several timing signals. The front panel switches are
4-bit gray-code rotary switches (s. page 73/74). There are 16 settings
for predelay, but only 8 settings for Program & Decay, which is why
there's some circuit trickery involved to get a revolving 3-bit output
from those switches. Many eproms also contain duplicate data, to
compensate for the redundant MSB of the Program/Decay switches. _[Note:
The gray-code switches were probably used in the original SST-282
Delay, so I assume it was cheaper to design with their already
available stock, instead of sourcing new switches. Also, instead of
just pulling the redundant MSBs of some switches to ground, they most
likely left them in place for future revisions. As a matter of fact,
the Stargate 323 was followed by the Stargate 626, which had exactly
the same design but featured additional decay times and a larger memory
array.]_
The timing signals start out simple, with an 8MHz clock and an 8bit
counter. So each machine frame consists of 256 bit times. The basic
timing circuit is located on Schematic 5 (p.77).
Here's where things get overwhelming for me very quickly. TC1 gets
inverted and the combined 8bit counter addresses two proms, generating
15 additional timing signals. All those signals pass through two 374
latches, TCB1 gets inverted twice and clocks the two additional "DAC
slot address counters" and by the end of the sheet I can't even tell
how TCB2 relates to the original non-inverted TC1 anymore. I can get a
basic idea of access times, rising edges, falling edges, latches,
flipflops, delays etc. through datasheets and youtube videos, but I
don't feel like I'll be able to confidently understand it all on my
own. So right now it's mostly about understanding the timing signals
and counters, so that I can answer questions like "What is the output
of the delay eprom at bit time 163".
Best,
Robert
-------------------------
Von: Gary Hall <garyhall...@gmail.com>
Gesendet: Montag, 26. April 2021 17:41
An: Yann Orlarey <orla...@grame.fr>
Cc: faudiostream-users users
<faudiostream-users@lists.sourceforge.net>; Laurent Pottier
<laurent.pott...@univ-st-etienne.fr>
Betreff: Re: [Faudiostream-users] [Preservation] Porting a digital
reverb circuit to faust (Ursa Major Stargate 323)
My first time to post. I'm not skilled with Faust, but I had a long
history with hardware digital reverby and fx. I cut my teeth at
Lexicon, let 1977 up through 1988, shortly after Chris Moore had left,
and just before David Griesinger showed up at the door with his
prototype digital reverb. I've remained involved with hardware digital
fx more then 40 year now. Still have a finger in
Emulating the Ursa Major 323 should not be a problem. I haven't seen
the schematics (I'd be happy to look at them and comment where I can),
but I'm confident that it's similar to Lexicon/Alesis/Eventide and so
on. The Spin FV-1 ichip is a very accessible example, and a great
platform.
For that matter, the FV-1 itself is not exactly an end-of-life part.
But it is in an evolutionary dead end. Keith Barr was an exceptional
engineer, across the board. But he's been dead now almost 11 years. Hi
final achievement has been stuck in time since then. If Barr had lived,
we'd be on multiple generations beyond the FV-1.
And yet the part is in manufacture still, and applied in any number of
highly viable products. This device needs to be ported and extended in
compilable form for implementation across a range of platforms.
So yeah, save the Ursa Major. But don't forget to rescue the FV-1 and
the classic architecture of hardware reverb and multi-fx.
GaryInThailand
On Mon, Apr 26, 2021 at 9:48 PM Yann Orlarey <orla...@grame.fr> wrote:
Hi,
The issue of preserving musical works and equipment is indeed very
important and is a challenge for Faust.
In 2008-2010 we incorporated in the compiler the possibility to
automatically generate the mathematical description of the computations
performed by a Faust program (faust2mathdoc) see
https://hal.archives-ouvertes.fr/hal-02158742/file/astree-icmc2010.pdf
[3].
At the Linux Audio Conference 2010, Sampo Savolainen presented a very
nice emulation of the Yamaha YC 20 written in Faust
(http://lac.linuxaudio.org/2010/recordings/day1_1215_Emulating_a_Combo_Organ.ogv
[4])
In France, Alain Bonardi and Laurent Pottier have worked a lot on these
issues and recreated a number of historical pieces in Faust.
Recently João Svidzinski and Vincent Tiffon have published an analysis
of "Songes" by Jean-Claude Risset with codes in Faust:
(we) are very happy to announce the publication of the analysis of
Jean-Claude Risset's Songes (1979) in the IRCAM Analyzes portal
(unfortunately only available in French at the moment) . This is a long
piece of work initially started with the participation of the composer
himself before his death in 2016. This analysis allows the reader to
get inside the code itself and discover Risset's world. This is a real
immersion in computer music of the 1970s.
https://brahms.ircam.fr/analyses/Songes/ [5]
So yes, this question is very important and I think it could be one of
the themes of IFC 2022!
Yann
Le lun. 26 avr. 2021 à 15:26, Giuseppe Silvi via Faudiostream-users
<faudiostream-users@lists.sourceforge.net> a écrit : Dear Robert,
I don't know the logic schematics you are speaking about, so I can't
define my experience coherent as you require. But you have used some
terms care to me: "open source" and "history alive". So I think it
could be an exciting project to be shared with a community, merging
experiences. Here you can find the SEAM project I founded:
https://github.com/s-e-a-m [6]
http://seam-world.slack.com/ [7]
SEAM is a small community, and (thanks to the Faust qualities) there
are some history pieces alive. (Reverbs are pieces of interest, like an
entire musical composition, like many other things):
If You have the pleasure to share something with us, maybe we can
discuss the experience we have to help you. Nevertheless, even if you
create your repository with some materials, I will look inside it and
consider how I can help.
I think it is a fascinating matter.
PS. the shortest answer to both your questions is yes.
Kind Regards
Giuseppe Silvi
On 24 Apr 2021, at 16:08, Robert-André Vettel <ra.vet...@live.de>
wrote:
Dear all,
since I'm going to get into quite a bit of detail, I'll start with the
tl;dr first :D
* has anyone experience with electronic logic circuits and might help
me to analyse and understand some schematics?
* is it possible to port an existing digital circuit (consisting of a
clock, timing signals, counters, latches and memory read/writes) into
Faust?
Now for the long version:
In 2019 I was fortunate enough to acquire an old Ursa Major Stargate
323 hardware reverb from the institute of musicology at the JGU Mainz
(thanks Albert!). Ursa Major was founded by Christopher Moore and is
mostly know for the Space Station Delay, which some industry
professionals still swear by. The Stargate 323 Reverb is an evolution
of the Space Station delay algorithms. Since those reverbs are very
rare and no official digital emulations exist, I want to try and help
keeping this piece of reverb history alive .
To be clear: I'm talking about straight up reverse-engineering here.
If the moderators think this is something that shouldn't be discussed
publicly on this list, please let me know. The Ursa Major brand was
sold to AKG in 1986 and no products have been released under this
brand since then. As far as I know all related patents have expired.
Christopher Moore previously continued working under the brand name
Seven Woods Audio, but the website is not available anymore and the
domain name is now for sale. I also want to make this project
completely open source and do not have any commercial intentions.
While the reverb algorithms are proprietary, the digital circuit
design is fairly simple by today's standards. Ursa Major was a small
company and inside is just a lot of 8bit EPROMS, Latches, Counters
etc. all clocked by an 8Mhz ceramic oscillator. No CPU or proprietary
silicon whatsoever. Because the entire circuit structure is completely
humanly readable, my idea is to just "port" the digital circuit into
modern software instead of trying to approximate the algorithms. So
far I have made quite some progress in understanding and analysing the
digital circuit components. The official service manual is incredibly
detailed and I have also dumped the contents of all eeproms. But I'm
just a hobbyist and if I want this project to succeed, I'm going to
need help. Which brings me back to my initial questions and this
mailing list :)
I'm happy to hear any questions/ideas/etc.!
Best,
Robert
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users [8]
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users [8]
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users [9]
--
Gary Hall
โสตะ-สติ: Mindfulness with Sound
http://soundcloud.com/hua-hin-sound-cloud [10]
ph. (0) 89 181 6328
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users
--
Roland Nebe
Flurstr. 68
D-40235 Düsseldorf
+49 171 1211162
rol...@makingsoundmachines.com
www.instagram.com/makingsoundmachines/ [11]
Links:
------
[1]
https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fravettel%2FUrsaMajorStargate323&data=04%7C01%7C%7Cc413ccc037374f8b14c708d92cc35b1d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637590039821931902%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=OkI7M8prQyyC%2BiukYjDixBWGeLyrvqTWEWxxsu5oPzc%3D&reserved=0
[2]
https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fravettel%2FUrsaMajorStargate323&data=04%7C01%7C%7Cc413ccc037374f8b14c708d92cc35b1d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637590039821941887%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4uKkTTxPLze6O1XocPNpDUpYx5Hjh5daV%2F7G76iPAXU%3D&reserved=0
[3]
https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhal.archives-ouvertes.fr%2Fhal-02158742%2Ffile%2Fastree-icmc2010.pdf&data=04%7C01%7C%7Cc413ccc037374f8b14c708d92cc35b1d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637590039821941887%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=0YcuKF9Y5YJ5EpZd0DJLpWQ4L5Um8aeFOYxahkHzCC8%3D&reserved=0
[4]
https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flac.linuxaudio.org%2F2010%2Frecordings%2Fday1_1215_Emulating_a_Combo_Organ.ogv&data=04%7C01%7C%7Cc413ccc037374f8b14c708d92cc35b1d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637590039821951881%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=EJuOQcrMxV%2BF4zErjqJ0rgvXI7dR2G9%2FrLd6c6AXFk0%3D&reserved=0
[5]
https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbrahms.ircam.fr%2Fanalyses%2FSonges%2F&data=04%7C01%7C%7Cc413ccc037374f8b14c708d92cc35b1d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637590039821961874%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=lkirK2AwK0vtbT1ApexeSjKXahja%2BcsQlYSicOfHhNo%3D&reserved=0
[6]
https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fs-e-a-m&data=04%7C01%7C%7Cc413ccc037374f8b14c708d92cc35b1d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637590039821961874%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=sTYq5seYqhhg%2BJzTbI%2BNZZ142qrQmSsrj3wq%2F2dq96I%3D&reserved=0
[7]
https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fseam-world.slack.com%2F&data=04%7C01%7C%7Cc413ccc037374f8b14c708d92cc35b1d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637590039821971871%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=EmtgPP2X4EI6JuIGNrqMgTYa8gz7XEqk3CpRAQgJU14%3D&reserved=0
[8]
https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Ffaudiostream-users&data=04%7C01%7C%7Cc413ccc037374f8b14c708d92cc35b1d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637590039821981870%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=aD8rS%2BU9%2FHpqAjDQJrdj50m8a6Ur31JRCTmqQJiDVsA%3D&reserved=0
[9]
https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Ffaudiostream-users&data=04%7C01%7C%7Cc413ccc037374f8b14c708d92cc35b1d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637590039821991858%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=GpOm3dJ2UWONrO%2BsMcqpPjefrL%2FiNqMKyQVEFQLuOlA%3D&reserved=0
[10]
https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsoundcloud.com%2Fhua-hin-sound-cloud&data=04%7C01%7C%7Cc413ccc037374f8b14c708d92cc35b1d%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637590039821991858%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cVaKW8ldk0PCk1hxkzAztr0m%2Bhgc1LLT1TpCySg65HU%3D&reserved=0
[11] http://www.instagram.com/makingsoundmachines/
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users