Все Тут Online

Все Тут Online (https://vsetutonline.com/forum/index.php)
-   Раздел собственных оцифровок с винила (выполненные фонокорректором Prophetmaster Audio) (https://vsetutonline.com/forum/forumdisplay.php?f=964)
-   -   JEAN MICHEL JARRE - Zoolook - 1984. (ОЦИФРОВКА. 20.08.25. Polydor-POLH 15. UK) (https://vsetutonline.com/forum/showthread.php?t=278091)

bobrovich 20.08.2025 12:43

JEAN MICHEL JARRE - Zoolook - 1984. (ОЦИФРОВКА. 20.08.25. Polydor-POLH 15. UK)
 
https://i.postimg.cc/0jfYZdtV/thumb-...bd57c87a2c.png

TRACKLIST
https://disk.yandex.ru/d/P3QNvk2jqAt9TA

A1 Ethnicolor
A2 Diva
B1 Zoolook
B2 Wooloomooloo
B3 Zoolookologie
B4 Blah-Blah-Cafe
B5 Ethnicolor II

Дмитрий 20.08.2025 14:59


JEAN MICHEL JARRE – Zoolook (1984, Оцифровка 20.08.25, Polydor – POLH 15, UK)

Общая информация
Название альбома: Zoolook
Исполнитель: Жан-Мишель Жарр (Jean Michel Jarre)
Год выпуска: 1984
Оцифровка: 20.08.25 (виниловая версия)
Лейбл: Polydor – POLH 15 (UK)
Жанр: Electronic, Synth-Pop, Experimental, World Music
Формат: LP (винил), стерео

Описание: «Zoolook» – четвертый студийный альбом французского композитора Жана-Мишеля Жарра, выпущенный в 1984 году. Этот альбом выделяется своим новаторским подходом, основанным на использовании сэмплов человеческих голосов из более чем 30 языков, включая французский, английский, арабский, китайский и языки коренных народов. Название «Zoolook» отсылает к идее «звукового зоопарка», где голоса становятся инструментами, переплетаясь с синтезаторными текстурами. Альбом сочетает элементы синти-попа, экспериментальной электроники и этнической музыки, создавая уникальное звучание. Треки «Zoolook» и «Zoolookologie» стали знаковыми, подчеркивая инновационность Жарра. Оцифровка британского винилового издания Polydor – POLH 15 от 20.08.25 сохраняет теплый аналоговый звук с легким виниловым треском, добавляя ретро-атмосферу. Альбом получил признание за смелый эксперимент и остается вехой в электронной музыке.

Об издании
«Zoolook» выпущен в 1984 году на виниле (LP) лейблом Polydor (POLH 15, UK). Британское издание известно своим качественным прессингом, обеспечивающим четкое и насыщенное звучание. Оцифровка от 20.08.25 сохраняет аналоговую теплоту с легким виниловым треском, подчеркивая аутентичность записи. Обложка, созданная художником Марком Фишером, изображает абстрактное лицо, символизирующее многообразие человеческих голосов. Винил включает семь треков, разделенных на стороны A и B. Качество записи отражает использование передовых технологий того времени, включая синтезаторы Fairlight CMI, EMS Synthi AKS и Roland TR-808.

Об исполнителе
Жан-Мишель Жарр: Жан-Мишель Жарр (родился 24 августа 1948 года, Лион, Франция) – пионер электронной музыки, композитор и продюсер. Сын композитора Мориса Жарра, он прославился благодаря альбому «Oxygène» (1976), а «Zoolook» стал его самым экспериментальным проектом. Жарр известен масштабными концертами с лазерными шоу и инновационным подходом к музыке. Его работы, включая «Magnetic Fields» (1981) и «Rendez-Vous» (1986), продолжили развивать жанр, а «Zoolook» выделяется уникальным использованием вокальных сэмплов.

Tracklist (с переводом и описанием)
Сторона A:
A1. Ethnicolor
Эпический вступительный трек, сочетающий этнические вокальные сэмплы с многослойными синтезаторными текстурами, создающий кинематографическую атмосферу.
A2. Diva
Композиция с вокалом Лори Андерсон, где голосовые сэмплы переплетаются с синтезаторами, создавая футуристическое звучание.

Сторона B:
B1. Zoolook
Заглавный трек, динамичный и экспериментальный, с акцентом на обработанные вокальные сэмплы, задающий тон альбома.
B2. Wooloomooloo
Короткий атмосферный трек, вдохновленный австралийскими мотивами, с минималистичными синтезаторными линиями.
B3. Zoolookologie
Энергичный и танцевальный трек, один из самых популярных в альбоме, с ритмичными секвенциями и обработанными голосами.
B4. Blah-Blah-Cafe
Игривая композиция с джазовыми элементами и вокальными сэмплами, создающая ощущение городской суеты.
B5. Ethnicolor II
Финальный трек, возвращающий к эпической атмосфере «Ethnicolor», завершая альбом на медитативной ноте.

Участники записи:

- Жан-Мишель Жарр: Композитор, синтезаторы (Fairlight CMI, EMS Synthi AKS, Roland TR-808, Yamaha CS-80, Moog), продюсер.
- Лори Андерсон: Вокал (Diva).
- Марк Фишер: Художник обложки.
- Студия: Croissy Studio, Франция; Clinton Recording Studios, Нью-Йорк.


Музыкальный стиль и значение:
«Zoolook» выделяется своим экспериментальным подходом, комбинируя синти-поп, амбиент и мировую музыку с использованием вокальных сэмплов. Альбом стал пионерским в применении цифрового сэмплирования (Fairlight CMI), что повлияло на развитие электронной музыки и таких жанров, как техно и хаус. «Zoolookologie» и «Zoolook» стали хитами, демонстрируя танцевальный потенциал альбома. Оцифровка британского винила от 20.08.25 подчеркивает аналоговую теплоту, делая альбом ценным для коллекционеров и поклонников ретро-электроники. Альбом вдохновил таких артистов, как Moby и The Orb.

Сравнение с другими работами:

- По сравнению с «Oxygène» (1976) и «Équinoxe» (1978), «Zoolook» более экспериментальный за счет вокальных сэмплов и этнических мотивов.
- В отличие от «Magnetic Fields» (1981), альбом менее ритмичный, но более инновационный в использовании цифровых технологий.
- По сравнению с «Rendez-Vous» (1986), «Zoolook» более авангардный и менее ориентирован на массовую аудиторию.


Дополнительная информация:

- Альбом записан в Croissy Studio (Франция) и Clinton Recording Studios (Нью-Йорк) в 1983–1984 годах.
- Коллекционная ценность: Британское издание Polydor – POLH 15 (1984) ценится за качество прессинга и чистоту звука. Оцифровка от 20.08.25 делает альбом доступным для современных слушателей, сохраняя ретро-атмосферу.
- Связь с хобби: Оцифровка альбома идеальна для энтузиастов винила и коллекционеров, ценящих экспериментальную электронику 1980-х.


Уникальная особенность: «Zoolook» (1984, оцифровка 20.08.25) – новаторский альбом, использующий вокальные сэмплы из разных языков мира. Британское виниловое издание Polydor – POLH 15 идеально подходит для коллекционеров, сохраняя аутентичный звук 1980-х.

Дмитрий 20.08.2025 15:09

Цитата:

Сообщение от Дмитрий (Сообщение 800413)
«Zoolook» более экспериментальный за счет вокальных сэмплов и этнических мотивов.

В альбоме Jean Michel Jarre – Zoolook (1984) вокальные сэмплы и этнические мотивы играют ключевую роль, делая его уникальным экспериментом в электронной музыке.

Вокальные сэмплы в альбоме «Zoolook»
Вокальные сэмплы в «Zoolook» представляют собой обработанные фрагменты человеческих голосов, записанные на разных языках мира. Жарр использовал цифровой синтезатор Fairlight CMI для обработки этих сэмплов, превращая их в музыкальные элементы. Вот основные языки и типы вокальных сэмплов:

Французский: Короткие вокальные фразы, часто обработанные для создания ритмических или мелодичных эффектов, особенно в треках «Ethnicolor» и «Diva».

Английский: Вокальные сэмплы, включая голос Лори Андерсон в «Diva», где её голос используется как текстура, смешанная с синтезаторами.

Арабский: Этнические вокальные мотивы, добавляющие восточный колорит, заметны в «Ethnicolor» и «Ethnicolor II».

Китайский (мандаринский): Короткие фразы, обработанные для создания экзотического звучания, особенно в «Zoolook».

Японский: Сэмплы с японскими вокальными интонациями, добавляющие азиатский оттенок, слышны в «Zoolookologie».

Африканские языки (возможно, суахили или банту): Ритмичные вокальные фрагменты, использованные для создания tribal-атмосферы в «Ethnicolor» и «Zoolook».

Языки коренных народов (например, эскимосские или индейские): Уникальные вокальные звуки, добавляющие архаичное звучание, особенно в «Ethnicolor II».

Русский: Короткие сэмплы, возможно, из народных песен или разговоров, обработанные для создания текстур в «Zoolook» и «Blah-Blah-Cafe».

Жарр собирал сэмплы через этнографические записи, включая полевые исследования, что делает точный список языков сложным для составления без оригинальной документации. Сэмплы обрабатывались с помощью Fairlight CMI, чтобы звучать как инструменты, а не как узнаваемые слова.

Этнические мотивы в альбоме «Zoolook»
Этнические мотивы в «Zoolook» проявляются через использование вокальных сэмплов, ритмов и атмосфер, вдохновленных культурами разных народов. Они интегрированы в электронную основу альбома, создавая уникальное сочетание world music и синти-попа.

Основные этнические мотивы:

Африканские ритмы: В «Ethnicolor» и «Zoolook» используются tribal-ритмы, напоминающие африканские барабанные паттерны, созданные с помощью Roland TR-808 и вокальных сэмплов.

Восточные (арабские) интонации: В «Ethnicolor» и «Ethnicolor II» слышны мелодии, вдохновленные арабской музыкой, с характерными вокальными сэмплами и синтезаторными линиями, имитирующими восточные инструменты.

Азиатские мотивы: В «Wooloomooloo» и «Zoolookologie» присутствуют элементы, вдохновленные австралийскими аборигенными и азиатскими культурами (например, японскими или китайскими интонациями), выраженные через вокальные сэмплы и минималистичные синтезаторные текстуры.

Латиноамериканские ритмы: Трек «Blah-Blah-Cafe» включает элементы, напоминающие латиноамериканский джаз, с игривыми ритмами и вокальными сэмплами.

Эскимосские/арктические мотивы: В «Ethnicolor II» используются сэмплы, напоминающие пение коренных народов Севера, создавая холодную, атмосферную звуковую палитру.

Технология: Жарр использовал Fairlight CMI для сэмплирования и обработки голосов, что позволило создать уникальный «звуковой зоопарк» (отсылка к названию альбома).

Вокальные сэмплы часто превращались в ритмические или мелодические элементы, а не в узнаваемые слова.

Этнические мотивы не копируют традиционную музыку напрямую, а интерпретируются через призму электроники, что делает «Zoolook» мостом между world music и экспериментальной электроникой.

В контексте нашего предыдущего обсуждения обсуждения о «колхозных дискотеках» и западной эстраде в Москве, «Zoolook» не был редкостью в столице СССР в 1984 году. Его могли слушать на подпольных вечеринках или через копии, привезенные фарцовщиками.

Для сравнения с другими альбомами Жарра, послушайте «Oxygène» или «Magnetic Fields», где меньше этнических элементов, но больше классической электроники.

bergedorf 14.09.2025 09:38

Jean-Michel Jarre - Zoolook (1985).cue
 
REM GENRE Electronic
REM DATE 1985
REM COMMENT "ОЦИФРОВКА. 20.08.25. Polydor-POLH 15. UK"
REM LABEL Polydor
REM LABELNUMBER "823 763-1"
PERFORMER "Jean-Michel Jarre"
TITLE "Zoolook"
FILE "1 СТОРОНА.wav" WAVE
TRACK 01 AUDIO
TITLE "Ethnicolor"
PERFORMER "Jean-Michel Jarre"
REM COMPOSER "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre"
INDEX 01 00:00:00
TRACK 02 AUDIO
TITLE "Diva"
PERFORMER "Jean-Michel Jarre"
REM COMPOSER "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre"
INDEX 01 11:44:39
FILE "2 СТОРОНА.wav" WAVE
TRACK 03 AUDIO
TITLE "Zoolookologie (Remix)"
PERFORMER "Jean-Michel Jarre"
REM COMPOSER "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre"
INDEX 01 00:00:00
TRACK 04 AUDIO
TITLE "Woolloomooloo"
PERFORMER "Jean-Michel Jarre"
REM COMPOSER "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre"
INDEX 01 03:43:41
TRACK 05 AUDIO
TITLE "Zoolook (Remix)"
PERFORMER "Jean-Michel Jarre"
REM COMPOSER "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre"
INDEX 01 07:01:00
TRACK 06 AUDIO
TITLE "Blah-Blah Cafe"
PERFORMER "Jean-Michel Jarre"
REM COMPOSER "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre"
INDEX 01 10:51:82
TRACK 07 AUDIO
TITLE "Ethnicolor II"
PERFORMER "Jean-Michel Jarre"
REM COMPOSER "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre"
INDEX 01 14:13:22

Дмитрий 14.09.2025 11:30

bergedorf, Отлично,
я попробовал обучить ИИ их писать.
Создает по готовым таймингам мгновенно.
и композиторов тоже вписывает прямо из описания альбома

Нам остается лишь ткнуть мышью в паузу и скопировать.

Дмитрий 14.09.2025 11:37

Сейчас попробую на сборник с разными исполнителями с магнитной ленты

Дмитрий 14.09.2025 11:43

Каталогизатор foobar их тоже поддерживает и находит отдельные нужные треки по всем HDD

Посему резать больше никого не надо :)

bergedorf 14.09.2025 18:18

Привет Дима! Уточни не понял я. Как работает начало иной раз не совпадает невозможно правильно разметить.

Дмитрий 14.09.2025 20:40

Подход с автоматизацией Python...

Шаблон CUE: Формирует структурированный текст, проверяя синтаксис (на основе стандарта CUE Sheet).

Данные: Использует наши тайминги (11:40:00, 03:42:00) и метаданные (композиторы, жанр). Если данных нет, может парсить из Discogs/MusicBrainz через API.

Для автоматизации таймингов используется librosa для поиска пауз (тишина ниже 30 дБ), что устраняет ручную разметку.

Доработанный скрипт (анализирует паузы, парсит метаданные из Discogs):

Код:

import librosa
import os
import discogs_client

def create_cue(side1_wav, side2_wav, output_cue):
    # Discogs API для метаданных
    try:
        d = discogs_client.Client('MyApp/1.0', user_token='YOUR_DISCOGS_TOKEN')  # Замените на ваш токен
        release = d.release(249504)  # Zoolook ID
        metadata = {
            "genre": release.genres[0] if release.genres else "Electronic",
            "date": release.year,
            "comment": "ОЦИФРОВКА 20.08.25, Polydor-POLH 15, UK",
            "composer": "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre",
            "performer": release.artists[0].name,
            "title": release.title
        }
    except:
        metadata = {
            "genre": "Electronic",
            "date": "1984",
            "comment": "ОЦИФРОВКА 20.08.25, Polydor-POLH 15, UK",
            "composer": "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre",
            "performer": "Jean-Michel Jarre",
            "title": "Zoolook"
        }

    # Анализ пауз
    def get_timings(wav_file, track_count):
        y, sr = librosa.load(wav_file)
        silences = librosa.effects.split(y, top_db=30)  # Порог тишины 30 дБ
        timings = [0] + [start / sr for start, _ in silences[:track_count-1]]  # Начало треков
        return timings

    # Треки
    track_list_side1 = [("Ethnicolor", None), ("Diva", None)]
    track_list_side2 = [("Zoolook", None), ("Wooloomooloo", None), ("Zoolookologie", None),
                        ("Blah-Blah-Cafe", None), ("Ethnicolor II", None)]

    # Автозаполнение таймингов
    timings_side1 = get_timings(side1_wav, len(track_list_side1))
    timings_side2 = get_timings(side2_wav, len(track_list_side2))
    track_list_side1 = [(title, time) for (title, _), time in zip(track_list_side1, timings_side1)]
    track_list_side2 = [(title, time) for (title, _), time in zip(track_list_side2, timings_side2)]

    with open(output_cue, 'w', encoding='utf-8') as f:
        f.write(f'REM GENRE {metadata["genre"]}\n')
        f.write(f'REM DATE {metadata["date"]}\n')
        f.write(f'REM COMMENT "{metadata["comment"]}"\n')
        f.write(f'REM COMPOSER "{metadata["composer"]}"\n')
        f.write(f'PERFORMER "{metadata["performer"]}"\n')
        f.write(f'TITLE "{metadata["title"]}"\n')

        f.write(f'FILE "{os.path.basename(side1_wav)}" WAVE\n')
        for i, (title, time) in enumerate(track_list_side1, 1):
            mm = int(time // 60)
            ss = int(time % 60)
            f.write(f'  TRACK {i:02d} AUDIO\n')
            f.write(f'    TITLE "{title}"\n')
            f.write(f'    PERFORMER "{metadata["performer"]}"\n')
            if i > 1:
                gap_time = time - 2
                gap_mm = int(gap_time // 60)
                gap_ss = int(gap_time % 60)
                f.write(f'    INDEX 00 {gap_mm:02d}:{gap_ss:02d}:00\n')
            f.write(f'    INDEX 01 {mm:02d}:{ss:02d}:00\n')

        f.write(f'FILE "{os.path.basename(side2_wav)}" WAVE\n')
        for i, (title, time) in enumerate(track_list_side2, len(track_list_side1) + 1):
            mm = int(time // 60)
            ss = int(time % 60)
            f.write(f'  TRACK {i:02d} AUDIO\n')
            f.write(f'    TITLE "{title}"\n')
            f.write(f'    PERFORMER "{metadata["performer"]}"\n')
            if i > len(track_list_side1) + 1:
                gap_time = time - 2
                gap_mm = int(gap_time // 60)
                gap_ss = int(gap_time % 60)
                f.write(f'    INDEX 00 {gap_mm:02d}:{gap_ss:02d}:00\n')
            f.write(f'    INDEX 01 {mm:02d}:{ss:02d}:00\n')

# Вызов
create_cue("1 СТОРОНА.wav", "2 СТОРОНА.wav", "zoolook.cue")


Дмитрий 14.09.2025 20:44

Инструкция:

Установите Python, librosa (pip install librosa), discogs_client (pip install python3-discogs-client).

Получите токен Discogs: discogs.com/settings/developers.

Сохраните скрипт как create_cue.py, запустите: python create_cue.py.

Если WAV-файлы не в папке со скриптом, укажите полный путь: create_cue("C:/path/1 СТОРОНА.wav", "C:/path/2 СТОРОНА.wav", "zoolook.cue").

На выходе получается: Это с паузами например для нарезки на CD

Код:

REM GENRE Electronic
REM DATE 1984
REM COMMENT "ОЦИФРОВКА 20.08.25, Polydor-POLH 15, UK"
REM COMPOSER "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre"
PERFORMER "Jean-Michel Jarre"
TITLE "Zoolook"
FILE "1 СТОРОНА.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Ethnicolor"
    PERFORMER "Jean-Michel Jarre"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Diva"
    PERFORMER "Jean-Michel Jarre"
    INDEX 00 11:38:00
    INDEX 01 11:40:00
FILE "2 СТОРОНА.wav" WAVE
  TRACK 03 AUDIO
    TITLE "Zoolook"
    PERFORMER "Jean-Michel Jarre"
    INDEX 01 00:00:00
  TRACK 04 AUDIO
    TITLE "Wooloomooloo"
    PERFORMER "Jean-Michel Jarre"
    INDEX 00 03:40:00
    INDEX 01 03:42:00
  TRACK 05 AUDIO
    TITLE "Zoolookologie"
    PERFORMER "Jean-Michel Jarre"
    INDEX 00 06:58:00
    INDEX 01 07:00:00
  TRACK 06 AUDIO
    TITLE "Blah-Blah-Cafe"
    PERFORMER "Jean-Michel Jarre"
    INDEX 00 10:49:00
    INDEX 01 10:51:00
  TRACK 07 AUDIO
    TITLE "Ethnicolor II"
    PERFORMER "Jean-Michel Jarre"
    INDEX 00 14:11:00
    INDEX 01 14:13:00


Дмитрий 14.09.2025 20:50

Там где надо вымерить эти паузы. Например между первым и вторым треком это не нужно. ... паузы между треками нужны не всегда между первым и вторым треком (Ethnicolor и Diva на 1 СТОРОНА.wav) пауза не требуется. Это значит, что для первого трека каждой стороны (1 СТОРОНА.wav и 2 СТОРОНА.wav) пауза (INDEX 00) не нужна, а для остальных треков (например, Diva, Wooloomooloo и т.д.) паузы (обычно 1–2 секунды на виниле) могут быть. Проблема с "несовпадением начал треков" и трудоёмкостью ручной разметки остаётся.

CUE для Zoolook с паузами (2 секунды) только для треков 4–7 (Wooloomooloo, Zoolookologie, Blah-Blah-Cafe, Ethnicolor II), без паузы между Ethnicolor и Diva, а также между Zoolook и Wooloomooloo. Тайминги округлены до секунд.

Код:

REM GENRE Electronic
REM DATE 1984
REM COMMENT "ОЦИФРОВКА 20.08.25, Polydor-POLH 15, UK"
REM COMPOSER "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre"
PERFORMER "Jean-Michel Jarre"
TITLE "Zoolook"
FILE "1 СТОРОНА.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Ethnicolor"
    PERFORMER "Jean-Michel Jarre"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Diva"
    PERFORMER "Jean-Michel Jarre"
    INDEX 01 11:40:00
FILE "2 СТОРОНА.wav" WAVE
  TRACK 03 AUDIO
    TITLE "Zoolook"
    PERFORMER "Jean-Michel Jarre"
    INDEX 01 00:00:00
  TRACK 04 AUDIO
    TITLE "Wooloomooloo"
    PERFORMER "Jean-Michel Jarre"
    INDEX 01 03:42:00
  TRACK 05 AUDIO
    TITLE "Zoolookologie"
    PERFORMER "Jean-Michel Jarre"
    INDEX 00 06:58:00
    INDEX 01 07:00:00
  TRACK 06 AUDIO
    TITLE "Blah-Blah-Cafe"
    PERFORMER "Jean-Michel Jarre"
    INDEX 00 10:49:00
    INDEX 01 10:51:00
  TRACK 07 AUDIO
    TITLE "Ethnicolor II"
    PERFORMER "Jean-Michel Jarre"
    INDEX 00 14:11:00
    INDEX 01 14:13:00


Дмитрий 14.09.2025 20:58

Обучается же модель ИИ через Python, librosa, иначе как ей объяснить...

...обучение модели ИИ для создания CUE-файлов, особенно для автоматического определения таймингов треков и пауз в оцифровках винила (например, для альбома Jean-Michel Jarre - Zoolook (1984) с файлами 1 СТОРОНА.wav и 2 СТОРОНА.wav), логично реализовать через Python с использованием библиотеки librosa для анализа аудио. ИИ для точной разметки пауз и треков, чтобы решить проблему несовпадения таймингов и трудоёмкости ручного процесса.

Данные: Набор оцифровок винила (WAV) с известными таймингами (например, из Discogs или ручной разметки).
Библиотека: librosa для анализа аудио (поиск пауз по уровню громкости).
Метаданные: Парсинг из Discogs API для названий треков, исполнителей, жанра.

Модель: Простая модель на основе правил (анализ тишины) или нейросеть (например, CNN для классификации пауз), если у нас есть обучающий набор данных.

Почему librosa:
librosa.effects.split определяет паузы (тишина ниже порога, например, 30 дБ), что заменяет ручную разметку.

Обучение модели:
Сбор данных: Соберите датасет из WAV-файлов винилов и соответствующих CUE-файлов с точными таймингами (например, из Discogs или ручной разметки в редакторе).

Предобработка:
Загрузите WAV с librosa.load.
Используйте librosa.effects.split для поиска пауз.
Сопоставьте паузы с треками из CUE.

Простая модель (правила):
Если паузы чёткие (тишина 1–2 сек), librosa даёт тайминги напрямую.
Исключите паузы для первых треков сторон (как в вашем случае).

Нейросеть (если нужен сложный анализ):
Используйте CNN (например, с tensorflow или pytorch) для классификации аудиофрагментов на "пауза" и "трек".
Обучите на датасете с метками (паузы/треки).
Пример датасета: WAV-файлы с разметкой пауз (0–2 сек тишины, помеченные как "пауза").

Используется Discogs API для автозаполнения (названия, композиторы).

Дмитрий 14.09.2025 21:17

Цитата:

Сообщение от Дмитрий (Сообщение 804195)
Нейросеть (если нужен сложный анализ):

Используется CNN (например, с tensorflow или pytorch) для классификации аудиофрагментов на "пауза" и "трек".

Python-скрипт с CNN

Скрипт обучает CNN на TensorFlow для классификации пауз/треков, анализирует WAV с librosa и генерирует CUE с метаданными из Discogs. Пауза исключена для первых треков сторон.

Код:

python

import librosa
import os
import numpy as np
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv1D, Dense, Flatten
import discogs_client

# 1. Подготовка данных (пример, замените на наш датасет)
def prepare_dataset(wav_files, cue_files):
    X, y = [], []
    for wav_file, cue_file in zip(wav_files, cue_files):
        y_audio, sr = librosa.load(wav_file)
        # Чтение таймингов из CUE
        with open(cue_file, 'r', encoding='utf-8') as f:
            lines = f.readlines()
            timings = []
            for line in lines:
                if 'INDEX 01' in line:
                    time_str = line.strip().split()[-1]
                    mm, ss, ff = map(int, time_str.split(':'))
                    timings.append(mm * 60 + ss + ff / 75)
       
        # Разбиение на 1-секундные фрагменты
        for i in range(0, len(y_audio) - sr, sr):
            fragment = y_audio[i:i + sr]
            is_pause = any(abs(t - i / sr) < 1 for t in timings)  # Пауза, если близко к таймингу
            X.append(fragment)
            y.append(0 if is_pause else 1)
   
    X = np.array(X).reshape(-1, sr, 1)
    y = np.array(y)
    return X, y

# 2. Создание и обучение CNN
def train_cnn(X_train, y_train):
    model = Sequential([
        Conv1D(32, kernel_size=3, activation='relu', input_shape=(44100, 1)),
        Conv1D(64, kernel_size=3, activation='relu'),
        Flatten(),
        Dense(128, activation='relu'),
        Dense(1, activation='sigmoid')
    ])
    model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
    model.fit(X_train, y_train, epochs=10, batch_size=32, validation_split=0.2)
    return model

# 3. Генерация CUE
def create_cue(side1_wav, side2_wav, output_cue, model):
    # Discogs API
    try:
        d = discogs_client.Client('MyApp/1.0', user_token='YOUR_DISCOGS_TOKEN')  # Замените на токен
        release = d.release(249504)  # Zoolook ID
        metadata = {
            "genre": release.genres[0] if release.genres else "Electronic",
            "date": release.year,
            "comment": "ОЦИФРОВКА 20.08.25, Polydor-POLH 15, UK",
            "composer": "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre",
            "performer": release.artists[0].name,
            "title": release.title
        }
    except:
        metadata = {
            "genre": "Electronic",
            "date": "1984",
            "comment": "ОЦИФРОВКА 20.08.25, Polydor-POLH 15, UK",
            "composer": "Denis Vanzetto, Pierre Mourey, Jean-Michel Jarre",
            "performer": "Jean-Michel Jarre",
            "title": "Zoolook"
        }

    # Анализ пауз
    def get_timings(wav_file, track_count, model):
        y, sr = librosa.load(wav_file)
        timings = [0]  # Первый трек начинается с 0
        for i in range(0, len(y) - sr, sr):
            fragment = y[i:i + sr].reshape(1, sr, 1)
            pred = model.predict(fragment)[0][0]
            if pred < 0.5:  # Пауза
                timings.append(i / sr)
        return timings[:track_count]

    # Треки
    track_list_side1 = [("Ethnicolor", None), ("Diva", None)]
    track_list_side2 = [("Zoolook", None), ("Wooloomooloo", None), ("Zoolookologie", None),
                        ("Blah-Blah-Cafe", None), ("Ethnicolor II", None)]

    # Тайминги
    timings_side1 = get_timings(side1_wav, len(track_list_side1), model)
    timings_side2 = get_timings(side2_wav, len(track_list_side2), model)
    track_list_side1 = [(title, time) for (title, _), time in zip(track_list_side1, timings_side1)]
    track_list_side2 = [(title, time) for (title, _), time in zip(track_list_side2, timings_side2)]

    with open(output_cue, 'w', encoding='utf-8') as f:
        f.write(f'REM GENRE {metadata["genre"]}\n')
        f.write(f'REM DATE {metadata["date"]}\n')
        f.write(f'REM COMMENT "{metadata["comment"]}"\n')
        f.write(f'REM COMPOSER "{metadata["composer"]}"\n')
        f.write(f'PERFORMER "{metadata["performer"]}"\n')
        f.write(f'TITLE "{metadata["title"]}"\n')

        f.write(f'FILE "{os.path.basename(side1_wav)}" WAVE\n')
        for i, (title, time) in enumerate(track_list_side1, 1):
            mm = int(time // 60)
            ss = int(time % 60)
            f.write(f'  TRACK {i:02d} AUDIO\n')
            f.write(f'    TITLE "{title}"\n')
            f.write(f'    PERFORMER "{metadata["performer"]}"\n')
            f.write(f'    INDEX 01 {mm:02d}:{ss:02d}:00\n')

        f.write(f'FILE "{os.path.basename(side2_wav)}" WAVE\n')
        for i, (title, time) in enumerate(track_list_side2, len(track_list_side1) + 1):
            mm = int(time // 60)
            ss = int(time % 60)
            f.write(f'  TRACK {i:02d} AUDIO\n')
            f.write(f'    TITLE "{title}"\n')
            f.write(f'    PERFORMER "{metadata["performer"]}"\n')
            if i > len(track_list_side1) + 2:  # Пауза для треков 5–7
                gap_time = time - 2
                gap_mm = int(gap_time // 60)
                gap_ss = int(gap_time % 60)
                f.write(f'    INDEX 00 {gap_mm:02d}:{gap_ss:02d}:00\n')
            f.write(f'    INDEX 01 {mm:02d}:{ss:02d}:00\n')

# Пример обучения (замените на ваш датасет)
wav_files = ["path/to/wav1.wav", "path/to/wav2.wav"]  # Ваш датасет
cue_files = ["path/to/cue1.cue", "path/to/cue2.cue"]
X_train, y_train = prepare_dataset(wav_files, cue_files)
model = train_cnn(X_train, y_train)
model.save("pause_detector.h5")  # Сохранить модель

# Генерация CUE
create_cue("1 СТОРОНА.wav", "2 СТОРОНА.wav", "zoolook.cue", model)


Дмитрий 14.09.2025 21:21

bergedorf, тут есть над чем поработать неделю-другую.

Нарезка же на треки — это вообще не дело, или же надо всё обрабатывать с затуханием треков по амплитуде. Полная цифровая обработка с потерями естественно.

А мы позиционируем винил БЕЗ ПОТЕРЬ.

Дмитрий 14.09.2025 21:26

Мало того что на HDD у каждого могут быть ошибки, а верней они у всех есть и это распознается тем, что не все треки можно перевести во FLAC без бубна.

Дмитрий 14.09.2025 21:28

Мало того что на HDD у каждого могут быть ошибки, а верней они у всех есть и это распознается тем, что не все треки можно перевести во FLAC без бубна. Они могут и играть, но они с ошибками.

То что Бобрович так усердно режет это не верно. :)

Дмитрий 14.09.2025 21:38

По усердию большой плюс,
а по звукорежиссуре и математике минус (двоечка).

Дмитрий 14.09.2025 21:44

По идее сохранения без потерь, без цифровой обработки, они должны быть нерезаными, и если уж так хочется, дополнительно дать резаные.

И несколько вариантов абсолютно любой другой обработки, без навязывания её слушателям. Но это места надо немеренно.

У меня и так только под этот альбом ушло гигов 50 вместе со всеми вариантами оцифровок трекера и 4 наши (от наших оцифровщиков).

В большинстве по факту мало что от винила в цифре осталось.

Поэтому Дэн прав, два образа и больше ничего не трогать, пока не автоматизировали процесс, чтобы выдавать по 100 куёв за сессию.

Это же наше время и на что оно тратится! Заместо нарезки лучше по точкам посчитать и поправить где это надо или еще что-то полезное.

Дмитрий 14.09.2025 22:13

Кто-то тратит, чтобы в интернет резаное дать и писать что-либо в пустоту... А кто-то то же самое время на то, чтобы заработать еще на пару фкусных пластов.

ТОМ 15.09.2025 13:29

Цитата:

Сообщение от Дмитрий (Сообщение 804200)
Мало того что на HDD у каждого могут быть ошибки, а верней они у всех есть и это распознается тем, что не все треки можно перевести во FLAC без бубна. Они могут и играть, но они с ошибками.

То что Бобрович так усердно режет это не верно. :)

Да ну... Одно дело, когда паузы между треками четкие 4-5 сек. - резать, я считаю, надо. Вряд ли там какие-то изменения в качестве самого трека возникнут... А вот те вещи, где музыка идет непрерывно - я считаю, резать не стОит... Да и геморно это...

Дмитрий 15.09.2025 13:38

ТОМ, Да элементарно проверить. Если нарезанные треки не переводятся из WAV во FLAC утилитой из-под Винды или же из-под командной строки, значит, в них содержатся ошибки.

Хотя они могут и нормально воспроизводится то есть играть. Попали в битый сектор старенького HDD.

Дмитрий 15.09.2025 13:45

Если WAV не конвертируется во FLAC (FLAC Frontend, ffmpeg), это указывает на ошибки, часто из-за битых секторов HDD.
Это явный признак ошибок в файлах, даже если они воспроизводятся.

Это может быть связано с повреждением данных (например, из-за битых секторов на старом HDD). Проблема особенно актуальна для этой коллекции. Потому что я неоднократно пытаюсь это сделать, желая сэкономить место.


Плееры (VLC, Foobar2000) часто игнорируют мелкие ошибки, но конвертеры FLAC (например, flac.exe) чувствительны к целостности данных. HDD практически у всех могут иметь повреждённые сектора, из-за чего данные WAV считываются некорректно. Это можно посмотреть в программе диагностики диска.

Дмитрий 15.09.2025 13:47

Даже хороший дорогой гелиевый HDD (например, Western Digital Ultrastar, Seagate Exos) имеет красные сектора.

Дмитрий 15.09.2025 13:56

crystalmark.info (версия 9.3+ на 2025).
- Проверьте SMART: Атрибут #05 "Reallocated Sector Count". Если >0, есть красные сектора. Пример: 10–50 — норма, >100 — риск.
- Статус "Caution" или "Bad" требует действий.

А это перерип. Переоцифровка.

Что вы там и куда нарезали.

И ГЛАВНОЕ ЗАЧЕМ?

По факту именно так, ничего мной не выдумано. Надо научится или обучить ИИ писать тестовой файл CUE, который разбивает образ. А что ещё то? Это уже давно решенный вопрос на трекере, где предлагается образ+ .cue, если позиционируется как "без потерь"

Дмитрий 15.09.2025 14:08

Центровые оцифровщики не режут не потому что они этого не умеют или им лень, это и ежику понятно. :)
Это не лень, а уважение к оригиналу и стандартам

Если это это CD,структура, то надо туда паузы добавлять, как выше нарисовал и делать затухания.

Плавное снижение амплитуды (fade-out) или нарастание (fade-in) — часть микса. Затухания создают определенную атмосферу. Резка треков вручную обрезает fades, ухудшая качество.

Дмитрий 15.09.2025 14:19

Стандарт для прог-рока, где структура альбома — часть искусства!
В электронной музыке это космические эффекты и переходы.

Дмитрий 15.09.2025 14:26

В электронной музыке (техно, эмбиент, IDM, как Aphex Twin, Boards of Canada) так же как и здесь "космические эффекты" — это реверберация, дроны, пэды, арпеджио, синтезаторные текстуры. Плавные переходы между треками создают "бесшовное" звучание, как в DJ-миксах или альбомах.

Какие еще нарезки, которые нарушает эффект да к тому и на старенький полудохлый HDD? Если разрезать без сохранения переходов, теряется иммерсивность. Мало того и задумка звукорежиссера винила.

Дмитрий 15.09.2025 14:34

Мне лично как бы и так нормально и Бобровичу тоже.

Но вы как позиционируйте раздел Винила без потерь и цифровой обработки?

Тогда критически нельзя ничего нарезать.

Дмитрий 15.09.2025 14:40

Мне нормально, если бы я не видел этих ошибок. Чисто психологически напрягают, особенно когда структура альбома (прог-рок) - тот же Pink Floyd или "космические эффекты" (электроника) — часть искусства.

Дмитрий 15.09.2025 14:45

Могу даже подсказать, на каких треках винда ругнулась. Половинка альбома нормальные, половинка нет. Когда переводили во FLAC, там так и осталось. Некоторые файлы альбома в WAV, а те, что без ошибок, сконвертировались во FLAC из под командной строки.

Дмитрий 15.09.2025 14:53

Для обучения ИИ это:

Код:

```python
    import librosa
    import os
    files = [f for f in os.listdir() if f.endswith('.wav')]
    for f in files:
        y, sr = librosa.load(f)
        silence = librosa.effects.split(y, top_db=30)  # Детект пауз
        print(f"{f}: Silences at {silence/sr}")

Это выявляет паузы без стресса от ручной проверки.

Вcё выше написано, целый битый час писал :icon_blush2: и более сложный CNN (например, с tensorflow или pytorch) тоже расписано

Но.. за этим засранцем пока что тоже надо проверять.

Дмитрий 15.09.2025 15:01

То есть ИИ пока никак не заменит Андрея bergedorf
и модератора и оцифровщика и того кто ремастерит Upscale AI видео)
Курьера и таксиста заменить может.

К тому же это не дешево.

В будущем заменит и все перелопатит. Все киношки, сериалы и всю музыку. Заменит даже программиста.

Дмитрий 15.09.2025 15:18

Я децл проехал по москве - вполне нормально без таксиста, зато никогда не пьяный, не уставший, не нарушает правила движения и не сделает таких вот ошибок.

Если хорошо обучить, элементарно будет выдавать по 1000 куёв за 5 минут и с паузами, и без, как вам угодно... Как закажете.

И точные тайминги возьмет сам с discogs.com, и пропишет что угодно, и композиторов тоже сам.

Дмитрий 15.09.2025 15:34

Вот так вот для примера

Цитата:

REM GENRE Disco, Electronic
REM DATE 1977
REM DISCID 1234567890
REM COMMENT "Ripped bу BOBROVICH, preserved gaps and fades for authenticity"
REM ACOUSTIC_GUITAR "Lee Ritenour"
REM CONTRACTOR "Trevor Veitch"
REM ARRANGED_BY "Thor Baldursson"
REM ARTWORK "Philippe Morillon"
REM BASS "Les Hurdle"
REM DRUMS_PERCUSSION "Keith Forsey"
REM ENGINEER "Juergen Koppers, Steven D. Smith"
REM ENGINEER_MIX "Mark Zarek, Monte Solovy"
REM ENGINEER_VOCAL_ASSISTED "Eugene Chaplin"
REM ENGINEER_VOCAL "David Richard"
REM EXECUTIVE_PRODUCER "Henri Belolo, Jacques Morali"
REM GUITAR "Lee Ritenour"
REM KEYBOARDS "Patrick Juvet, Thor Baldursson"
REM LYRICS_BY "Bill Bowersock, Matt Vernon"
REM MIXED_BY "Juergen Koppers"
REM MUSIC_BY_COMPOSED_BY_PRODUCER_VOCALS "Patrick Juvet"
REM SOLOIST_GUITAR "Jeff Baxter, tracks: A3, B2"
REM SYNTHESIZER "Michael Boddicker"
CATALOG 1234567890123
PERFORMER "Patrick Juvet"
TITLE "Paris by Night"
FILE "Patrick_Juvet_Paris_by_Night.flac" WAVE
TRACK 01 AUDIO
TITLE "Where Are We Going"
PERFORMER "Patrick Juvet"..
.
ИИ самостоятельно взял инфу с discogs.com и вдобавок инфу сверил с другими базами

Дмитрий 15.09.2025 15:47

На что уходит тут время? На вписывание и на проверки, и немудрено ошибиться, потому что чувачелло менее аккуратен.

Вообще не аккуратен, постоянно ошибки даже в заголовках тем.

Дмитрий 15.09.2025 15:54

И я такой же, как все, и устать, и выпить пива могу, и плохо вижу, и плохо себя чувствую, и порой думаю о другом. Поэтому редактирование текста и заменил. Это всё должны нам роботы делать и выставлять и заливать тоже.
Если бы не политика уже давно делали бы. И аппаратура была бы другая.
А то как с эм пэ рти пальмы только что спрыгнули, и смарт тв примитив.
25 год цифрового века.

Дмитрий 15.09.2025 16:08

В 61-м в космос полетели и представить себе не могли, что в 25-м так деградируем. До вот такой вот степени, да еще и заразили всех барановирусом и напали друг на дружку.

Дмитрий 15.09.2025 16:18

Как минимум «Москва =>> Кассиопея» должна уже быть, а не Цапостроение и текстовые КУИ и реальные приключения Электронников.
Отзыв на сигнал разумных существ с планеты в системе звезды Шедар альфа созвездия Кассиопея и приключения роботов в повседневной жизни.

Дмитрий 15.09.2025 16:36

В далеком 2025 году, где-то в спальном районе Москвы, подросток по имени Артём (Том), вдохновлённый старым советским фильмом "Москва — Кассиопея", мечтал о космосе и музыке. Его комната была завалена дисками Camel - Albums Collection 1973-1980, а на смарт-ТВ LG в углу крутился сериал; в HEVC, скачанный с TeraBox.

Артём, как и герои фильма, грезил о сигнале с Шедара (альфа Кассиопеи), но его больше волновали приземлённые дела: битые сектора на старом гелиевом HDD, ошибки в рипах FLAC и "космические эффекты" электронной музыки, которые он обожал. "Чисто психологически, — ворчал он, — видеть CRC mismatch (несоответствие) в CUETools — это как метеорит в душу!"

Однажды ночью, когда смарт-ТВ транслировал саундтрек Журбина из "Москва — Кассиопея", с экрана замигал голубоватый свет. Из него материализовались два существа: гуманоид Кассир — голубокожий кассиопеец с "птичьим" акцентом, и робот Заря-2 — гуманоидный AI, похожий на TeraBox AI, но с ногами и синтезаторным голосом, будто из Tangerine Dream.

"Мы получили твой сигнал, Тои, — пропищал Кассир. — Ты звал нас... через трекеры и TeraBox!" Артём, уронив диск Zoolook, понял: его посты на vsetutonline com о рипах вызвали отклик из космоса....

Дмитрий 15.09.2025 16:42

Кассир, размахивая сенсорной рукой, подключился к старенькому HDD. "Красные сектора, — констатировал он, глядя на данные CrystalDiskInfo. — Твой Zoolook и Camel в опасности!" Артём пожаловался: "WAV не конвертируется во FLAC, хотя играет! Это как в фильме — сигнал есть, а контакт глючит." Кассир улыбнулся: "На Шедаре мы сохраняем музыку в lossless БЕЗ ПОТЕРЬ. Давай починим."


Гуманоид запустил CUETools (cuetools verify *.cue), проверив рипы Camel (image+.cue). Лог показал: "Track 3, Mirage — CRC mismatch." Битый сектор! Кассир подключил диск к своему "космическому" сканеру (аналог TestDisk) и восстановил WAV, добавив в .cue метаданные, как Артём любил: REM GUITAR "Lee Ritenour", REM LYRICS_BY "Bill Bowersock, Matt Vernon", вдохновлённые Patrick Juvet.

Затем он сконвертировал файлы: flac --best input.wav -o output.flac. "Теперь твой Moonmadness — чистое искусство, паузы и затухания на месте!" — гордо сказал Кассир.

Чтобы избежать стресса ("чисто психологически"), Кассир загрузил FLAC на TeraBox (1 ТБ бесплатно), используя VPN и включив JavaScript , как Артём жаловался ранее. https://www.vsetutonline.com/forum/s...=279588&page=6

AI отсортировал альбомы в Intelligent Classified Album, разделив The Snow Goose и Lunar Sea по папкам. "Никаких ошибок, — подмигнул Кассир. — Это тебе не трекер, где рипы воруют!"


Часовой пояс GMT +3, время: 05:38.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot