Hi there,

so you are asking how to implement the core algo, which is a tapped delayline. In FAUST you would do that by chaining prebuilt fdelay blocks (with modulated dl times). For 23 tabs there is a recursive solution. The time input need to be "wires" as the dl times are all modulated here. It is very different from C++ and tricky to do. Modulation is key BTW to achieve the original sound. Have you reverse engeeniered the random number generator?

Pseudo-FAUST-code:

Time1,Signal : fdelay <: bus(2) : _, Tap1 : etc.

for feedback you will use a ~ operator for all 23 tabs and cancel out the 8 main outs by using a '!' operator. Its ugly, basically, but possible.

-Urban


On Tue, 22 Jun 2021 12:29:28 +0200, Robert-André Vettel <ra.vet...@live.de> wrote:

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). 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 (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. 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)

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/

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->>us...@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
http://seam-world.slack.com/

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



_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


--Gary Hall
โสตะ-สติ: Mindfulness with Sound
http://soundcloud.com/hua-hin-sound-cloud
ph. (0) 89 181 6328



--
--
Urban Schlemmer
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to