User Tag List

Показано с 1 по 10 из 17

Тема: Таблично-волновой синтез.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Ого! А послушать его можно wav`кой?
    https://transfiles.ru/7oay1

    alco.asm - исходный код для генерации
    alco.psg - вывод в AY регистры записанный в PSG формате
    alco-panABC-raw.flac - результат на частоте сэмплирования AY эмуляции (432 кГц)
    alco-panABC-bandpass-15-20000.flac - результат после полосового фильтра 15 Гц - 20 кГц и децимации до сэмплрейта 48 кГц
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,822
    Спасибо Благодарностей отдано 
    274
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ZXMAK, Вот чудесам нет предела, ты напоминаешь мне чат-робота (DeepSeek) - попросил wav послушать - накидано чёрт-те что, ну я прям восхищён...
    Ладно, по случаю откомпилю, вдруг да прозвучит что-то...
    (и что за ересь PSG такое... я походу лихо отстал в звукогенерации, это попахивает вообще линухами, а не дай боже ещё и крэями...)
    Ох обленился, пора снова грызть теорию (думал на пенсию выйду - буду облизывать кванты-бозоны-немножечко лептонов, ан вот тут со звукообразованием затык)

  4. #3

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    попросил wav послушать - накидано чёрт-те что, ну я прям восхищён...
    Ладно, по случаю откомпилю, вдруг да прозвучит что-то...
    (и что за ересь PSG такое... я походу лихо отстал в звукогенерации, это попахивает вообще линухами, а не дай боже ещё и крэями...)
    FLAC - это тот-же WAV но со сжатием без потерь, правда поддерживает только целочисленный формат сэмплов и не все частоты дискретизации, но зато в 2 раза меньше места на диске занимает и использует сжатие без потерь, т.е. что записал, то в точности и прочитается - без искажений сигнала. У меня диск всего 64 GB, из них только 15 свободно, поэтому использую FLAC вместо WAV, где возможно. Звуковые редакторы и плееры его понимают на всех платформах, поэтому проблем быть не должно.

    PSG - это старый формат, грубо говоря лог записей в регистры AY, что удобно для воспроизведения без необходимости эмуляции Z80. В этом формате часто музыку для AY выкладывают. Был доступен еще в эмуляторе x128 и Z80Stealth:
    Код:
    PSG
    
    These files are produced by 'x128' Speccy Emulator by James McKey and 'fMSX' emulator (I never saw this one). x128 creates PSG with errors. Therefore more better to use 'Z80 Stealth' Speccy Emulator by Kirill Kolpakov (Mr.Kirill). This emulator contains special features for creating PSG files and also has good debugger which very simplifies PSG creating process. Z80 Stealth Home Page is http://z80.da.ru.
    
    This is all data about PSG found in Internet:
    
    Offset  Number of byte  Description
    +0      3               Identifier 'PSG'
    +3      1               Marker “End of Text” (1Ah)
    +4      1               Version number
    +5      1               Player frequency (for versions 10+)
    +6      10              Unknown
    
    Further byte strings follows. Each string begins from byte 0FFh or 0FEh. Byte 0FFh is marker of interrupt beginning. If after it byte exists (in range 0–15) then it is number of AY register, and next byte is value of this register. Further next pair of byte follows, first byte of which is register number, and second byte is register value. And so on, until end of file, or byte 0FFh (next interrupt), or byte 0FEh will be meet. Byte after 0FEh marker is multiplied by four is number of interrupts without outing to AY. For example sequence “FE 01 FF” is equivalent to sequence “FF FF FF FF FF”. If in PSG you will find register number in range 16–252, then you can ignore this and next byte (this is outing to other MSX devices).
    
    RDOSPLAY documentation describes yet another marker is 253 called as 'End Of Music', but this marker is not supported in Emulator.
    
    Also, RDOSPLAY documentation and some my researching of existing PSG-files talk about is more simple header of PSG. This header consists of only first 4 bytes of described header and outing log starts at +4 file offset (instead of +16). So, for correct playing this PSG, need to add zero to expanse header size to 16 bytes length. If you are trying to play such PSG-files without header correcting, you don't hear differences in the most cases.
    
    EPSG
    
    Z80 Stealth emulator creates these files. EPSG additionally contents information about time of outing to AY registers.
    
    Next text from z80s.faq file.
    
    Q: What is it – this EPSG format?
    A: It's PSG format improved just a bit to handle output of digitized samples 
    
    Here's the description:
    
    Offset	Length	Value
    ============================
    Header
    ============================
    0	4	'EPSG'
    4	1	0x1A marker
    5	1	Machine type: 0x00 – ZX Spectrum 128 0x01 – Pentagon
    		0xFF – Other machines
    6	4	Zero for machine type 0x00 and 0x01 or
    		Number of Z80 tacts between interrupt markers
    		for other machines
    10	6	zeroes
    ============================
    AY(YM) log during 1 frame
    ============================
    16	1	AY(YM) register number
    17	1	value written to this register
    18	3	T-state
    .....
    ??	5	0xFFFFFFFFFF – interrupt marker
    Последний раз редактировалось ZXMAK; 09.04.2025 в 02:29.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

    Эти 2 пользователя(ей) поблагодарили ZXMAK за это полезное сообщение:

    Denn(12.04.2025), Destr(11.04.2025)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Синтез 3
    от andreysur в разделе Несортированное железо
    Ответов: 9
    Последнее: 03.10.2023, 08:05
  2. Синтез-М
    от Trunk17 в разделе Несортированное железо
    Ответов: 40
    Последнее: 18.07.2021, 15:15
  3. Ремонт Синтез 2
    от JNipper в разделе Несортированное железо
    Ответов: 53
    Последнее: 28.04.2017, 18:09
  4. подарю СИНТЕЗ 2
    от Олег85 в разделе Барахолка (архив)
    Ответов: 13
    Последнее: 07.01.2011, 11:17
  5. Синтез гласных
    от Krenon в разделе Музыка
    Ответов: 9
    Последнее: 13.06.2007, 19:51

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •